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 */
49enum 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#if FF_API_V408_CODECID
210 AV_CODEC_ID_V410,
211#endif
212 AV_CODEC_ID_XWD,
213 AV_CODEC_ID_CDXL,
214 AV_CODEC_ID_XBM,
215 AV_CODEC_ID_ZEROCODEC,
216 AV_CODEC_ID_MSS1,
217 AV_CODEC_ID_MSA1,
218 AV_CODEC_ID_TSCC2,
219 AV_CODEC_ID_MTS2,
220 AV_CODEC_ID_CLLC,
221 AV_CODEC_ID_MSS2,
222 AV_CODEC_ID_VP9,
223 AV_CODEC_ID_AIC,
224 AV_CODEC_ID_ESCAPE130,
225 AV_CODEC_ID_G2M,
226 AV_CODEC_ID_WEBP,
227 AV_CODEC_ID_HNM4_VIDEO,
228 AV_CODEC_ID_HEVC,
229#define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
230 AV_CODEC_ID_FIC,
231 AV_CODEC_ID_ALIAS_PIX,
232 AV_CODEC_ID_BRENDER_PIX,
233 AV_CODEC_ID_PAF_VIDEO,
234 AV_CODEC_ID_EXR,
235 AV_CODEC_ID_VP7,
236 AV_CODEC_ID_SANM,
237 AV_CODEC_ID_SGIRLE,
238 AV_CODEC_ID_MVC1,
239 AV_CODEC_ID_MVC2,
240 AV_CODEC_ID_HQX,
241 AV_CODEC_ID_TDSC,
242 AV_CODEC_ID_HQ_HQA,
243 AV_CODEC_ID_HAP,
244 AV_CODEC_ID_DDS,
245 AV_CODEC_ID_DXV,
246 AV_CODEC_ID_SCREENPRESSO,
247 AV_CODEC_ID_RSCC,
248 AV_CODEC_ID_AVS2,
249 AV_CODEC_ID_PGX,
250 AV_CODEC_ID_AVS3,
251 AV_CODEC_ID_MSP2,
252 AV_CODEC_ID_VVC,
253#define AV_CODEC_ID_H266 AV_CODEC_ID_VVC
254 AV_CODEC_ID_Y41P,
255 AV_CODEC_ID_AVRP,
256 AV_CODEC_ID_012V,
257 AV_CODEC_ID_AVUI,
258 AV_CODEC_ID_TARGA_Y216,
259#if FF_API_V408_CODECID
260 AV_CODEC_ID_V308,
261 AV_CODEC_ID_V408,
262#endif
263 AV_CODEC_ID_YUV4,
264 AV_CODEC_ID_AVRN,
265 AV_CODEC_ID_CPIA,
266 AV_CODEC_ID_XFACE,
267 AV_CODEC_ID_SNOW,
268 AV_CODEC_ID_SMVJPEG,
269 AV_CODEC_ID_APNG,
270 AV_CODEC_ID_DAALA,
271 AV_CODEC_ID_CFHD,
272 AV_CODEC_ID_TRUEMOTION2RT,
273 AV_CODEC_ID_M101,
274 AV_CODEC_ID_MAGICYUV,
275 AV_CODEC_ID_SHEERVIDEO,
276 AV_CODEC_ID_YLC,
277 AV_CODEC_ID_PSD,
278 AV_CODEC_ID_PIXLET,
279 AV_CODEC_ID_SPEEDHQ,
280 AV_CODEC_ID_FMVC,
281 AV_CODEC_ID_SCPR,
282 AV_CODEC_ID_CLEARVIDEO,
283 AV_CODEC_ID_XPM,
284 AV_CODEC_ID_AV1,
285 AV_CODEC_ID_BITPACKED,
286 AV_CODEC_ID_MSCC,
287 AV_CODEC_ID_SRGC,
288 AV_CODEC_ID_SVG,
289 AV_CODEC_ID_GDV,
290 AV_CODEC_ID_FITS,
291 AV_CODEC_ID_IMM4,
292 AV_CODEC_ID_PROSUMER,
293 AV_CODEC_ID_MWSC,
294 AV_CODEC_ID_WCMV,
295 AV_CODEC_ID_RASC,
296 AV_CODEC_ID_HYMT,
297 AV_CODEC_ID_ARBC,
298 AV_CODEC_ID_AGM,
299 AV_CODEC_ID_LSCR,
300 AV_CODEC_ID_VP4,
301 AV_CODEC_ID_IMM5,
302 AV_CODEC_ID_MVDV,
303 AV_CODEC_ID_MVHA,
304 AV_CODEC_ID_CDTOONS,
305 AV_CODEC_ID_MV30,
306 AV_CODEC_ID_NOTCHLC,
307 AV_CODEC_ID_PFM,
308 AV_CODEC_ID_MOBICLIP,
309 AV_CODEC_ID_PHOTOCD,
310 AV_CODEC_ID_IPU,
311 AV_CODEC_ID_ARGO,
312 AV_CODEC_ID_CRI,
313 AV_CODEC_ID_SIMBIOSIS_IMX,
314 AV_CODEC_ID_SGA_VIDEO,
315 AV_CODEC_ID_GEM,
316 AV_CODEC_ID_VBN,
317 AV_CODEC_ID_JPEGXL,
318 AV_CODEC_ID_QOI,
319 AV_CODEC_ID_PHM,
320 AV_CODEC_ID_RADIANCE_HDR,
321 AV_CODEC_ID_WBMP,
322 AV_CODEC_ID_MEDIA100,
323 AV_CODEC_ID_VQC,
324 AV_CODEC_ID_PDV,
325 AV_CODEC_ID_EVC,
326 AV_CODEC_ID_RTV1,
327 AV_CODEC_ID_VMIX,
328 AV_CODEC_ID_LEAD,
329 AV_CODEC_ID_DNXUC,
330 AV_CODEC_ID_RV60,
331 AV_CODEC_ID_JPEGXL_ANIM,
332 AV_CODEC_ID_APV,
333 AV_CODEC_ID_PRORES_RAW,
334
335 /* various PCM "codecs" */
336 AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
337 AV_CODEC_ID_PCM_S16LE = 0x10000,
338 AV_CODEC_ID_PCM_S16BE,
339 AV_CODEC_ID_PCM_U16LE,
340 AV_CODEC_ID_PCM_U16BE,
341 AV_CODEC_ID_PCM_S8,
342 AV_CODEC_ID_PCM_U8,
343 AV_CODEC_ID_PCM_MULAW,
344 AV_CODEC_ID_PCM_ALAW,
345 AV_CODEC_ID_PCM_S32LE,
346 AV_CODEC_ID_PCM_S32BE,
347 AV_CODEC_ID_PCM_U32LE,
348 AV_CODEC_ID_PCM_U32BE,
349 AV_CODEC_ID_PCM_S24LE,
350 AV_CODEC_ID_PCM_S24BE,
351 AV_CODEC_ID_PCM_U24LE,
352 AV_CODEC_ID_PCM_U24BE,
353 AV_CODEC_ID_PCM_S24DAUD,
354 AV_CODEC_ID_PCM_ZORK,
355 AV_CODEC_ID_PCM_S16LE_PLANAR,
356 AV_CODEC_ID_PCM_DVD,
357 AV_CODEC_ID_PCM_F32BE,
358 AV_CODEC_ID_PCM_F32LE,
359 AV_CODEC_ID_PCM_F64BE,
360 AV_CODEC_ID_PCM_F64LE,
361 AV_CODEC_ID_PCM_BLURAY,
362 AV_CODEC_ID_PCM_LXF,
363 AV_CODEC_ID_S302M,
364 AV_CODEC_ID_PCM_S8_PLANAR,
365 AV_CODEC_ID_PCM_S24LE_PLANAR,
366 AV_CODEC_ID_PCM_S32LE_PLANAR,
367 AV_CODEC_ID_PCM_S16BE_PLANAR,
368 AV_CODEC_ID_PCM_S64LE,
369 AV_CODEC_ID_PCM_S64BE,
370 AV_CODEC_ID_PCM_F16LE,
371 AV_CODEC_ID_PCM_F24LE,
372 AV_CODEC_ID_PCM_VIDC,
373 AV_CODEC_ID_PCM_SGA,
374
375 /* various ADPCM codecs */
376 AV_CODEC_ID_ADPCM_IMA_QT = 0x11000,
377 AV_CODEC_ID_ADPCM_IMA_WAV,
378 AV_CODEC_ID_ADPCM_IMA_DK3,
379 AV_CODEC_ID_ADPCM_IMA_DK4,
380 AV_CODEC_ID_ADPCM_IMA_WS,
381 AV_CODEC_ID_ADPCM_IMA_SMJPEG,
382 AV_CODEC_ID_ADPCM_MS,
383 AV_CODEC_ID_ADPCM_4XM,
384 AV_CODEC_ID_ADPCM_XA,
385 AV_CODEC_ID_ADPCM_ADX,
386 AV_CODEC_ID_ADPCM_EA,
387 AV_CODEC_ID_ADPCM_G726,
388 AV_CODEC_ID_ADPCM_CT,
389 AV_CODEC_ID_ADPCM_SWF,
390 AV_CODEC_ID_ADPCM_YAMAHA,
391 AV_CODEC_ID_ADPCM_SBPRO_4,
392 AV_CODEC_ID_ADPCM_SBPRO_3,
393 AV_CODEC_ID_ADPCM_SBPRO_2,
394 AV_CODEC_ID_ADPCM_THP,
395 AV_CODEC_ID_ADPCM_IMA_AMV,
396 AV_CODEC_ID_ADPCM_EA_R1,
397 AV_CODEC_ID_ADPCM_EA_R3,
398 AV_CODEC_ID_ADPCM_EA_R2,
399 AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
400 AV_CODEC_ID_ADPCM_IMA_EA_EACS,
401 AV_CODEC_ID_ADPCM_EA_XAS,
402 AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
403 AV_CODEC_ID_ADPCM_IMA_ISS,
404 AV_CODEC_ID_ADPCM_G722,
405 AV_CODEC_ID_ADPCM_IMA_APC,
406 AV_CODEC_ID_ADPCM_VIMA,
407 AV_CODEC_ID_ADPCM_AFC,
408 AV_CODEC_ID_ADPCM_IMA_OKI,
409 AV_CODEC_ID_ADPCM_DTK,
410 AV_CODEC_ID_ADPCM_IMA_RAD,
411 AV_CODEC_ID_ADPCM_G726LE,
412 AV_CODEC_ID_ADPCM_THP_LE,
413 AV_CODEC_ID_ADPCM_PSX,
414 AV_CODEC_ID_ADPCM_AICA,
415 AV_CODEC_ID_ADPCM_IMA_DAT4,
416 AV_CODEC_ID_ADPCM_MTAF,
417 AV_CODEC_ID_ADPCM_AGM,
418 AV_CODEC_ID_ADPCM_ARGO,
419 AV_CODEC_ID_ADPCM_IMA_SSI,
420 AV_CODEC_ID_ADPCM_ZORK,
421 AV_CODEC_ID_ADPCM_IMA_APM,
422 AV_CODEC_ID_ADPCM_IMA_ALP,
423 AV_CODEC_ID_ADPCM_IMA_MTF,
424 AV_CODEC_ID_ADPCM_IMA_CUNNING,
425 AV_CODEC_ID_ADPCM_IMA_MOFLEX,
426 AV_CODEC_ID_ADPCM_IMA_ACORN,
427 AV_CODEC_ID_ADPCM_XMD,
428 AV_CODEC_ID_ADPCM_IMA_XBOX,
429 AV_CODEC_ID_ADPCM_SANYO,
430
431 /* AMR */
432 AV_CODEC_ID_AMR_NB = 0x12000,
433 AV_CODEC_ID_AMR_WB,
434
435 /* RealAudio codecs*/
436 AV_CODEC_ID_RA_144 = 0x13000,
437 AV_CODEC_ID_RA_288,
438
439 /* various DPCM codecs */
440 AV_CODEC_ID_ROQ_DPCM = 0x14000,
441 AV_CODEC_ID_INTERPLAY_DPCM,
442 AV_CODEC_ID_XAN_DPCM,
443 AV_CODEC_ID_SOL_DPCM,
444 AV_CODEC_ID_SDX2_DPCM,
445 AV_CODEC_ID_GREMLIN_DPCM,
446 AV_CODEC_ID_DERF_DPCM,
447 AV_CODEC_ID_WADY_DPCM,
448 AV_CODEC_ID_CBD2_DPCM,
449
450 /* audio codecs */
451 AV_CODEC_ID_MP2 = 0x15000,
452 AV_CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3
453 AV_CODEC_ID_AAC,
454 AV_CODEC_ID_AC3,
455 AV_CODEC_ID_DTS,
456 AV_CODEC_ID_VORBIS,
457 AV_CODEC_ID_DVAUDIO,
458 AV_CODEC_ID_WMAV1,
459 AV_CODEC_ID_WMAV2,
460 AV_CODEC_ID_MACE3,
461 AV_CODEC_ID_MACE6,
462 AV_CODEC_ID_VMDAUDIO,
463 AV_CODEC_ID_FLAC,
464 AV_CODEC_ID_MP3ADU,
465 AV_CODEC_ID_MP3ON4,
466 AV_CODEC_ID_SHORTEN,
467 AV_CODEC_ID_ALAC,
468 AV_CODEC_ID_WESTWOOD_SND1,
469 AV_CODEC_ID_GSM, ///< as in Berlin toast format
470 AV_CODEC_ID_QDM2,
471 AV_CODEC_ID_COOK,
472 AV_CODEC_ID_TRUESPEECH,
473 AV_CODEC_ID_TTA,
474 AV_CODEC_ID_SMACKAUDIO,
475 AV_CODEC_ID_QCELP,
476 AV_CODEC_ID_WAVPACK,
477 AV_CODEC_ID_DSICINAUDIO,
478 AV_CODEC_ID_IMC,
479 AV_CODEC_ID_MUSEPACK7,
480 AV_CODEC_ID_MLP,
481 AV_CODEC_ID_GSM_MS, /* as found in WAV */
482 AV_CODEC_ID_ATRAC3,
483 AV_CODEC_ID_APE,
484 AV_CODEC_ID_NELLYMOSER,
485 AV_CODEC_ID_MUSEPACK8,
486 AV_CODEC_ID_SPEEX,
487 AV_CODEC_ID_WMAVOICE,
488 AV_CODEC_ID_WMAPRO,
489 AV_CODEC_ID_WMALOSSLESS,
490 AV_CODEC_ID_ATRAC3P,
491 AV_CODEC_ID_EAC3,
492 AV_CODEC_ID_SIPR,
493 AV_CODEC_ID_MP1,
494 AV_CODEC_ID_TWINVQ,
495 AV_CODEC_ID_TRUEHD,
496 AV_CODEC_ID_MP4ALS,
497 AV_CODEC_ID_ATRAC1,
498 AV_CODEC_ID_BINKAUDIO_RDFT,
499 AV_CODEC_ID_BINKAUDIO_DCT,
500 AV_CODEC_ID_AAC_LATM,
501 AV_CODEC_ID_QDMC,
502 AV_CODEC_ID_CELT,
503 AV_CODEC_ID_G723_1,
504 AV_CODEC_ID_G729,
505 AV_CODEC_ID_8SVX_EXP,
506 AV_CODEC_ID_8SVX_FIB,
507 AV_CODEC_ID_BMV_AUDIO,
508 AV_CODEC_ID_RALF,
509 AV_CODEC_ID_IAC,
510 AV_CODEC_ID_ILBC,
511 AV_CODEC_ID_OPUS,
512 AV_CODEC_ID_COMFORT_NOISE,
513 AV_CODEC_ID_TAK,
514 AV_CODEC_ID_METASOUND,
515 AV_CODEC_ID_PAF_AUDIO,
516 AV_CODEC_ID_ON2AVC,
517 AV_CODEC_ID_DSS_SP,
518 AV_CODEC_ID_CODEC2,
519 AV_CODEC_ID_FFWAVESYNTH,
520 AV_CODEC_ID_SONIC,
521 AV_CODEC_ID_SONIC_LS,
522 AV_CODEC_ID_EVRC,
523 AV_CODEC_ID_SMV,
524 AV_CODEC_ID_DSD_LSBF,
525 AV_CODEC_ID_DSD_MSBF,
526 AV_CODEC_ID_DSD_LSBF_PLANAR,
527 AV_CODEC_ID_DSD_MSBF_PLANAR,
528 AV_CODEC_ID_4GV,
529 AV_CODEC_ID_INTERPLAY_ACM,
530 AV_CODEC_ID_XMA1,
531 AV_CODEC_ID_XMA2,
532 AV_CODEC_ID_DST,
533 AV_CODEC_ID_ATRAC3AL,
534 AV_CODEC_ID_ATRAC3PAL,
535 AV_CODEC_ID_DOLBY_E,
536 AV_CODEC_ID_APTX,
537 AV_CODEC_ID_APTX_HD,
538 AV_CODEC_ID_SBC,
539 AV_CODEC_ID_ATRAC9,
540 AV_CODEC_ID_HCOM,
541 AV_CODEC_ID_ACELP_KELVIN,
542 AV_CODEC_ID_MPEGH_3D_AUDIO,
543 AV_CODEC_ID_SIREN,
544 AV_CODEC_ID_HCA,
545 AV_CODEC_ID_FASTAUDIO,
546 AV_CODEC_ID_MSNSIREN,
547 AV_CODEC_ID_DFPWM,
548 AV_CODEC_ID_BONK,
549 AV_CODEC_ID_MISC4,
550 AV_CODEC_ID_APAC,
551 AV_CODEC_ID_FTR,
552 AV_CODEC_ID_WAVARC,
553 AV_CODEC_ID_RKA,
554 AV_CODEC_ID_AC4,
555 AV_CODEC_ID_OSQ,
556 AV_CODEC_ID_QOA,
557 AV_CODEC_ID_LC3,
558 AV_CODEC_ID_G728,
559
560 /* subtitle codecs */
561 AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
562 AV_CODEC_ID_DVD_SUBTITLE = 0x17000,
563 AV_CODEC_ID_DVB_SUBTITLE,
564 AV_CODEC_ID_TEXT, ///< raw UTF-8 text
565 AV_CODEC_ID_XSUB,
566 AV_CODEC_ID_SSA,
567 AV_CODEC_ID_MOV_TEXT,
568 AV_CODEC_ID_HDMV_PGS_SUBTITLE,
569 AV_CODEC_ID_DVB_TELETEXT,
570 AV_CODEC_ID_SRT,
571 AV_CODEC_ID_MICRODVD,
572 AV_CODEC_ID_EIA_608,
573 AV_CODEC_ID_JACOSUB,
574 AV_CODEC_ID_SAMI,
575 AV_CODEC_ID_REALTEXT,
576 AV_CODEC_ID_STL,
577 AV_CODEC_ID_SUBVIEWER1,
578 AV_CODEC_ID_SUBVIEWER,
579 AV_CODEC_ID_SUBRIP,
580 AV_CODEC_ID_WEBVTT,
581 AV_CODEC_ID_MPL2,
582 AV_CODEC_ID_VPLAYER,
583 AV_CODEC_ID_PJS,
584 AV_CODEC_ID_ASS,
585 AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
586 AV_CODEC_ID_TTML,
587 AV_CODEC_ID_ARIB_CAPTION,
588 AV_CODEC_ID_IVTV_VBI,
589
590 /* other specific kind of codecs (generally used for attachments) */
591 AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
592 AV_CODEC_ID_TTF = 0x18000,
593
594 AV_CODEC_ID_SCTE_35, ///< Contain timestamp estimated through PCR of program stream.
595 AV_CODEC_ID_EPG,
596 AV_CODEC_ID_BINTEXT,
597 AV_CODEC_ID_XBIN,
598 AV_CODEC_ID_IDF,
599 AV_CODEC_ID_OTF,
600 AV_CODEC_ID_SMPTE_KLV,
601 AV_CODEC_ID_DVD_NAV,
602 AV_CODEC_ID_TIMED_ID3,
603 AV_CODEC_ID_BIN_DATA,
604 AV_CODEC_ID_SMPTE_2038,
605 AV_CODEC_ID_LCEVC,
606 AV_CODEC_ID_SMPTE_436M_ANC,
607
608
609 AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it
610
611 AV_CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS
612 * stream (only used by libavformat) */
613 AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems
614 * stream (only used by libavformat) */
615 AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information.
616 AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, ///< Passthrough codec, AVFrames wrapped in AVPacket
617 /**
618 * Dummy null video codec, useful mainly for development and debugging.
619 * Null encoder/decoder discard all input and never return any output.
620 */
621 AV_CODEC_ID_VNULL,
622 /**
623 * Dummy null audio codec, useful mainly for development and debugging.
624 * Null encoder/decoder discard all input and never return any output.
625 */
626 AV_CODEC_ID_ANULL,
627};
628
629/**
630 * Get the type of the given codec.
631 */
632enum AVMediaType avcodec_get_type(enum AVCodecID codec_id);
633
634/**
635 * Get the name of a codec.
636 * @return a static string identifying the codec; never NULL
637 */
638const char *avcodec_get_name(enum AVCodecID id);
639
640/**
641 * Return codec bits per sample.
642 *
643 * @param[in] codec_id the codec
644 * @return Number of bits per sample or zero if unknown for the given codec.
645 */
646int av_get_bits_per_sample(enum AVCodecID codec_id);
647
648/**
649 * Return codec bits per sample.
650 * Only return non-zero if the bits per sample is exactly correct, not an
651 * approximation.
652 *
653 * @param[in] codec_id the codec
654 * @return Number of bits per sample or zero if unknown for the given codec.
655 */
656int av_get_exact_bits_per_sample(enum AVCodecID codec_id);
657
658/**
659 * Return a name for the specified profile, if available.
660 *
661 * @param codec_id the ID of the codec to which the requested profile belongs
662 * @param profile the profile value for which a name is requested
663 * @return A name for the profile if found, NULL otherwise.
664 *
665 * @note unlike av_get_profile_name(), which searches a list of profiles
666 * supported by a specific decoder or encoder implementation, this
667 * function searches the list of profiles from the AVCodecDescriptor
668 */
669const char *avcodec_profile_name(enum AVCodecID codec_id, int profile);
670
671/**
672 * Return the PCM codec associated with a sample format.
673 * @param be endianness, 0 for little, 1 for big,
674 * -1 (or anything else) for native
675 * @return AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE
676 */
677enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be);
678
679/**
680 * @}
681 */
682
683#endif // AVCODEC_CODEC_ID_H
684