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