1 | /* |
2 | * Codec IDs |
3 | * |
4 | * This file is part of FFmpeg. |
5 | * |
6 | * FFmpeg is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU Lesser General Public |
8 | * License as published by the Free Software Foundation; either |
9 | * version 2.1 of the License, or (at your option) any later version. |
10 | * |
11 | * FFmpeg is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | * Lesser General Public License for more details. |
15 | * |
16 | * You should have received a copy of the GNU Lesser General Public |
17 | * License along with FFmpeg; if not, write to the Free Software |
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
19 | */ |
20 | |
21 | #ifndef AVCODEC_CODEC_ID_H |
22 | #define AVCODEC_CODEC_ID_H |
23 | |
24 | #include "libavutil/avutil.h" |
25 | #include "libavutil/samplefmt.h" |
26 | |
27 | #include "version_major.h" |
28 | |
29 | /** |
30 | * @addtogroup lavc_core |
31 | * @{ |
32 | */ |
33 | |
34 | /** |
35 | * Identify the syntax and semantics of the bitstream. |
36 | * The principle is roughly: |
37 | * Two decoders with the same ID can decode the same streams. |
38 | * Two encoders with the same ID can encode compatible streams. |
39 | * There may be slight deviations from the principle due to implementation |
40 | * details. |
41 | * |
42 | * If you add a codec ID to this list, add it so that |
43 | * 1. no value of an existing codec ID changes (that would break ABI), |
44 | * 2. it is as close as possible to similar codecs |
45 | * |
46 | * After adding new codec IDs, do not forget to add an entry to the codec |
47 | * descriptor list and bump libavcodec minor version. |
48 | */ |
49 | enum AVCodecID { |
50 | AV_CODEC_ID_NONE, |
51 | |
52 | /* video codecs */ |
53 | AV_CODEC_ID_MPEG1VIDEO, |
54 | AV_CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding |
55 | AV_CODEC_ID_H261, |
56 | AV_CODEC_ID_H263, |
57 | AV_CODEC_ID_RV10, |
58 | AV_CODEC_ID_RV20, |
59 | AV_CODEC_ID_MJPEG, |
60 | AV_CODEC_ID_MJPEGB, |
61 | AV_CODEC_ID_LJPEG, |
62 | AV_CODEC_ID_SP5X, |
63 | AV_CODEC_ID_JPEGLS, |
64 | AV_CODEC_ID_MPEG4, |
65 | AV_CODEC_ID_RAWVIDEO, |
66 | AV_CODEC_ID_MSMPEG4V1, |
67 | AV_CODEC_ID_MSMPEG4V2, |
68 | AV_CODEC_ID_MSMPEG4V3, |
69 | AV_CODEC_ID_WMV1, |
70 | AV_CODEC_ID_WMV2, |
71 | AV_CODEC_ID_H263P, |
72 | AV_CODEC_ID_H263I, |
73 | AV_CODEC_ID_FLV1, |
74 | AV_CODEC_ID_SVQ1, |
75 | AV_CODEC_ID_SVQ3, |
76 | AV_CODEC_ID_DVVIDEO, |
77 | AV_CODEC_ID_HUFFYUV, |
78 | AV_CODEC_ID_CYUV, |
79 | AV_CODEC_ID_H264, |
80 | AV_CODEC_ID_INDEO3, |
81 | AV_CODEC_ID_VP3, |
82 | AV_CODEC_ID_THEORA, |
83 | AV_CODEC_ID_ASV1, |
84 | AV_CODEC_ID_ASV2, |
85 | AV_CODEC_ID_FFV1, |
86 | AV_CODEC_ID_4XM, |
87 | AV_CODEC_ID_VCR1, |
88 | AV_CODEC_ID_CLJR, |
89 | AV_CODEC_ID_MDEC, |
90 | AV_CODEC_ID_ROQ, |
91 | AV_CODEC_ID_INTERPLAY_VIDEO, |
92 | AV_CODEC_ID_XAN_WC3, |
93 | AV_CODEC_ID_XAN_WC4, |
94 | AV_CODEC_ID_RPZA, |
95 | AV_CODEC_ID_CINEPAK, |
96 | AV_CODEC_ID_WS_VQA, |
97 | AV_CODEC_ID_MSRLE, |
98 | AV_CODEC_ID_MSVIDEO1, |
99 | AV_CODEC_ID_IDCIN, |
100 | AV_CODEC_ID_8BPS, |
101 | AV_CODEC_ID_SMC, |
102 | AV_CODEC_ID_FLIC, |
103 | AV_CODEC_ID_TRUEMOTION1, |
104 | AV_CODEC_ID_VMDVIDEO, |
105 | AV_CODEC_ID_MSZH, |
106 | AV_CODEC_ID_ZLIB, |
107 | AV_CODEC_ID_QTRLE, |
108 | AV_CODEC_ID_TSCC, |
109 | AV_CODEC_ID_ULTI, |
110 | AV_CODEC_ID_QDRAW, |
111 | AV_CODEC_ID_VIXL, |
112 | AV_CODEC_ID_QPEG, |
113 | AV_CODEC_ID_PNG, |
114 | AV_CODEC_ID_PPM, |
115 | AV_CODEC_ID_PBM, |
116 | AV_CODEC_ID_PGM, |
117 | AV_CODEC_ID_PGMYUV, |
118 | AV_CODEC_ID_PAM, |
119 | AV_CODEC_ID_FFVHUFF, |
120 | AV_CODEC_ID_RV30, |
121 | AV_CODEC_ID_RV40, |
122 | AV_CODEC_ID_VC1, |
123 | AV_CODEC_ID_WMV3, |
124 | AV_CODEC_ID_LOCO, |
125 | AV_CODEC_ID_WNV1, |
126 | AV_CODEC_ID_AASC, |
127 | AV_CODEC_ID_INDEO2, |
128 | AV_CODEC_ID_FRAPS, |
129 | AV_CODEC_ID_TRUEMOTION2, |
130 | AV_CODEC_ID_BMP, |
131 | AV_CODEC_ID_CSCD, |
132 | AV_CODEC_ID_MMVIDEO, |
133 | AV_CODEC_ID_ZMBV, |
134 | AV_CODEC_ID_AVS, |
135 | AV_CODEC_ID_SMACKVIDEO, |
136 | AV_CODEC_ID_NUV, |
137 | AV_CODEC_ID_KMVC, |
138 | AV_CODEC_ID_FLASHSV, |
139 | AV_CODEC_ID_CAVS, |
140 | AV_CODEC_ID_JPEG2000, |
141 | AV_CODEC_ID_VMNC, |
142 | AV_CODEC_ID_VP5, |
143 | AV_CODEC_ID_VP6, |
144 | AV_CODEC_ID_VP6F, |
145 | AV_CODEC_ID_TARGA, |
146 | AV_CODEC_ID_DSICINVIDEO, |
147 | AV_CODEC_ID_TIERTEXSEQVIDEO, |
148 | AV_CODEC_ID_TIFF, |
149 | AV_CODEC_ID_GIF, |
150 | AV_CODEC_ID_DXA, |
151 | AV_CODEC_ID_DNXHD, |
152 | AV_CODEC_ID_THP, |
153 | AV_CODEC_ID_SGI, |
154 | AV_CODEC_ID_C93, |
155 | AV_CODEC_ID_BETHSOFTVID, |
156 | AV_CODEC_ID_PTX, |
157 | AV_CODEC_ID_TXD, |
158 | AV_CODEC_ID_VP6A, |
159 | AV_CODEC_ID_AMV, |
160 | AV_CODEC_ID_VB, |
161 | AV_CODEC_ID_PCX, |
162 | AV_CODEC_ID_SUNRAST, |
163 | AV_CODEC_ID_INDEO4, |
164 | AV_CODEC_ID_INDEO5, |
165 | AV_CODEC_ID_MIMIC, |
166 | AV_CODEC_ID_RL2, |
167 | AV_CODEC_ID_ESCAPE124, |
168 | AV_CODEC_ID_DIRAC, |
169 | AV_CODEC_ID_BFI, |
170 | AV_CODEC_ID_CMV, |
171 | AV_CODEC_ID_MOTIONPIXELS, |
172 | AV_CODEC_ID_TGV, |
173 | AV_CODEC_ID_TGQ, |
174 | AV_CODEC_ID_TQI, |
175 | AV_CODEC_ID_AURA, |
176 | AV_CODEC_ID_AURA2, |
177 | AV_CODEC_ID_V210X, |
178 | AV_CODEC_ID_TMV, |
179 | AV_CODEC_ID_V210, |
180 | AV_CODEC_ID_DPX, |
181 | AV_CODEC_ID_MAD, |
182 | AV_CODEC_ID_FRWU, |
183 | AV_CODEC_ID_FLASHSV2, |
184 | AV_CODEC_ID_CDGRAPHICS, |
185 | AV_CODEC_ID_R210, |
186 | AV_CODEC_ID_ANM, |
187 | AV_CODEC_ID_BINKVIDEO, |
188 | AV_CODEC_ID_IFF_ILBM, |
189 | #define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM |
190 | AV_CODEC_ID_KGV1, |
191 | AV_CODEC_ID_YOP, |
192 | AV_CODEC_ID_VP8, |
193 | AV_CODEC_ID_PICTOR, |
194 | AV_CODEC_ID_ANSI, |
195 | AV_CODEC_ID_A64_MULTI, |
196 | AV_CODEC_ID_A64_MULTI5, |
197 | AV_CODEC_ID_R10K, |
198 | AV_CODEC_ID_MXPEG, |
199 | AV_CODEC_ID_LAGARITH, |
200 | AV_CODEC_ID_PRORES, |
201 | AV_CODEC_ID_JV, |
202 | AV_CODEC_ID_DFA, |
203 | AV_CODEC_ID_WMV3IMAGE, |
204 | AV_CODEC_ID_VC1IMAGE, |
205 | AV_CODEC_ID_UTVIDEO, |
206 | AV_CODEC_ID_BMV_VIDEO, |
207 | AV_CODEC_ID_VBLE, |
208 | AV_CODEC_ID_DXTORY, |
209 | AV_CODEC_ID_V410, |
210 | AV_CODEC_ID_XWD, |
211 | AV_CODEC_ID_CDXL, |
212 | AV_CODEC_ID_XBM, |
213 | AV_CODEC_ID_ZEROCODEC, |
214 | AV_CODEC_ID_MSS1, |
215 | AV_CODEC_ID_MSA1, |
216 | AV_CODEC_ID_TSCC2, |
217 | AV_CODEC_ID_MTS2, |
218 | AV_CODEC_ID_CLLC, |
219 | AV_CODEC_ID_MSS2, |
220 | AV_CODEC_ID_VP9, |
221 | AV_CODEC_ID_AIC, |
222 | AV_CODEC_ID_ESCAPE130, |
223 | AV_CODEC_ID_G2M, |
224 | AV_CODEC_ID_WEBP, |
225 | AV_CODEC_ID_HNM4_VIDEO, |
226 | AV_CODEC_ID_HEVC, |
227 | #define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC |
228 | AV_CODEC_ID_FIC, |
229 | AV_CODEC_ID_ALIAS_PIX, |
230 | AV_CODEC_ID_BRENDER_PIX, |
231 | AV_CODEC_ID_PAF_VIDEO, |
232 | AV_CODEC_ID_EXR, |
233 | AV_CODEC_ID_VP7, |
234 | AV_CODEC_ID_SANM, |
235 | AV_CODEC_ID_SGIRLE, |
236 | AV_CODEC_ID_MVC1, |
237 | AV_CODEC_ID_MVC2, |
238 | AV_CODEC_ID_HQX, |
239 | AV_CODEC_ID_TDSC, |
240 | AV_CODEC_ID_HQ_HQA, |
241 | AV_CODEC_ID_HAP, |
242 | AV_CODEC_ID_DDS, |
243 | AV_CODEC_ID_DXV, |
244 | AV_CODEC_ID_SCREENPRESSO, |
245 | AV_CODEC_ID_RSCC, |
246 | AV_CODEC_ID_AVS2, |
247 | AV_CODEC_ID_PGX, |
248 | AV_CODEC_ID_AVS3, |
249 | AV_CODEC_ID_MSP2, |
250 | AV_CODEC_ID_VVC, |
251 | #define AV_CODEC_ID_H266 AV_CODEC_ID_VVC |
252 | AV_CODEC_ID_Y41P, |
253 | AV_CODEC_ID_AVRP, |
254 | AV_CODEC_ID_012V, |
255 | AV_CODEC_ID_AVUI, |
256 | AV_CODEC_ID_TARGA_Y216, |
257 | AV_CODEC_ID_V308, |
258 | AV_CODEC_ID_V408, |
259 | AV_CODEC_ID_YUV4, |
260 | AV_CODEC_ID_AVRN, |
261 | AV_CODEC_ID_CPIA, |
262 | AV_CODEC_ID_XFACE, |
263 | AV_CODEC_ID_SNOW, |
264 | AV_CODEC_ID_SMVJPEG, |
265 | AV_CODEC_ID_APNG, |
266 | AV_CODEC_ID_DAALA, |
267 | AV_CODEC_ID_CFHD, |
268 | AV_CODEC_ID_TRUEMOTION2RT, |
269 | AV_CODEC_ID_M101, |
270 | AV_CODEC_ID_MAGICYUV, |
271 | AV_CODEC_ID_SHEERVIDEO, |
272 | AV_CODEC_ID_YLC, |
273 | AV_CODEC_ID_PSD, |
274 | AV_CODEC_ID_PIXLET, |
275 | AV_CODEC_ID_SPEEDHQ, |
276 | AV_CODEC_ID_FMVC, |
277 | AV_CODEC_ID_SCPR, |
278 | AV_CODEC_ID_CLEARVIDEO, |
279 | AV_CODEC_ID_XPM, |
280 | AV_CODEC_ID_AV1, |
281 | AV_CODEC_ID_BITPACKED, |
282 | AV_CODEC_ID_MSCC, |
283 | AV_CODEC_ID_SRGC, |
284 | AV_CODEC_ID_SVG, |
285 | AV_CODEC_ID_GDV, |
286 | AV_CODEC_ID_FITS, |
287 | AV_CODEC_ID_IMM4, |
288 | AV_CODEC_ID_PROSUMER, |
289 | AV_CODEC_ID_MWSC, |
290 | AV_CODEC_ID_WCMV, |
291 | AV_CODEC_ID_RASC, |
292 | AV_CODEC_ID_HYMT, |
293 | AV_CODEC_ID_ARBC, |
294 | AV_CODEC_ID_AGM, |
295 | AV_CODEC_ID_LSCR, |
296 | AV_CODEC_ID_VP4, |
297 | AV_CODEC_ID_IMM5, |
298 | AV_CODEC_ID_MVDV, |
299 | AV_CODEC_ID_MVHA, |
300 | AV_CODEC_ID_CDTOONS, |
301 | AV_CODEC_ID_MV30, |
302 | AV_CODEC_ID_NOTCHLC, |
303 | AV_CODEC_ID_PFM, |
304 | AV_CODEC_ID_MOBICLIP, |
305 | AV_CODEC_ID_PHOTOCD, |
306 | AV_CODEC_ID_IPU, |
307 | AV_CODEC_ID_ARGO, |
308 | AV_CODEC_ID_CRI, |
309 | AV_CODEC_ID_SIMBIOSIS_IMX, |
310 | AV_CODEC_ID_SGA_VIDEO, |
311 | AV_CODEC_ID_GEM, |
312 | AV_CODEC_ID_VBN, |
313 | AV_CODEC_ID_JPEGXL, |
314 | AV_CODEC_ID_QOI, |
315 | AV_CODEC_ID_PHM, |
316 | AV_CODEC_ID_RADIANCE_HDR, |
317 | AV_CODEC_ID_WBMP, |
318 | AV_CODEC_ID_MEDIA100, |
319 | AV_CODEC_ID_VQC, |
320 | AV_CODEC_ID_PDV, |
321 | AV_CODEC_ID_EVC, |
322 | AV_CODEC_ID_RTV1, |
323 | AV_CODEC_ID_VMIX, |
324 | AV_CODEC_ID_LEAD, |
325 | |
326 | /* various PCM "codecs" */ |
327 | AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs |
328 | AV_CODEC_ID_PCM_S16LE = 0x10000, |
329 | AV_CODEC_ID_PCM_S16BE, |
330 | AV_CODEC_ID_PCM_U16LE, |
331 | AV_CODEC_ID_PCM_U16BE, |
332 | AV_CODEC_ID_PCM_S8, |
333 | AV_CODEC_ID_PCM_U8, |
334 | AV_CODEC_ID_PCM_MULAW, |
335 | AV_CODEC_ID_PCM_ALAW, |
336 | AV_CODEC_ID_PCM_S32LE, |
337 | AV_CODEC_ID_PCM_S32BE, |
338 | AV_CODEC_ID_PCM_U32LE, |
339 | AV_CODEC_ID_PCM_U32BE, |
340 | AV_CODEC_ID_PCM_S24LE, |
341 | AV_CODEC_ID_PCM_S24BE, |
342 | AV_CODEC_ID_PCM_U24LE, |
343 | AV_CODEC_ID_PCM_U24BE, |
344 | AV_CODEC_ID_PCM_S24DAUD, |
345 | AV_CODEC_ID_PCM_ZORK, |
346 | AV_CODEC_ID_PCM_S16LE_PLANAR, |
347 | AV_CODEC_ID_PCM_DVD, |
348 | AV_CODEC_ID_PCM_F32BE, |
349 | AV_CODEC_ID_PCM_F32LE, |
350 | AV_CODEC_ID_PCM_F64BE, |
351 | AV_CODEC_ID_PCM_F64LE, |
352 | AV_CODEC_ID_PCM_BLURAY, |
353 | AV_CODEC_ID_PCM_LXF, |
354 | AV_CODEC_ID_S302M, |
355 | AV_CODEC_ID_PCM_S8_PLANAR, |
356 | AV_CODEC_ID_PCM_S24LE_PLANAR, |
357 | AV_CODEC_ID_PCM_S32LE_PLANAR, |
358 | AV_CODEC_ID_PCM_S16BE_PLANAR, |
359 | AV_CODEC_ID_PCM_S64LE, |
360 | AV_CODEC_ID_PCM_S64BE, |
361 | AV_CODEC_ID_PCM_F16LE, |
362 | AV_CODEC_ID_PCM_F24LE, |
363 | AV_CODEC_ID_PCM_VIDC, |
364 | AV_CODEC_ID_PCM_SGA, |
365 | |
366 | /* various ADPCM codecs */ |
367 | AV_CODEC_ID_ADPCM_IMA_QT = 0x11000, |
368 | AV_CODEC_ID_ADPCM_IMA_WAV, |
369 | AV_CODEC_ID_ADPCM_IMA_DK3, |
370 | AV_CODEC_ID_ADPCM_IMA_DK4, |
371 | AV_CODEC_ID_ADPCM_IMA_WS, |
372 | AV_CODEC_ID_ADPCM_IMA_SMJPEG, |
373 | AV_CODEC_ID_ADPCM_MS, |
374 | AV_CODEC_ID_ADPCM_4XM, |
375 | AV_CODEC_ID_ADPCM_XA, |
376 | AV_CODEC_ID_ADPCM_ADX, |
377 | AV_CODEC_ID_ADPCM_EA, |
378 | AV_CODEC_ID_ADPCM_G726, |
379 | AV_CODEC_ID_ADPCM_CT, |
380 | AV_CODEC_ID_ADPCM_SWF, |
381 | AV_CODEC_ID_ADPCM_YAMAHA, |
382 | AV_CODEC_ID_ADPCM_SBPRO_4, |
383 | AV_CODEC_ID_ADPCM_SBPRO_3, |
384 | AV_CODEC_ID_ADPCM_SBPRO_2, |
385 | AV_CODEC_ID_ADPCM_THP, |
386 | AV_CODEC_ID_ADPCM_IMA_AMV, |
387 | AV_CODEC_ID_ADPCM_EA_R1, |
388 | AV_CODEC_ID_ADPCM_EA_R3, |
389 | AV_CODEC_ID_ADPCM_EA_R2, |
390 | AV_CODEC_ID_ADPCM_IMA_EA_SEAD, |
391 | AV_CODEC_ID_ADPCM_IMA_EA_EACS, |
392 | AV_CODEC_ID_ADPCM_EA_XAS, |
393 | AV_CODEC_ID_ADPCM_EA_MAXIS_XA, |
394 | AV_CODEC_ID_ADPCM_IMA_ISS, |
395 | AV_CODEC_ID_ADPCM_G722, |
396 | AV_CODEC_ID_ADPCM_IMA_APC, |
397 | AV_CODEC_ID_ADPCM_VIMA, |
398 | AV_CODEC_ID_ADPCM_AFC, |
399 | AV_CODEC_ID_ADPCM_IMA_OKI, |
400 | AV_CODEC_ID_ADPCM_DTK, |
401 | AV_CODEC_ID_ADPCM_IMA_RAD, |
402 | AV_CODEC_ID_ADPCM_G726LE, |
403 | AV_CODEC_ID_ADPCM_THP_LE, |
404 | AV_CODEC_ID_ADPCM_PSX, |
405 | AV_CODEC_ID_ADPCM_AICA, |
406 | AV_CODEC_ID_ADPCM_IMA_DAT4, |
407 | AV_CODEC_ID_ADPCM_MTAF, |
408 | AV_CODEC_ID_ADPCM_AGM, |
409 | AV_CODEC_ID_ADPCM_ARGO, |
410 | AV_CODEC_ID_ADPCM_IMA_SSI, |
411 | AV_CODEC_ID_ADPCM_ZORK, |
412 | AV_CODEC_ID_ADPCM_IMA_APM, |
413 | AV_CODEC_ID_ADPCM_IMA_ALP, |
414 | AV_CODEC_ID_ADPCM_IMA_MTF, |
415 | AV_CODEC_ID_ADPCM_IMA_CUNNING, |
416 | AV_CODEC_ID_ADPCM_IMA_MOFLEX, |
417 | AV_CODEC_ID_ADPCM_IMA_ACORN, |
418 | AV_CODEC_ID_ADPCM_XMD, |
419 | |
420 | /* AMR */ |
421 | AV_CODEC_ID_AMR_NB = 0x12000, |
422 | AV_CODEC_ID_AMR_WB, |
423 | |
424 | /* RealAudio codecs*/ |
425 | AV_CODEC_ID_RA_144 = 0x13000, |
426 | AV_CODEC_ID_RA_288, |
427 | |
428 | /* various DPCM codecs */ |
429 | AV_CODEC_ID_ROQ_DPCM = 0x14000, |
430 | AV_CODEC_ID_INTERPLAY_DPCM, |
431 | AV_CODEC_ID_XAN_DPCM, |
432 | AV_CODEC_ID_SOL_DPCM, |
433 | AV_CODEC_ID_SDX2_DPCM, |
434 | AV_CODEC_ID_GREMLIN_DPCM, |
435 | AV_CODEC_ID_DERF_DPCM, |
436 | AV_CODEC_ID_WADY_DPCM, |
437 | AV_CODEC_ID_CBD2_DPCM, |
438 | |
439 | /* audio codecs */ |
440 | AV_CODEC_ID_MP2 = 0x15000, |
441 | AV_CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3 |
442 | AV_CODEC_ID_AAC, |
443 | AV_CODEC_ID_AC3, |
444 | AV_CODEC_ID_DTS, |
445 | AV_CODEC_ID_VORBIS, |
446 | AV_CODEC_ID_DVAUDIO, |
447 | AV_CODEC_ID_WMAV1, |
448 | AV_CODEC_ID_WMAV2, |
449 | AV_CODEC_ID_MACE3, |
450 | AV_CODEC_ID_MACE6, |
451 | AV_CODEC_ID_VMDAUDIO, |
452 | AV_CODEC_ID_FLAC, |
453 | AV_CODEC_ID_MP3ADU, |
454 | AV_CODEC_ID_MP3ON4, |
455 | AV_CODEC_ID_SHORTEN, |
456 | AV_CODEC_ID_ALAC, |
457 | AV_CODEC_ID_WESTWOOD_SND1, |
458 | AV_CODEC_ID_GSM, ///< as in Berlin toast format |
459 | AV_CODEC_ID_QDM2, |
460 | AV_CODEC_ID_COOK, |
461 | AV_CODEC_ID_TRUESPEECH, |
462 | AV_CODEC_ID_TTA, |
463 | AV_CODEC_ID_SMACKAUDIO, |
464 | AV_CODEC_ID_QCELP, |
465 | AV_CODEC_ID_WAVPACK, |
466 | AV_CODEC_ID_DSICINAUDIO, |
467 | AV_CODEC_ID_IMC, |
468 | AV_CODEC_ID_MUSEPACK7, |
469 | AV_CODEC_ID_MLP, |
470 | AV_CODEC_ID_GSM_MS, /* as found in WAV */ |
471 | AV_CODEC_ID_ATRAC3, |
472 | AV_CODEC_ID_APE, |
473 | AV_CODEC_ID_NELLYMOSER, |
474 | AV_CODEC_ID_MUSEPACK8, |
475 | AV_CODEC_ID_SPEEX, |
476 | AV_CODEC_ID_WMAVOICE, |
477 | AV_CODEC_ID_WMAPRO, |
478 | AV_CODEC_ID_WMALOSSLESS, |
479 | AV_CODEC_ID_ATRAC3P, |
480 | AV_CODEC_ID_EAC3, |
481 | AV_CODEC_ID_SIPR, |
482 | AV_CODEC_ID_MP1, |
483 | AV_CODEC_ID_TWINVQ, |
484 | AV_CODEC_ID_TRUEHD, |
485 | AV_CODEC_ID_MP4ALS, |
486 | AV_CODEC_ID_ATRAC1, |
487 | AV_CODEC_ID_BINKAUDIO_RDFT, |
488 | AV_CODEC_ID_BINKAUDIO_DCT, |
489 | AV_CODEC_ID_AAC_LATM, |
490 | AV_CODEC_ID_QDMC, |
491 | AV_CODEC_ID_CELT, |
492 | AV_CODEC_ID_G723_1, |
493 | AV_CODEC_ID_G729, |
494 | AV_CODEC_ID_8SVX_EXP, |
495 | AV_CODEC_ID_8SVX_FIB, |
496 | AV_CODEC_ID_BMV_AUDIO, |
497 | AV_CODEC_ID_RALF, |
498 | AV_CODEC_ID_IAC, |
499 | AV_CODEC_ID_ILBC, |
500 | AV_CODEC_ID_OPUS, |
501 | AV_CODEC_ID_COMFORT_NOISE, |
502 | AV_CODEC_ID_TAK, |
503 | AV_CODEC_ID_METASOUND, |
504 | AV_CODEC_ID_PAF_AUDIO, |
505 | AV_CODEC_ID_ON2AVC, |
506 | AV_CODEC_ID_DSS_SP, |
507 | AV_CODEC_ID_CODEC2, |
508 | AV_CODEC_ID_FFWAVESYNTH, |
509 | AV_CODEC_ID_SONIC, |
510 | AV_CODEC_ID_SONIC_LS, |
511 | AV_CODEC_ID_EVRC, |
512 | AV_CODEC_ID_SMV, |
513 | AV_CODEC_ID_DSD_LSBF, |
514 | AV_CODEC_ID_DSD_MSBF, |
515 | AV_CODEC_ID_DSD_LSBF_PLANAR, |
516 | AV_CODEC_ID_DSD_MSBF_PLANAR, |
517 | AV_CODEC_ID_4GV, |
518 | AV_CODEC_ID_INTERPLAY_ACM, |
519 | AV_CODEC_ID_XMA1, |
520 | AV_CODEC_ID_XMA2, |
521 | AV_CODEC_ID_DST, |
522 | AV_CODEC_ID_ATRAC3AL, |
523 | AV_CODEC_ID_ATRAC3PAL, |
524 | AV_CODEC_ID_DOLBY_E, |
525 | AV_CODEC_ID_APTX, |
526 | AV_CODEC_ID_APTX_HD, |
527 | AV_CODEC_ID_SBC, |
528 | AV_CODEC_ID_ATRAC9, |
529 | AV_CODEC_ID_HCOM, |
530 | AV_CODEC_ID_ACELP_KELVIN, |
531 | AV_CODEC_ID_MPEGH_3D_AUDIO, |
532 | AV_CODEC_ID_SIREN, |
533 | AV_CODEC_ID_HCA, |
534 | AV_CODEC_ID_FASTAUDIO, |
535 | AV_CODEC_ID_MSNSIREN, |
536 | AV_CODEC_ID_DFPWM, |
537 | AV_CODEC_ID_BONK, |
538 | AV_CODEC_ID_MISC4, |
539 | AV_CODEC_ID_APAC, |
540 | AV_CODEC_ID_FTR, |
541 | AV_CODEC_ID_WAVARC, |
542 | AV_CODEC_ID_RKA, |
543 | AV_CODEC_ID_AC4, |
544 | AV_CODEC_ID_OSQ, |
545 | AV_CODEC_ID_QOA, |
546 | |
547 | /* subtitle codecs */ |
548 | AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs. |
549 | AV_CODEC_ID_DVD_SUBTITLE = 0x17000, |
550 | AV_CODEC_ID_DVB_SUBTITLE, |
551 | AV_CODEC_ID_TEXT, ///< raw UTF-8 text |
552 | AV_CODEC_ID_XSUB, |
553 | AV_CODEC_ID_SSA, |
554 | AV_CODEC_ID_MOV_TEXT, |
555 | AV_CODEC_ID_HDMV_PGS_SUBTITLE, |
556 | AV_CODEC_ID_DVB_TELETEXT, |
557 | AV_CODEC_ID_SRT, |
558 | AV_CODEC_ID_MICRODVD, |
559 | AV_CODEC_ID_EIA_608, |
560 | AV_CODEC_ID_JACOSUB, |
561 | AV_CODEC_ID_SAMI, |
562 | AV_CODEC_ID_REALTEXT, |
563 | AV_CODEC_ID_STL, |
564 | AV_CODEC_ID_SUBVIEWER1, |
565 | AV_CODEC_ID_SUBVIEWER, |
566 | AV_CODEC_ID_SUBRIP, |
567 | AV_CODEC_ID_WEBVTT, |
568 | AV_CODEC_ID_MPL2, |
569 | AV_CODEC_ID_VPLAYER, |
570 | AV_CODEC_ID_PJS, |
571 | AV_CODEC_ID_ASS, |
572 | AV_CODEC_ID_HDMV_TEXT_SUBTITLE, |
573 | AV_CODEC_ID_TTML, |
574 | AV_CODEC_ID_ARIB_CAPTION, |
575 | |
576 | /* other specific kind of codecs (generally used for attachments) */ |
577 | AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs. |
578 | AV_CODEC_ID_TTF = 0x18000, |
579 | |
580 | AV_CODEC_ID_SCTE_35, ///< Contain timestamp estimated through PCR of program stream. |
581 | AV_CODEC_ID_EPG, |
582 | AV_CODEC_ID_BINTEXT, |
583 | AV_CODEC_ID_XBIN, |
584 | AV_CODEC_ID_IDF, |
585 | AV_CODEC_ID_OTF, |
586 | AV_CODEC_ID_SMPTE_KLV, |
587 | AV_CODEC_ID_DVD_NAV, |
588 | AV_CODEC_ID_TIMED_ID3, |
589 | AV_CODEC_ID_BIN_DATA, |
590 | AV_CODEC_ID_SMPTE_2038, |
591 | |
592 | |
593 | AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it |
594 | |
595 | AV_CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS |
596 | * stream (only used by libavformat) */ |
597 | AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems |
598 | * stream (only used by libavformat) */ |
599 | AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information. |
600 | AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, ///< Passthrough codec, AVFrames wrapped in AVPacket |
601 | /** |
602 | * Dummy null video codec, useful mainly for development and debugging. |
603 | * Null encoder/decoder discard all input and never return any output. |
604 | */ |
605 | AV_CODEC_ID_VNULL, |
606 | /** |
607 | * Dummy null audio codec, useful mainly for development and debugging. |
608 | * Null encoder/decoder discard all input and never return any output. |
609 | */ |
610 | AV_CODEC_ID_ANULL, |
611 | }; |
612 | |
613 | /** |
614 | * Get the type of the given codec. |
615 | */ |
616 | enum AVMediaType avcodec_get_type(enum AVCodecID codec_id); |
617 | |
618 | /** |
619 | * Get the name of a codec. |
620 | * @return a static string identifying the codec; never NULL |
621 | */ |
622 | const char *avcodec_get_name(enum AVCodecID id); |
623 | |
624 | /** |
625 | * Return codec bits per sample. |
626 | * |
627 | * @param[in] codec_id the codec |
628 | * @return Number of bits per sample or zero if unknown for the given codec. |
629 | */ |
630 | int av_get_bits_per_sample(enum AVCodecID codec_id); |
631 | |
632 | /** |
633 | * Return codec bits per sample. |
634 | * Only return non-zero if the bits per sample is exactly correct, not an |
635 | * approximation. |
636 | * |
637 | * @param[in] codec_id the codec |
638 | * @return Number of bits per sample or zero if unknown for the given codec. |
639 | */ |
640 | int av_get_exact_bits_per_sample(enum AVCodecID codec_id); |
641 | |
642 | /** |
643 | * Return a name for the specified profile, if available. |
644 | * |
645 | * @param codec_id the ID of the codec to which the requested profile belongs |
646 | * @param profile the profile value for which a name is requested |
647 | * @return A name for the profile if found, NULL otherwise. |
648 | * |
649 | * @note unlike av_get_profile_name(), which searches a list of profiles |
650 | * supported by a specific decoder or encoder implementation, this |
651 | * function searches the list of profiles from the AVCodecDescriptor |
652 | */ |
653 | const char *avcodec_profile_name(enum AVCodecID codec_id, int profile); |
654 | |
655 | /** |
656 | * Return the PCM codec associated with a sample format. |
657 | * @param be endianness, 0 for little, 1 for big, |
658 | * -1 (or anything else) for native |
659 | * @return AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE |
660 | */ |
661 | enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be); |
662 | |
663 | /** |
664 | * @} |
665 | */ |
666 | |
667 | #endif // AVCODEC_CODEC_ID_H |
668 | |