duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

codec_id.h (18010B)


      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