mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-09-04 15:28:19 +02:00
629 lines
17 KiB
C
629 lines
17 KiB
C
/*
|
|
* Codec IDs
|
|
*
|
|
* This file is part of FFmpeg.
|
|
*
|
|
* FFmpeg is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* FFmpeg is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with FFmpeg; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#ifndef AVCODEC_CODEC_ID_H
|
|
#define AVCODEC_CODEC_ID_H
|
|
|
|
#include "libavutil/avutil.h"
|
|
#include "libavutil/samplefmt.h"
|
|
|
|
/**
|
|
* @addtogroup lavc_core
|
|
* @{
|
|
*/
|
|
|
|
/**
|
|
* Identify the syntax and semantics of the bitstream.
|
|
* The principle is roughly:
|
|
* Two decoders with the same ID can decode the same streams.
|
|
* Two encoders with the same ID can encode compatible streams.
|
|
* There may be slight deviations from the principle due to implementation
|
|
* details.
|
|
*
|
|
* If you add a codec ID to this list, add it so that
|
|
* 1. no value of an existing codec ID changes (that would break ABI),
|
|
* 2. it is as close as possible to similar codecs
|
|
*
|
|
* After adding new codec IDs, do not forget to add an entry to the codec
|
|
* descriptor list and bump libavcodec minor version.
|
|
*/
|
|
enum AVCodecID {
|
|
AV_CODEC_ID_NONE,
|
|
|
|
/* video codecs */
|
|
AV_CODEC_ID_MPEG1VIDEO,
|
|
AV_CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding
|
|
AV_CODEC_ID_H261,
|
|
AV_CODEC_ID_H263,
|
|
AV_CODEC_ID_RV10,
|
|
AV_CODEC_ID_RV20,
|
|
AV_CODEC_ID_MJPEG,
|
|
AV_CODEC_ID_MJPEGB,
|
|
AV_CODEC_ID_LJPEG,
|
|
AV_CODEC_ID_SP5X,
|
|
AV_CODEC_ID_JPEGLS,
|
|
AV_CODEC_ID_MPEG4,
|
|
AV_CODEC_ID_RAWVIDEO,
|
|
AV_CODEC_ID_MSMPEG4V1,
|
|
AV_CODEC_ID_MSMPEG4V2,
|
|
AV_CODEC_ID_MSMPEG4V3,
|
|
AV_CODEC_ID_WMV1,
|
|
AV_CODEC_ID_WMV2,
|
|
AV_CODEC_ID_H263P,
|
|
AV_CODEC_ID_H263I,
|
|
AV_CODEC_ID_FLV1,
|
|
AV_CODEC_ID_SVQ1,
|
|
AV_CODEC_ID_SVQ3,
|
|
AV_CODEC_ID_DVVIDEO,
|
|
AV_CODEC_ID_HUFFYUV,
|
|
AV_CODEC_ID_CYUV,
|
|
AV_CODEC_ID_H264,
|
|
AV_CODEC_ID_INDEO3,
|
|
AV_CODEC_ID_VP3,
|
|
AV_CODEC_ID_THEORA,
|
|
AV_CODEC_ID_ASV1,
|
|
AV_CODEC_ID_ASV2,
|
|
AV_CODEC_ID_FFV1,
|
|
AV_CODEC_ID_4XM,
|
|
AV_CODEC_ID_VCR1,
|
|
AV_CODEC_ID_CLJR,
|
|
AV_CODEC_ID_MDEC,
|
|
AV_CODEC_ID_ROQ,
|
|
AV_CODEC_ID_INTERPLAY_VIDEO,
|
|
AV_CODEC_ID_XAN_WC3,
|
|
AV_CODEC_ID_XAN_WC4,
|
|
AV_CODEC_ID_RPZA,
|
|
AV_CODEC_ID_CINEPAK,
|
|
AV_CODEC_ID_WS_VQA,
|
|
AV_CODEC_ID_MSRLE,
|
|
AV_CODEC_ID_MSVIDEO1,
|
|
AV_CODEC_ID_IDCIN,
|
|
AV_CODEC_ID_8BPS,
|
|
AV_CODEC_ID_SMC,
|
|
AV_CODEC_ID_FLIC,
|
|
AV_CODEC_ID_TRUEMOTION1,
|
|
AV_CODEC_ID_VMDVIDEO,
|
|
AV_CODEC_ID_MSZH,
|
|
AV_CODEC_ID_ZLIB,
|
|
AV_CODEC_ID_QTRLE,
|
|
AV_CODEC_ID_TSCC,
|
|
AV_CODEC_ID_ULTI,
|
|
AV_CODEC_ID_QDRAW,
|
|
AV_CODEC_ID_VIXL,
|
|
AV_CODEC_ID_QPEG,
|
|
AV_CODEC_ID_PNG,
|
|
AV_CODEC_ID_PPM,
|
|
AV_CODEC_ID_PBM,
|
|
AV_CODEC_ID_PGM,
|
|
AV_CODEC_ID_PGMYUV,
|
|
AV_CODEC_ID_PAM,
|
|
AV_CODEC_ID_FFVHUFF,
|
|
AV_CODEC_ID_RV30,
|
|
AV_CODEC_ID_RV40,
|
|
AV_CODEC_ID_VC1,
|
|
AV_CODEC_ID_WMV3,
|
|
AV_CODEC_ID_LOCO,
|
|
AV_CODEC_ID_WNV1,
|
|
AV_CODEC_ID_AASC,
|
|
AV_CODEC_ID_INDEO2,
|
|
AV_CODEC_ID_FRAPS,
|
|
AV_CODEC_ID_TRUEMOTION2,
|
|
AV_CODEC_ID_BMP,
|
|
AV_CODEC_ID_CSCD,
|
|
AV_CODEC_ID_MMVIDEO,
|
|
AV_CODEC_ID_ZMBV,
|
|
AV_CODEC_ID_AVS,
|
|
AV_CODEC_ID_SMACKVIDEO,
|
|
AV_CODEC_ID_NUV,
|
|
AV_CODEC_ID_KMVC,
|
|
AV_CODEC_ID_FLASHSV,
|
|
AV_CODEC_ID_CAVS,
|
|
AV_CODEC_ID_JPEG2000,
|
|
AV_CODEC_ID_VMNC,
|
|
AV_CODEC_ID_VP5,
|
|
AV_CODEC_ID_VP6,
|
|
AV_CODEC_ID_VP6F,
|
|
AV_CODEC_ID_TARGA,
|
|
AV_CODEC_ID_DSICINVIDEO,
|
|
AV_CODEC_ID_TIERTEXSEQVIDEO,
|
|
AV_CODEC_ID_TIFF,
|
|
AV_CODEC_ID_GIF,
|
|
AV_CODEC_ID_DXA,
|
|
AV_CODEC_ID_DNXHD,
|
|
AV_CODEC_ID_THP,
|
|
AV_CODEC_ID_SGI,
|
|
AV_CODEC_ID_C93,
|
|
AV_CODEC_ID_BETHSOFTVID,
|
|
AV_CODEC_ID_PTX,
|
|
AV_CODEC_ID_TXD,
|
|
AV_CODEC_ID_VP6A,
|
|
AV_CODEC_ID_AMV,
|
|
AV_CODEC_ID_VB,
|
|
AV_CODEC_ID_PCX,
|
|
AV_CODEC_ID_SUNRAST,
|
|
AV_CODEC_ID_INDEO4,
|
|
AV_CODEC_ID_INDEO5,
|
|
AV_CODEC_ID_MIMIC,
|
|
AV_CODEC_ID_RL2,
|
|
AV_CODEC_ID_ESCAPE124,
|
|
AV_CODEC_ID_DIRAC,
|
|
AV_CODEC_ID_BFI,
|
|
AV_CODEC_ID_CMV,
|
|
AV_CODEC_ID_MOTIONPIXELS,
|
|
AV_CODEC_ID_TGV,
|
|
AV_CODEC_ID_TGQ,
|
|
AV_CODEC_ID_TQI,
|
|
AV_CODEC_ID_AURA,
|
|
AV_CODEC_ID_AURA2,
|
|
AV_CODEC_ID_V210X,
|
|
AV_CODEC_ID_TMV,
|
|
AV_CODEC_ID_V210,
|
|
AV_CODEC_ID_DPX,
|
|
AV_CODEC_ID_MAD,
|
|
AV_CODEC_ID_FRWU,
|
|
AV_CODEC_ID_FLASHSV2,
|
|
AV_CODEC_ID_CDGRAPHICS,
|
|
AV_CODEC_ID_R210,
|
|
AV_CODEC_ID_ANM,
|
|
AV_CODEC_ID_BINKVIDEO,
|
|
AV_CODEC_ID_IFF_ILBM,
|
|
#define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM
|
|
AV_CODEC_ID_KGV1,
|
|
AV_CODEC_ID_YOP,
|
|
AV_CODEC_ID_VP8,
|
|
AV_CODEC_ID_PICTOR,
|
|
AV_CODEC_ID_ANSI,
|
|
AV_CODEC_ID_A64_MULTI,
|
|
AV_CODEC_ID_A64_MULTI5,
|
|
AV_CODEC_ID_R10K,
|
|
AV_CODEC_ID_MXPEG,
|
|
AV_CODEC_ID_LAGARITH,
|
|
AV_CODEC_ID_PRORES,
|
|
AV_CODEC_ID_JV,
|
|
AV_CODEC_ID_DFA,
|
|
AV_CODEC_ID_WMV3IMAGE,
|
|
AV_CODEC_ID_VC1IMAGE,
|
|
AV_CODEC_ID_UTVIDEO,
|
|
AV_CODEC_ID_BMV_VIDEO,
|
|
AV_CODEC_ID_VBLE,
|
|
AV_CODEC_ID_DXTORY,
|
|
AV_CODEC_ID_V410,
|
|
AV_CODEC_ID_XWD,
|
|
AV_CODEC_ID_CDXL,
|
|
AV_CODEC_ID_XBM,
|
|
AV_CODEC_ID_ZEROCODEC,
|
|
AV_CODEC_ID_MSS1,
|
|
AV_CODEC_ID_MSA1,
|
|
AV_CODEC_ID_TSCC2,
|
|
AV_CODEC_ID_MTS2,
|
|
AV_CODEC_ID_CLLC,
|
|
AV_CODEC_ID_MSS2,
|
|
AV_CODEC_ID_VP9,
|
|
AV_CODEC_ID_AIC,
|
|
AV_CODEC_ID_ESCAPE130,
|
|
AV_CODEC_ID_G2M,
|
|
AV_CODEC_ID_WEBP,
|
|
AV_CODEC_ID_HNM4_VIDEO,
|
|
AV_CODEC_ID_HEVC,
|
|
#define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
|
|
AV_CODEC_ID_FIC,
|
|
AV_CODEC_ID_ALIAS_PIX,
|
|
AV_CODEC_ID_BRENDER_PIX,
|
|
AV_CODEC_ID_PAF_VIDEO,
|
|
AV_CODEC_ID_EXR,
|
|
AV_CODEC_ID_VP7,
|
|
AV_CODEC_ID_SANM,
|
|
AV_CODEC_ID_SGIRLE,
|
|
AV_CODEC_ID_MVC1,
|
|
AV_CODEC_ID_MVC2,
|
|
AV_CODEC_ID_HQX,
|
|
AV_CODEC_ID_TDSC,
|
|
AV_CODEC_ID_HQ_HQA,
|
|
AV_CODEC_ID_HAP,
|
|
AV_CODEC_ID_DDS,
|
|
AV_CODEC_ID_DXV,
|
|
AV_CODEC_ID_SCREENPRESSO,
|
|
AV_CODEC_ID_RSCC,
|
|
AV_CODEC_ID_AVS2,
|
|
AV_CODEC_ID_PGX,
|
|
AV_CODEC_ID_AVS3,
|
|
AV_CODEC_ID_MSP2,
|
|
AV_CODEC_ID_VVC,
|
|
#define AV_CODEC_ID_H266 AV_CODEC_ID_VVC
|
|
AV_CODEC_ID_Y41P,
|
|
AV_CODEC_ID_AVRP,
|
|
AV_CODEC_ID_012V,
|
|
AV_CODEC_ID_AVUI,
|
|
AV_CODEC_ID_AYUV,
|
|
AV_CODEC_ID_TARGA_Y216,
|
|
AV_CODEC_ID_V308,
|
|
AV_CODEC_ID_V408,
|
|
AV_CODEC_ID_YUV4,
|
|
AV_CODEC_ID_AVRN,
|
|
AV_CODEC_ID_CPIA,
|
|
AV_CODEC_ID_XFACE,
|
|
AV_CODEC_ID_SNOW,
|
|
AV_CODEC_ID_SMVJPEG,
|
|
AV_CODEC_ID_APNG,
|
|
AV_CODEC_ID_DAALA,
|
|
AV_CODEC_ID_CFHD,
|
|
AV_CODEC_ID_TRUEMOTION2RT,
|
|
AV_CODEC_ID_M101,
|
|
AV_CODEC_ID_MAGICYUV,
|
|
AV_CODEC_ID_SHEERVIDEO,
|
|
AV_CODEC_ID_YLC,
|
|
AV_CODEC_ID_PSD,
|
|
AV_CODEC_ID_PIXLET,
|
|
AV_CODEC_ID_SPEEDHQ,
|
|
AV_CODEC_ID_FMVC,
|
|
AV_CODEC_ID_SCPR,
|
|
AV_CODEC_ID_CLEARVIDEO,
|
|
AV_CODEC_ID_XPM,
|
|
AV_CODEC_ID_AV1,
|
|
AV_CODEC_ID_BITPACKED,
|
|
AV_CODEC_ID_MSCC,
|
|
AV_CODEC_ID_SRGC,
|
|
AV_CODEC_ID_SVG,
|
|
AV_CODEC_ID_GDV,
|
|
AV_CODEC_ID_FITS,
|
|
AV_CODEC_ID_IMM4,
|
|
AV_CODEC_ID_PROSUMER,
|
|
AV_CODEC_ID_MWSC,
|
|
AV_CODEC_ID_WCMV,
|
|
AV_CODEC_ID_RASC,
|
|
AV_CODEC_ID_HYMT,
|
|
AV_CODEC_ID_ARBC,
|
|
AV_CODEC_ID_AGM,
|
|
AV_CODEC_ID_LSCR,
|
|
AV_CODEC_ID_VP4,
|
|
AV_CODEC_ID_IMM5,
|
|
AV_CODEC_ID_MVDV,
|
|
AV_CODEC_ID_MVHA,
|
|
AV_CODEC_ID_CDTOONS,
|
|
AV_CODEC_ID_MV30,
|
|
AV_CODEC_ID_NOTCHLC,
|
|
AV_CODEC_ID_PFM,
|
|
AV_CODEC_ID_MOBICLIP,
|
|
AV_CODEC_ID_PHOTOCD,
|
|
AV_CODEC_ID_IPU,
|
|
AV_CODEC_ID_ARGO,
|
|
AV_CODEC_ID_CRI,
|
|
AV_CODEC_ID_SIMBIOSIS_IMX,
|
|
AV_CODEC_ID_SGA_VIDEO,
|
|
|
|
/* various PCM "codecs" */
|
|
AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
|
|
AV_CODEC_ID_PCM_S16LE = 0x10000,
|
|
AV_CODEC_ID_PCM_S16BE,
|
|
AV_CODEC_ID_PCM_U16LE,
|
|
AV_CODEC_ID_PCM_U16BE,
|
|
AV_CODEC_ID_PCM_S8,
|
|
AV_CODEC_ID_PCM_U8,
|
|
AV_CODEC_ID_PCM_MULAW,
|
|
AV_CODEC_ID_PCM_ALAW,
|
|
AV_CODEC_ID_PCM_S32LE,
|
|
AV_CODEC_ID_PCM_S32BE,
|
|
AV_CODEC_ID_PCM_U32LE,
|
|
AV_CODEC_ID_PCM_U32BE,
|
|
AV_CODEC_ID_PCM_S24LE,
|
|
AV_CODEC_ID_PCM_S24BE,
|
|
AV_CODEC_ID_PCM_U24LE,
|
|
AV_CODEC_ID_PCM_U24BE,
|
|
AV_CODEC_ID_PCM_S24DAUD,
|
|
AV_CODEC_ID_PCM_ZORK,
|
|
AV_CODEC_ID_PCM_S16LE_PLANAR,
|
|
AV_CODEC_ID_PCM_DVD,
|
|
AV_CODEC_ID_PCM_F32BE,
|
|
AV_CODEC_ID_PCM_F32LE,
|
|
AV_CODEC_ID_PCM_F64BE,
|
|
AV_CODEC_ID_PCM_F64LE,
|
|
AV_CODEC_ID_PCM_BLURAY,
|
|
AV_CODEC_ID_PCM_LXF,
|
|
AV_CODEC_ID_S302M,
|
|
AV_CODEC_ID_PCM_S8_PLANAR,
|
|
AV_CODEC_ID_PCM_S24LE_PLANAR,
|
|
AV_CODEC_ID_PCM_S32LE_PLANAR,
|
|
AV_CODEC_ID_PCM_S16BE_PLANAR,
|
|
AV_CODEC_ID_PCM_S64LE,
|
|
AV_CODEC_ID_PCM_S64BE,
|
|
AV_CODEC_ID_PCM_F16LE,
|
|
AV_CODEC_ID_PCM_F24LE,
|
|
AV_CODEC_ID_PCM_VIDC,
|
|
AV_CODEC_ID_PCM_SGA,
|
|
|
|
/* various ADPCM codecs */
|
|
AV_CODEC_ID_ADPCM_IMA_QT = 0x11000,
|
|
AV_CODEC_ID_ADPCM_IMA_WAV,
|
|
AV_CODEC_ID_ADPCM_IMA_DK3,
|
|
AV_CODEC_ID_ADPCM_IMA_DK4,
|
|
AV_CODEC_ID_ADPCM_IMA_WS,
|
|
AV_CODEC_ID_ADPCM_IMA_SMJPEG,
|
|
AV_CODEC_ID_ADPCM_MS,
|
|
AV_CODEC_ID_ADPCM_4XM,
|
|
AV_CODEC_ID_ADPCM_XA,
|
|
AV_CODEC_ID_ADPCM_ADX,
|
|
AV_CODEC_ID_ADPCM_EA,
|
|
AV_CODEC_ID_ADPCM_G726,
|
|
AV_CODEC_ID_ADPCM_CT,
|
|
AV_CODEC_ID_ADPCM_SWF,
|
|
AV_CODEC_ID_ADPCM_YAMAHA,
|
|
AV_CODEC_ID_ADPCM_SBPRO_4,
|
|
AV_CODEC_ID_ADPCM_SBPRO_3,
|
|
AV_CODEC_ID_ADPCM_SBPRO_2,
|
|
AV_CODEC_ID_ADPCM_THP,
|
|
AV_CODEC_ID_ADPCM_IMA_AMV,
|
|
AV_CODEC_ID_ADPCM_EA_R1,
|
|
AV_CODEC_ID_ADPCM_EA_R3,
|
|
AV_CODEC_ID_ADPCM_EA_R2,
|
|
AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
|
|
AV_CODEC_ID_ADPCM_IMA_EA_EACS,
|
|
AV_CODEC_ID_ADPCM_EA_XAS,
|
|
AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
|
|
AV_CODEC_ID_ADPCM_IMA_ISS,
|
|
AV_CODEC_ID_ADPCM_G722,
|
|
AV_CODEC_ID_ADPCM_IMA_APC,
|
|
AV_CODEC_ID_ADPCM_VIMA,
|
|
AV_CODEC_ID_ADPCM_AFC,
|
|
AV_CODEC_ID_ADPCM_IMA_OKI,
|
|
AV_CODEC_ID_ADPCM_DTK,
|
|
AV_CODEC_ID_ADPCM_IMA_RAD,
|
|
AV_CODEC_ID_ADPCM_G726LE,
|
|
AV_CODEC_ID_ADPCM_THP_LE,
|
|
AV_CODEC_ID_ADPCM_PSX,
|
|
AV_CODEC_ID_ADPCM_AICA,
|
|
AV_CODEC_ID_ADPCM_IMA_DAT4,
|
|
AV_CODEC_ID_ADPCM_MTAF,
|
|
AV_CODEC_ID_ADPCM_AGM,
|
|
AV_CODEC_ID_ADPCM_ARGO,
|
|
AV_CODEC_ID_ADPCM_IMA_SSI,
|
|
AV_CODEC_ID_ADPCM_ZORK,
|
|
AV_CODEC_ID_ADPCM_IMA_APM,
|
|
AV_CODEC_ID_ADPCM_IMA_ALP,
|
|
AV_CODEC_ID_ADPCM_IMA_MTF,
|
|
AV_CODEC_ID_ADPCM_IMA_CUNNING,
|
|
AV_CODEC_ID_ADPCM_IMA_MOFLEX,
|
|
AV_CODEC_ID_ADPCM_IMA_ACORN,
|
|
|
|
/* AMR */
|
|
AV_CODEC_ID_AMR_NB = 0x12000,
|
|
AV_CODEC_ID_AMR_WB,
|
|
|
|
/* RealAudio codecs*/
|
|
AV_CODEC_ID_RA_144 = 0x13000,
|
|
AV_CODEC_ID_RA_288,
|
|
|
|
/* various DPCM codecs */
|
|
AV_CODEC_ID_ROQ_DPCM = 0x14000,
|
|
AV_CODEC_ID_INTERPLAY_DPCM,
|
|
AV_CODEC_ID_XAN_DPCM,
|
|
AV_CODEC_ID_SOL_DPCM,
|
|
AV_CODEC_ID_SDX2_DPCM,
|
|
AV_CODEC_ID_GREMLIN_DPCM,
|
|
AV_CODEC_ID_DERF_DPCM,
|
|
|
|
/* audio codecs */
|
|
AV_CODEC_ID_MP2 = 0x15000,
|
|
AV_CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3
|
|
AV_CODEC_ID_AAC,
|
|
AV_CODEC_ID_AC3,
|
|
AV_CODEC_ID_DTS,
|
|
AV_CODEC_ID_VORBIS,
|
|
AV_CODEC_ID_DVAUDIO,
|
|
AV_CODEC_ID_WMAV1,
|
|
AV_CODEC_ID_WMAV2,
|
|
AV_CODEC_ID_MACE3,
|
|
AV_CODEC_ID_MACE6,
|
|
AV_CODEC_ID_VMDAUDIO,
|
|
AV_CODEC_ID_FLAC,
|
|
AV_CODEC_ID_MP3ADU,
|
|
AV_CODEC_ID_MP3ON4,
|
|
AV_CODEC_ID_SHORTEN,
|
|
AV_CODEC_ID_ALAC,
|
|
AV_CODEC_ID_WESTWOOD_SND1,
|
|
AV_CODEC_ID_GSM, ///< as in Berlin toast format
|
|
AV_CODEC_ID_QDM2,
|
|
AV_CODEC_ID_COOK,
|
|
AV_CODEC_ID_TRUESPEECH,
|
|
AV_CODEC_ID_TTA,
|
|
AV_CODEC_ID_SMACKAUDIO,
|
|
AV_CODEC_ID_QCELP,
|
|
AV_CODEC_ID_WAVPACK,
|
|
AV_CODEC_ID_DSICINAUDIO,
|
|
AV_CODEC_ID_IMC,
|
|
AV_CODEC_ID_MUSEPACK7,
|
|
AV_CODEC_ID_MLP,
|
|
AV_CODEC_ID_GSM_MS, /* as found in WAV */
|
|
AV_CODEC_ID_ATRAC3,
|
|
AV_CODEC_ID_APE,
|
|
AV_CODEC_ID_NELLYMOSER,
|
|
AV_CODEC_ID_MUSEPACK8,
|
|
AV_CODEC_ID_SPEEX,
|
|
AV_CODEC_ID_WMAVOICE,
|
|
AV_CODEC_ID_WMAPRO,
|
|
AV_CODEC_ID_WMALOSSLESS,
|
|
AV_CODEC_ID_ATRAC3P,
|
|
AV_CODEC_ID_EAC3,
|
|
AV_CODEC_ID_SIPR,
|
|
AV_CODEC_ID_MP1,
|
|
AV_CODEC_ID_TWINVQ,
|
|
AV_CODEC_ID_TRUEHD,
|
|
AV_CODEC_ID_MP4ALS,
|
|
AV_CODEC_ID_ATRAC1,
|
|
AV_CODEC_ID_BINKAUDIO_RDFT,
|
|
AV_CODEC_ID_BINKAUDIO_DCT,
|
|
AV_CODEC_ID_AAC_LATM,
|
|
AV_CODEC_ID_QDMC,
|
|
AV_CODEC_ID_CELT,
|
|
AV_CODEC_ID_G723_1,
|
|
AV_CODEC_ID_G729,
|
|
AV_CODEC_ID_8SVX_EXP,
|
|
AV_CODEC_ID_8SVX_FIB,
|
|
AV_CODEC_ID_BMV_AUDIO,
|
|
AV_CODEC_ID_RALF,
|
|
AV_CODEC_ID_IAC,
|
|
AV_CODEC_ID_ILBC,
|
|
AV_CODEC_ID_OPUS,
|
|
AV_CODEC_ID_COMFORT_NOISE,
|
|
AV_CODEC_ID_TAK,
|
|
AV_CODEC_ID_METASOUND,
|
|
AV_CODEC_ID_PAF_AUDIO,
|
|
AV_CODEC_ID_ON2AVC,
|
|
AV_CODEC_ID_DSS_SP,
|
|
AV_CODEC_ID_CODEC2,
|
|
AV_CODEC_ID_FFWAVESYNTH,
|
|
AV_CODEC_ID_SONIC,
|
|
AV_CODEC_ID_SONIC_LS,
|
|
AV_CODEC_ID_EVRC,
|
|
AV_CODEC_ID_SMV,
|
|
AV_CODEC_ID_DSD_LSBF,
|
|
AV_CODEC_ID_DSD_MSBF,
|
|
AV_CODEC_ID_DSD_LSBF_PLANAR,
|
|
AV_CODEC_ID_DSD_MSBF_PLANAR,
|
|
AV_CODEC_ID_4GV,
|
|
AV_CODEC_ID_INTERPLAY_ACM,
|
|
AV_CODEC_ID_XMA1,
|
|
AV_CODEC_ID_XMA2,
|
|
AV_CODEC_ID_DST,
|
|
AV_CODEC_ID_ATRAC3AL,
|
|
AV_CODEC_ID_ATRAC3PAL,
|
|
AV_CODEC_ID_DOLBY_E,
|
|
AV_CODEC_ID_APTX,
|
|
AV_CODEC_ID_APTX_HD,
|
|
AV_CODEC_ID_SBC,
|
|
AV_CODEC_ID_ATRAC9,
|
|
AV_CODEC_ID_HCOM,
|
|
AV_CODEC_ID_ACELP_KELVIN,
|
|
AV_CODEC_ID_MPEGH_3D_AUDIO,
|
|
AV_CODEC_ID_SIREN,
|
|
AV_CODEC_ID_HCA,
|
|
AV_CODEC_ID_FASTAUDIO,
|
|
AV_CODEC_ID_MSNSIREN,
|
|
|
|
/* subtitle codecs */
|
|
AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
|
|
AV_CODEC_ID_DVD_SUBTITLE = 0x17000,
|
|
AV_CODEC_ID_DVB_SUBTITLE,
|
|
AV_CODEC_ID_TEXT, ///< raw UTF-8 text
|
|
AV_CODEC_ID_XSUB,
|
|
AV_CODEC_ID_SSA,
|
|
AV_CODEC_ID_MOV_TEXT,
|
|
AV_CODEC_ID_HDMV_PGS_SUBTITLE,
|
|
AV_CODEC_ID_DVB_TELETEXT,
|
|
AV_CODEC_ID_SRT,
|
|
AV_CODEC_ID_MICRODVD,
|
|
AV_CODEC_ID_EIA_608,
|
|
AV_CODEC_ID_JACOSUB,
|
|
AV_CODEC_ID_SAMI,
|
|
AV_CODEC_ID_REALTEXT,
|
|
AV_CODEC_ID_STL,
|
|
AV_CODEC_ID_SUBVIEWER1,
|
|
AV_CODEC_ID_SUBVIEWER,
|
|
AV_CODEC_ID_SUBRIP,
|
|
AV_CODEC_ID_WEBVTT,
|
|
AV_CODEC_ID_MPL2,
|
|
AV_CODEC_ID_VPLAYER,
|
|
AV_CODEC_ID_PJS,
|
|
AV_CODEC_ID_ASS,
|
|
AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
|
|
AV_CODEC_ID_TTML,
|
|
AV_CODEC_ID_ARIB_CAPTION,
|
|
|
|
/* other specific kind of codecs (generally used for attachments) */
|
|
AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
|
|
AV_CODEC_ID_TTF = 0x18000,
|
|
|
|
AV_CODEC_ID_SCTE_35, ///< Contain timestamp estimated through PCR of program stream.
|
|
AV_CODEC_ID_EPG,
|
|
AV_CODEC_ID_BINTEXT,
|
|
AV_CODEC_ID_XBIN,
|
|
AV_CODEC_ID_IDF,
|
|
AV_CODEC_ID_OTF,
|
|
AV_CODEC_ID_SMPTE_KLV,
|
|
AV_CODEC_ID_DVD_NAV,
|
|
AV_CODEC_ID_TIMED_ID3,
|
|
AV_CODEC_ID_BIN_DATA,
|
|
|
|
|
|
AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it
|
|
|
|
AV_CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS
|
|
* stream (only used by libavformat) */
|
|
AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems
|
|
* stream (only used by libavformat) */
|
|
AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information.
|
|
AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, ///< Passthrough codec, AVFrames wrapped in AVPacket
|
|
};
|
|
|
|
/**
|
|
* Get the type of the given codec.
|
|
*/
|
|
enum AVMediaType avcodec_get_type(enum AVCodecID codec_id);
|
|
|
|
/**
|
|
* Get the name of a codec.
|
|
* @return a static string identifying the codec; never NULL
|
|
*/
|
|
const char *avcodec_get_name(enum AVCodecID id);
|
|
|
|
/**
|
|
* Return codec bits per sample.
|
|
*
|
|
* @param[in] codec_id the codec
|
|
* @return Number of bits per sample or zero if unknown for the given codec.
|
|
*/
|
|
int av_get_bits_per_sample(enum AVCodecID codec_id);
|
|
|
|
/**
|
|
* Return codec bits per sample.
|
|
* Only return non-zero if the bits per sample is exactly correct, not an
|
|
* approximation.
|
|
*
|
|
* @param[in] codec_id the codec
|
|
* @return Number of bits per sample or zero if unknown for the given codec.
|
|
*/
|
|
int av_get_exact_bits_per_sample(enum AVCodecID codec_id);
|
|
|
|
/**
|
|
* Return a name for the specified profile, if available.
|
|
*
|
|
* @param codec_id the ID of the codec to which the requested profile belongs
|
|
* @param profile the profile value for which a name is requested
|
|
* @return A name for the profile if found, NULL otherwise.
|
|
*
|
|
* @note unlike av_get_profile_name(), which searches a list of profiles
|
|
* supported by a specific decoder or encoder implementation, this
|
|
* function searches the list of profiles from the AVCodecDescriptor
|
|
*/
|
|
const char *avcodec_profile_name(enum AVCodecID codec_id, int profile);
|
|
|
|
/**
|
|
* Return the PCM codec associated with a sample format.
|
|
* @param be endianness, 0 for little, 1 for big,
|
|
* -1 (or anything else) for native
|
|
* @return AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE
|
|
*/
|
|
enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be);
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
#endif // AVCODEC_CODEC_ID_H
|