avformat/mpeg: demux ivtv captions
[ffmpeg.git] / libavcodec / profiles.c
blob3cef82be3bb72373263737c9bcd9466a00684628
1 /*
2 * This file is part of FFmpeg.
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 #include "config.h"
21 #include "codec.h"
22 #include "defs.h"
23 #include "profiles.h"
25 #if !CONFIG_SMALL
27 const AVProfile ff_aac_profiles[] = {
28 { AV_PROFILE_AAC_LOW, "LC" },
29 { AV_PROFILE_AAC_HE, "HE-AAC" },
30 { AV_PROFILE_AAC_HE_V2, "HE-AACv2" },
31 { AV_PROFILE_AAC_LD, "LD" },
32 { AV_PROFILE_AAC_ELD, "ELD" },
33 { AV_PROFILE_AAC_MAIN, "Main" },
34 { AV_PROFILE_AAC_SSR, "SSR" },
35 { AV_PROFILE_AAC_LTP, "LTP" },
36 { AV_PROFILE_AAC_USAC, "xHE-AAC" },
37 { AV_PROFILE_UNKNOWN },
40 const AVProfile ff_dca_profiles[] = {
41 { AV_PROFILE_DTS, "DTS" },
42 { AV_PROFILE_DTS_ES, "DTS-ES" },
43 { AV_PROFILE_DTS_96_24, "DTS 96/24" },
44 { AV_PROFILE_DTS_HD_HRA, "DTS-HD HRA" },
45 { AV_PROFILE_DTS_HD_MA, "DTS-HD MA" },
46 { AV_PROFILE_DTS_HD_MA_X, "DTS-HD MA + DTS:X" },
47 { AV_PROFILE_DTS_HD_MA_X_IMAX, "DTS-HD MA + DTS:X IMAX" },
48 { AV_PROFILE_DTS_EXPRESS, "DTS Express" },
49 { AV_PROFILE_UNKNOWN },
52 const AVProfile ff_eac3_profiles[] = {
53 { AV_PROFILE_EAC3_DDP_ATMOS, "Dolby Digital Plus + Dolby Atmos"},
54 { AV_PROFILE_UNKNOWN },
57 const AVProfile ff_truehd_profiles[] = {
58 { AV_PROFILE_TRUEHD_ATMOS, "Dolby TrueHD + Dolby Atmos"},
59 { AV_PROFILE_UNKNOWN },
62 const AVProfile ff_dnxhd_profiles[] = {
63 { AV_PROFILE_DNXHD, "DNXHD"},
64 { AV_PROFILE_DNXHR_LB, "DNXHR LB"},
65 { AV_PROFILE_DNXHR_SQ, "DNXHR SQ"},
66 { AV_PROFILE_DNXHR_HQ, "DNXHR HQ" },
67 { AV_PROFILE_DNXHR_HQX, "DNXHR HQX"},
68 { AV_PROFILE_DNXHR_444, "DNXHR 444"},
69 { AV_PROFILE_UNKNOWN },
72 const AVProfile ff_h264_profiles[] = {
73 { AV_PROFILE_H264_BASELINE, "Baseline" },
74 { AV_PROFILE_H264_CONSTRAINED_BASELINE, "Constrained Baseline" },
75 { AV_PROFILE_H264_MAIN, "Main" },
76 { AV_PROFILE_H264_EXTENDED, "Extended" },
77 { AV_PROFILE_H264_HIGH, "High" },
78 { AV_PROFILE_H264_HIGH_10, "High 10" },
79 { AV_PROFILE_H264_HIGH_10_INTRA, "High 10 Intra" },
80 { AV_PROFILE_H264_HIGH_422, "High 4:2:2" },
81 { AV_PROFILE_H264_HIGH_422_INTRA, "High 4:2:2 Intra" },
82 { AV_PROFILE_H264_HIGH_444, "High 4:4:4" },
83 { AV_PROFILE_H264_HIGH_444_PREDICTIVE, "High 4:4:4 Predictive" },
84 { AV_PROFILE_H264_HIGH_444_INTRA, "High 4:4:4 Intra" },
85 { AV_PROFILE_H264_CAVLC_444, "CAVLC 4:4:4" },
86 { AV_PROFILE_H264_MULTIVIEW_HIGH, "Multiview High" },
87 { AV_PROFILE_H264_STEREO_HIGH, "Stereo High" },
88 { AV_PROFILE_UNKNOWN },
91 const AVProfile ff_vvc_profiles[] = {
92 { AV_PROFILE_VVC_MAIN_10, "Main 10" },
93 { AV_PROFILE_VVC_MAIN_10_444, "Main 10 4:4:4" },
94 { AV_PROFILE_UNKNOWN },
97 const AVProfile ff_hevc_profiles[] = {
98 { AV_PROFILE_HEVC_MAIN, "Main" },
99 { AV_PROFILE_HEVC_MAIN_10, "Main 10" },
100 { AV_PROFILE_HEVC_MAIN_STILL_PICTURE, "Main Still Picture" },
101 { AV_PROFILE_HEVC_REXT, "Rext" },
102 { AV_PROFILE_HEVC_MULTIVIEW_MAIN, "Multiview Main" },
103 { AV_PROFILE_HEVC_SCC, "Scc" },
104 { AV_PROFILE_UNKNOWN },
107 const AVProfile ff_jpeg2000_profiles[] = {
108 { AV_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0, "JPEG 2000 codestream restriction 0" },
109 { AV_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1, "JPEG 2000 codestream restriction 1" },
110 { AV_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION, "JPEG 2000 no codestream restrictions" },
111 { AV_PROFILE_JPEG2000_DCINEMA_2K, "JPEG 2000 digital cinema 2K" },
112 { AV_PROFILE_JPEG2000_DCINEMA_4K, "JPEG 2000 digital cinema 4K" },
113 { AV_PROFILE_UNKNOWN },
116 const AVProfile ff_mpeg2_video_profiles[] = {
117 { AV_PROFILE_MPEG2_422, "4:2:2" },
118 { AV_PROFILE_MPEG2_HIGH, "High" },
119 { AV_PROFILE_MPEG2_SS, "Spatially Scalable" },
120 { AV_PROFILE_MPEG2_SNR_SCALABLE, "SNR Scalable" },
121 { AV_PROFILE_MPEG2_MAIN, "Main" },
122 { AV_PROFILE_MPEG2_SIMPLE, "Simple" },
123 { AV_PROFILE_RESERVED, "Reserved" },
124 { AV_PROFILE_UNKNOWN },
127 const AVProfile ff_mpeg4_video_profiles[] = {
128 { AV_PROFILE_MPEG4_SIMPLE, "Simple Profile" },
129 { AV_PROFILE_MPEG4_SIMPLE_SCALABLE, "Simple Scalable Profile" },
130 { AV_PROFILE_MPEG4_CORE, "Core Profile" },
131 { AV_PROFILE_MPEG4_MAIN, "Main Profile" },
132 { AV_PROFILE_MPEG4_N_BIT, "N-bit Profile" },
133 { AV_PROFILE_MPEG4_SCALABLE_TEXTURE, "Scalable Texture Profile" },
134 { AV_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION, "Simple Face Animation Profile" },
135 { AV_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE, "Basic Animated Texture Profile" },
136 { AV_PROFILE_MPEG4_HYBRID, "Hybrid Profile" },
137 { AV_PROFILE_MPEG4_ADVANCED_REAL_TIME, "Advanced Real Time Simple Profile" },
138 { AV_PROFILE_MPEG4_CORE_SCALABLE, "Code Scalable Profile" },
139 { AV_PROFILE_MPEG4_ADVANCED_CODING, "Advanced Coding Profile" },
140 { AV_PROFILE_MPEG4_ADVANCED_CORE, "Advanced Core Profile" },
141 { AV_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE, "Advanced Scalable Texture Profile" },
142 { AV_PROFILE_MPEG4_SIMPLE_STUDIO, "Simple Studio Profile" },
143 { AV_PROFILE_MPEG4_ADVANCED_SIMPLE, "Advanced Simple Profile" },
144 { AV_PROFILE_UNKNOWN },
147 const AVProfile ff_vc1_profiles[] = {
148 { AV_PROFILE_VC1_SIMPLE, "Simple" },
149 { AV_PROFILE_VC1_MAIN, "Main" },
150 { AV_PROFILE_VC1_COMPLEX, "Complex" },
151 { AV_PROFILE_VC1_ADVANCED, "Advanced" },
152 { AV_PROFILE_UNKNOWN },
155 const AVProfile ff_vp9_profiles[] = {
156 { AV_PROFILE_VP9_0, "Profile 0" },
157 { AV_PROFILE_VP9_1, "Profile 1" },
158 { AV_PROFILE_VP9_2, "Profile 2" },
159 { AV_PROFILE_VP9_3, "Profile 3" },
160 { AV_PROFILE_UNKNOWN },
163 const AVProfile ff_av1_profiles[] = {
164 { AV_PROFILE_AV1_MAIN, "Main" },
165 { AV_PROFILE_AV1_HIGH, "High" },
166 { AV_PROFILE_AV1_PROFESSIONAL, "Professional" },
167 { AV_PROFILE_UNKNOWN },
170 const AVProfile ff_sbc_profiles[] = {
171 { AV_PROFILE_SBC_MSBC, "mSBC" },
172 { AV_PROFILE_UNKNOWN },
175 const AVProfile ff_prores_profiles[] = {
176 { AV_PROFILE_PRORES_PROXY, "Proxy" },
177 { AV_PROFILE_PRORES_LT, "LT" },
178 { AV_PROFILE_PRORES_STANDARD, "Standard" },
179 { AV_PROFILE_PRORES_HQ, "HQ" },
180 { AV_PROFILE_PRORES_4444, "4444" },
181 { AV_PROFILE_PRORES_XQ, "XQ" },
182 { AV_PROFILE_UNKNOWN }
185 const AVProfile ff_mjpeg_profiles[] = {
186 { AV_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT, "Baseline" },
187 { AV_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT, "Sequential" },
188 { AV_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT, "Progressive" },
189 { AV_PROFILE_MJPEG_HUFFMAN_LOSSLESS, "Lossless" },
190 { AV_PROFILE_MJPEG_JPEG_LS, "JPEG LS" },
191 { AV_PROFILE_UNKNOWN }
194 const AVProfile ff_arib_caption_profiles[] = {
195 { AV_PROFILE_ARIB_PROFILE_A, "Profile A" },
196 { AV_PROFILE_ARIB_PROFILE_C, "Profile C" },
197 { AV_PROFILE_UNKNOWN }
200 const AVProfile ff_evc_profiles[] = {
201 { AV_PROFILE_EVC_BASELINE, "Baseline" },
202 { AV_PROFILE_EVC_MAIN, "Main" },
203 { AV_PROFILE_UNKNOWN },
206 #endif /* !CONFIG_SMALL */