This WIP patch adds descriptors for codec ids, similar to what exists for pixel
formats. They will allow us to export properties that are inherent to a codec,
not its specific implementation. The users will also be able to access them even
if no decoder or encoder is compiled in.
E.g.:
* name -- there is currently no way for the user to get a name of a codec
without referring to a specific en/decoder.
The point I'm not decided about is whether we should have two separate fields
for name/long name or just one (equivalent to long name i suppose).
* type -- avcodec_get_type() is an ugly hack. This would allow to implement it
cleanly.
* various other properties, like intra only or reordering for video. I'm sure
people will think of some other.
---
libavcodec/Makefile | 1 +
libavcodec/avcodec.h | 16 +
libavcodec/codec_desc.c | 1567 +++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 1584 insertions(+)
create mode 100644 libavcodec/codec_desc.c
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 9bff68f..0f8928b 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -16,6 +16,7 @@ OBJS = allcodecs.o
\
avpacket.o \
bitstream.o \
bitstream_filter.o \
+ codec_desc.o \
dsputil.o \
faanidct.o \
fmtconvert.o \
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index b807ae4..94b7839 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -430,6 +430,17 @@ enum AVCodecID {
AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams
containing only metadata information.
};
+/**
+ * This struct describes the properties of a single codec described by an
+ * AVCodecID.
+ * @see avcodec_get_descriptor()
+ */
+typedef struct AVCodecDescriptor {
+ enum AVCodecID id;
+ enum AVMediaType type;
+ const char *name;
+} AVCodecDescriptor;
+
#if FF_API_OLD_DECODE_AUDIO
/* in bytes */
#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
@@ -4500,6 +4511,11 @@ int av_codec_is_encoder(AVCodec *codec);
int av_codec_is_decoder(AVCodec *codec);
/**
+ * @return descriptor for given codec ID or NULL if no descriptor exists.
+ */
+const AVCodecDescriptor *avcodec_get_descriptor(enum AVCodecID id);
+
+/**
* @}
*/
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
new file mode 100644
index 0000000..ba2f433
--- /dev/null
+++ b/libavcodec/codec_desc.c
@@ -0,0 +1,1567 @@
+/*
+ * This file is part of Libav.
+ *
+ * Libav 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.
+ *
+ * Libav 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 Libav; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "avcodec.h"
+
+static const AVCodecDescriptor codec_descriptors[] = {
+ /* video codecs */
+ {
+ .id = AV_CODEC_ID_MPEG1VIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MPEG1VIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_MPEG2VIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MPEG2VIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_MPEG2VIDEO_XVMC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MPEG2VIDEO_XVMC",
+ },
+ {
+ .id = AV_CODEC_ID_H261,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "H.261",
+ },
+ {
+ .id = AV_CODEC_ID_H263,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "H.263",
+ },
+ {
+ .id = AV_CODEC_ID_RV10,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "RV10",
+ },
+ {
+ .id = AV_CODEC_ID_RV20,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "RV20",
+ },
+ {
+ .id = AV_CODEC_ID_MJPEG,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MJPEG",
+ },
+ {
+ .id = AV_CODEC_ID_MJPEGB,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MJPEGB",
+ },
+ {
+ .id = AV_CODEC_ID_LJPEG,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "LJPEG",
+ },
+ {
+ .id = AV_CODEC_ID_SP5X,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "SP5X",
+ },
+ {
+ .id = AV_CODEC_ID_JPEGLS,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "JPEGLS",
+ },
+ {
+ .id = AV_CODEC_ID_MPEG4,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MPEG4",
+ },
+ {
+ .id = AV_CODEC_ID_RAWVIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "RAWVIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_MSMPEG4V1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MSMPEG4V1",
+ },
+ {
+ .id = AV_CODEC_ID_MSMPEG4V2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MSMPEG4V2",
+ },
+ {
+ .id = AV_CODEC_ID_MSMPEG4V3,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MSMPEG4V3",
+ },
+ {
+ .id = AV_CODEC_ID_WMV1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "WMV1",
+ },
+ {
+ .id = AV_CODEC_ID_WMV2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "WMV2",
+ },
+ {
+ .id = AV_CODEC_ID_H263P,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "H.263P",
+ },
+ {
+ .id = AV_CODEC_ID_H263I,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "H.263I",
+ },
+ {
+ .id = AV_CODEC_ID_FLV1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "FLV1",
+ },
+ {
+ .id = AV_CODEC_ID_SVQ1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "SVQ1",
+ },
+ {
+ .id = AV_CODEC_ID_SVQ3,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "SVQ3",
+ },
+ {
+ .id = AV_CODEC_ID_DVVIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "DVVIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_HUFFYUV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "HUFFYUV",
+ },
+ {
+ .id = AV_CODEC_ID_CYUV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "CYUV",
+ },
+ {
+ .id = AV_CODEC_ID_H264,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "H.264",
+ },
+ {
+ .id = AV_CODEC_ID_INDEO3,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "INDEO3",
+ },
+ {
+ .id = AV_CODEC_ID_VP3,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VP3",
+ },
+ {
+ .id = AV_CODEC_ID_THEORA,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "THEORA",
+ },
+ {
+ .id = AV_CODEC_ID_ASV1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ASV1",
+ },
+ {
+ .id = AV_CODEC_ID_ASV2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ASV2",
+ },
+ {
+ .id = AV_CODEC_ID_FFV1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "FFV1",
+ },
+ {
+ .id = AV_CODEC_ID_4XM,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "4XM",
+ },
+ {
+ .id = AV_CODEC_ID_VCR1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VCR1",
+ },
+ {
+ .id = AV_CODEC_ID_CLJR,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "CLJR",
+ },
+ {
+ .id = AV_CODEC_ID_MDEC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MDEC",
+ },
+ {
+ .id = AV_CODEC_ID_ROQ,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ROQ",
+ },
+ {
+ .id = AV_CODEC_ID_INTERPLAY_VIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "INTERPLAY_VIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_XAN_WC3,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "XAN_WC3",
+ },
+ {
+ .id = AV_CODEC_ID_XAN_WC4,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "XAN_WC4",
+ },
+ {
+ .id = AV_CODEC_ID_RPZA,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "RPZA",
+ },
+ {
+ .id = AV_CODEC_ID_CINEPAK,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "CINEPAK",
+ },
+ {
+ .id = AV_CODEC_ID_WS_VQA,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "WS_VQA",
+ },
+ {
+ .id = AV_CODEC_ID_MSRLE,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MSRLE",
+ },
+ {
+ .id = AV_CODEC_ID_MSVIDEO1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MSVIDEO1",
+ },
+ {
+ .id = AV_CODEC_ID_IDCIN,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "IDCIN",
+ },
+ {
+ .id = AV_CODEC_ID_8BPS,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "8BPS",
+ },
+ {
+ .id = AV_CODEC_ID_SMC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "SMC",
+ },
+ {
+ .id = AV_CODEC_ID_FLIC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "FLIC",
+ },
+ {
+ .id = AV_CODEC_ID_TRUEMOTION1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TRUEMOTION1",
+ },
+ {
+ .id = AV_CODEC_ID_VMDVIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VMDVIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_MSZH,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MSZH",
+ },
+ {
+ .id = AV_CODEC_ID_ZLIB,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ZLIB",
+ },
+ {
+ .id = AV_CODEC_ID_QTRLE,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "QTRLE",
+ },
+ {
+ .id = AV_CODEC_ID_SNOW,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "SNOW",
+ },
+ {
+ .id = AV_CODEC_ID_TSCC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TSCC",
+ },
+ {
+ .id = AV_CODEC_ID_ULTI,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ULTI",
+ },
+ {
+ .id = AV_CODEC_ID_QDRAW,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "QDRAW",
+ },
+ {
+ .id = AV_CODEC_ID_VIXL,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VIXL",
+ },
+ {
+ .id = AV_CODEC_ID_QPEG,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "QPEG",
+ },
+ {
+ .id = AV_CODEC_ID_PNG,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PNG",
+ },
+ {
+ .id = AV_CODEC_ID_PPM,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PPM",
+ },
+ {
+ .id = AV_CODEC_ID_PBM,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PBM",
+ },
+ {
+ .id = AV_CODEC_ID_PGM,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PGM",
+ },
+ {
+ .id = AV_CODEC_ID_PGMYUV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PGMYUV",
+ },
+ {
+ .id = AV_CODEC_ID_PAM,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PAM",
+ },
+ {
+ .id = AV_CODEC_ID_FFVHUFF,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "FFVHUFF",
+ },
+ {
+ .id = AV_CODEC_ID_RV30,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "RV30",
+ },
+ {
+ .id = AV_CODEC_ID_RV40,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "RV40",
+ },
+ {
+ .id = AV_CODEC_ID_VC1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VC1",
+ },
+ {
+ .id = AV_CODEC_ID_WMV3,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "WMV3",
+ },
+ {
+ .id = AV_CODEC_ID_LOCO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "LOCO",
+ },
+ {
+ .id = AV_CODEC_ID_WNV1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "WNV1",
+ },
+ {
+ .id = AV_CODEC_ID_AASC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "AASC",
+ },
+ {
+ .id = AV_CODEC_ID_INDEO2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "INDEO2",
+ },
+ {
+ .id = AV_CODEC_ID_FRAPS,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "FRAPS",
+ },
+ {
+ .id = AV_CODEC_ID_TRUEMOTION2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TRUEMOTION2",
+ },
+ {
+ .id = AV_CODEC_ID_BMP,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "BMP",
+ },
+ {
+ .id = AV_CODEC_ID_CSCD,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "CSCD",
+ },
+ {
+ .id = AV_CODEC_ID_MMVIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MMVIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_ZMBV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ZMBV",
+ },
+ {
+ .id = AV_CODEC_ID_AVS,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "AVS",
+ },
+ {
+ .id = AV_CODEC_ID_SMACKVIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "SMACKVIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_NUV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "NUV",
+ },
+ {
+ .id = AV_CODEC_ID_KMVC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "KMVC",
+ },
+ {
+ .id = AV_CODEC_ID_FLASHSV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "FLASHSV",
+ },
+ {
+ .id = AV_CODEC_ID_CAVS,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "CAVS",
+ },
+ {
+ .id = AV_CODEC_ID_JPEG2000,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "JPEG2000",
+ },
+ {
+ .id = AV_CODEC_ID_VMNC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VMNC",
+ },
+ {
+ .id = AV_CODEC_ID_VP5,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VP5",
+ },
+ {
+ .id = AV_CODEC_ID_VP6,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VP6",
+ },
+ {
+ .id = AV_CODEC_ID_VP6F,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VP6F",
+ },
+ {
+ .id = AV_CODEC_ID_TARGA,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TARGA",
+ },
+ {
+ .id = AV_CODEC_ID_DSICINVIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "DSICINVIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_TIERTEXSEQVIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TIERTEXSEQVIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_TIFF,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TIFF",
+ },
+ {
+ .id = AV_CODEC_ID_GIF,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "GIF",
+ },
+ {
+ .id = AV_CODEC_ID_DXA,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "DXA",
+ },
+ {
+ .id = AV_CODEC_ID_DNXHD,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "DNXHD",
+ },
+ {
+ .id = AV_CODEC_ID_THP,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "THP",
+ },
+ {
+ .id = AV_CODEC_ID_SGI,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "SGI",
+ },
+ {
+ .id = AV_CODEC_ID_C93,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "C93",
+ },
+ {
+ .id = AV_CODEC_ID_BETHSOFTVID,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "BETHSOFTVID",
+ },
+ {
+ .id = AV_CODEC_ID_PTX,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PTX",
+ },
+ {
+ .id = AV_CODEC_ID_TXD,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TXD",
+ },
+ {
+ .id = AV_CODEC_ID_VP6A,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VP6A",
+ },
+ {
+ .id = AV_CODEC_ID_AMV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "AMV",
+ },
+ {
+ .id = AV_CODEC_ID_VB,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VB",
+ },
+ {
+ .id = AV_CODEC_ID_PCX,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PCX",
+ },
+ {
+ .id = AV_CODEC_ID_SUNRAST,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "SUNRAST",
+ },
+ {
+ .id = AV_CODEC_ID_INDEO4,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "INDEO4",
+ },
+ {
+ .id = AV_CODEC_ID_INDEO5,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "INDEO5",
+ },
+ {
+ .id = AV_CODEC_ID_MIMIC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MIMIC",
+ },
+ {
+ .id = AV_CODEC_ID_RL2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "RL2",
+ },
+ {
+ .id = AV_CODEC_ID_ESCAPE124,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ESCAPE124",
+ },
+ {
+ .id = AV_CODEC_ID_DIRAC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "DIRAC",
+ },
+ {
+ .id = AV_CODEC_ID_BFI,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "BFI",
+ },
+ {
+ .id = AV_CODEC_ID_CMV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "CMV",
+ },
+ {
+ .id = AV_CODEC_ID_MOTIONPIXELS,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MOTIONPIXELS",
+ },
+ {
+ .id = AV_CODEC_ID_TGV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TGV",
+ },
+ {
+ .id = AV_CODEC_ID_TGQ,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TGQ",
+ },
+ {
+ .id = AV_CODEC_ID_TQI,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TQI",
+ },
+ {
+ .id = AV_CODEC_ID_AURA,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "AURA",
+ },
+ {
+ .id = AV_CODEC_ID_AURA2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "AURA2",
+ },
+ {
+ .id = AV_CODEC_ID_V210X,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "V210X",
+ },
+ {
+ .id = AV_CODEC_ID_TMV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TMV",
+ },
+ {
+ .id = AV_CODEC_ID_V210,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "V210",
+ },
+ {
+ .id = AV_CODEC_ID_DPX,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "DPX",
+ },
+ {
+ .id = AV_CODEC_ID_MAD,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MAD",
+ },
+ {
+ .id = AV_CODEC_ID_FRWU,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "FRWU",
+ },
+ {
+ .id = AV_CODEC_ID_FLASHSV2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "FLASHSV2",
+ },
+ {
+ .id = AV_CODEC_ID_CDGRAPHICS,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "CDGRAPHICS",
+ },
+ {
+ .id = AV_CODEC_ID_R210,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "R210",
+ },
+ {
+ .id = AV_CODEC_ID_ANM,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ANM",
+ },
+ {
+ .id = AV_CODEC_ID_BINKVIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "BINKVIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_IFF_ILBM,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "IFF_ILBM",
+ },
+ {
+ .id = AV_CODEC_ID_IFF_BYTERUN1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "IFF_BYTERUN1",
+ },
+ {
+ .id = AV_CODEC_ID_KGV1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "KGV1",
+ },
+ {
+ .id = AV_CODEC_ID_YOP,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "YOP",
+ },
+ {
+ .id = AV_CODEC_ID_VP8,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VP8",
+ },
+ {
+ .id = AV_CODEC_ID_PICTOR,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PICTOR",
+ },
+ {
+ .id = AV_CODEC_ID_ANSI,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ANSI",
+ },
+ {
+ .id = AV_CODEC_ID_A64_MULTI,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "A64_MULTI",
+ },
+ {
+ .id = AV_CODEC_ID_A64_MULTI5,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "A64_MULTI5",
+ },
+ {
+ .id = AV_CODEC_ID_R10K,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "R10K",
+ },
+ {
+ .id = AV_CODEC_ID_MXPEG,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MXPEG",
+ },
+ {
+ .id = AV_CODEC_ID_LAGARITH,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "LAGARITH",
+ },
+ {
+ .id = AV_CODEC_ID_PRORES,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "PRORES",
+ },
+ {
+ .id = AV_CODEC_ID_JV,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "JV",
+ },
+ {
+ .id = AV_CODEC_ID_DFA,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "DFA",
+ },
+ {
+ .id = AV_CODEC_ID_WMV3IMAGE,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "WMV3IMAGE",
+ },
+ {
+ .id = AV_CODEC_ID_VC1IMAGE,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VC1IMAGE",
+ },
+ {
+ .id = AV_CODEC_ID_UTVIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "UTVIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_BMV_VIDEO,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "BMV_VIDEO",
+ },
+ {
+ .id = AV_CODEC_ID_VBLE,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "VBLE",
+ },
+ {
+ .id = AV_CODEC_ID_DXTORY,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "DXTORY",
+ },
+ {
+ .id = AV_CODEC_ID_V410,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "V410",
+ },
+ {
+ .id = AV_CODEC_ID_XWD,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "XWD",
+ },
+ {
+ .id = AV_CODEC_ID_CDXL,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "CDXL",
+ },
+ {
+ .id = AV_CODEC_ID_XBM,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "XBM",
+ },
+ {
+ .id = AV_CODEC_ID_ZEROCODEC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "ZEROCODEC",
+ },
+ {
+ .id = AV_CODEC_ID_MSS1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MSS1",
+ },
+ {
+ .id = AV_CODEC_ID_MSA1,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MSA1",
+ },
+ {
+ .id = AV_CODEC_ID_TSCC2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "TSCC2",
+ },
+ {
+ .id = AV_CODEC_ID_MTS2,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "MTS2",
+ },
+ {
+ .id = AV_CODEC_ID_CLLC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "CLLC",
+ },
+
+ /* various PCM "codecs" */
+ {
+ .id = AV_CODEC_ID_PCM_S16LE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S16LE"
+ },
+ {
+ .id = AV_CODEC_ID_PCM_S16BE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S16BE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_U16LE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_U16LE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_U16BE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_U16BE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_S8,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S8",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_U8,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_U8",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_MULAW,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_MULAW",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_ALAW,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_ALAW",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_S32LE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S32LE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_S32BE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S32BE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_U32LE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_U32LE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_U32BE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_U32BE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_S24LE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S24LE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_S24BE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S24BE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_U24LE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_U24LE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_U24BE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_U24BE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_S24DAUD,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S24DAUD",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_ZORK,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_ZORK",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_S16LE_PLANAR,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S16LE_PLANAR",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_DVD,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_DVD",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_F32BE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_F32BE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_F32LE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_F32LE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_F64BE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_F64BE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_F64LE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_F64LE",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_BLURAY,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_BLURAY",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_LXF,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_LXF",
+ },
+ {
+ .id = AV_CODEC_ID_S302M,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "S302M",
+ },
+ {
+ .id = AV_CODEC_ID_PCM_S8_PLANAR,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "PCM_S8_PLANAR",
+ },
+
+ /* various ADPCM codecs */
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_QT,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_QT",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_WAV,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_WAV",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_DK3,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_DK3",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_DK4,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_DK4",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_WS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_WS",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_SMJPEG,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_SMJPEG",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_MS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_MS",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_4XM,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_4XM",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_XA,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_XA",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_ADX,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_ADX",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_EA,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_EA",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_G726,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_G726",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_CT,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_CT",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_SWF,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_SWF",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_YAMAHA,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_YAMAHA",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_SBPRO_4,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_SBPRO_4",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_SBPRO_3,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_SBPRO_3",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_SBPRO_2,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_SBPRO_2",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_THP,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_THP",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_AMV,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_AMV",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_EA_R1,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_EA_R1",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_EA_R3,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_EA_R3",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_EA_R2,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_EA_R2",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_EA_SEAD",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_EA_EACS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_EA_EACS",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_EA_XAS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_EA_XAS",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_EA_MAXIS_XA",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_ISS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_ISS",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_G722,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_G722",
+ },
+ {
+ .id = AV_CODEC_ID_ADPCM_IMA_APC,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ADPCM_IMA_APC",
+ },
+
+ /* AMR */
+ {
+ .id = AV_CODEC_ID_AMR_NB,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "AMR_NB",
+ },
+ {
+ .id = AV_CODEC_ID_AMR_WB,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "AMR_WB",
+ },
+
+ /* RealAudio codecs*/
+ {
+ .id = AV_CODEC_ID_RA_144,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "RA_144",
+ },
+ {
+ .id = AV_CODEC_ID_RA_288,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "RA_288",
+ },
+
+ /* various DPCM codecs */
+ {
+ .id = AV_CODEC_ID_ROQ_DPCM,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ROQ_DPCM",
+ },
+ {
+ .id = AV_CODEC_ID_INTERPLAY_DPCM,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "INTERPLAY_DPCM",
+ },
+ {
+ .id = AV_CODEC_ID_XAN_DPCM,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "XAN_DPCM",
+ },
+ {
+ .id = AV_CODEC_ID_SOL_DPCM,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "SOL_DPCM",
+ },
+
+ /* audio codecs */
+ {
+ .id = AV_CODEC_ID_MP2,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MP2",
+ },
+ {
+ .id = AV_CODEC_ID_MP3,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MP3",
+ },
+ {
+ .id = AV_CODEC_ID_AAC,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "AAC",
+ },
+ {
+ .id = AV_CODEC_ID_AC3,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "AC3",
+ },
+ {
+ .id = AV_CODEC_ID_DTS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "DTS",
+ },
+ {
+ .id = AV_CODEC_ID_VORBIS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "VORBIS",
+ },
+ {
+ .id = AV_CODEC_ID_DVAUDIO,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "DVAUDIO",
+ },
+ {
+ .id = AV_CODEC_ID_WMAV1,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "WMAV1",
+ },
+ {
+ .id = AV_CODEC_ID_WMAV2,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "WMAV2",
+ },
+ {
+ .id = AV_CODEC_ID_MACE3,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MACE3",
+ },
+ {
+ .id = AV_CODEC_ID_MACE6,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MACE6",
+ },
+ {
+ .id = AV_CODEC_ID_VMDAUDIO,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "VMDAUDIO",
+ },
+ {
+ .id = AV_CODEC_ID_FLAC,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "FLAC",
+ },
+ {
+ .id = AV_CODEC_ID_MP3ADU,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MP3ADU",
+ },
+ {
+ .id = AV_CODEC_ID_MP3ON4,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MP3ON4",
+ },
+ {
+ .id = AV_CODEC_ID_SHORTEN,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "SHORTEN",
+ },
+ {
+ .id = AV_CODEC_ID_ALAC,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ALAC",
+ },
+ {
+ .id = AV_CODEC_ID_WESTWOOD_SND1,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "WESTWOOD_SND1",
+ },
+ {
+ .id = AV_CODEC_ID_GSM,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "GSM",
+ },
+ {
+ .id = AV_CODEC_ID_QDM2,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "QDM2",
+ },
+ {
+ .id = AV_CODEC_ID_COOK,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "COOK",
+ },
+ {
+ .id = AV_CODEC_ID_TRUESPEECH,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "TRUESPEECH",
+ },
+ {
+ .id = AV_CODEC_ID_TTA,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "TTA",
+ },
+ {
+ .id = AV_CODEC_ID_SMACKAUDIO,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "SMACKAUDIO",
+ },
+ {
+ .id = AV_CODEC_ID_QCELP,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "QCELP",
+ },
+ {
+ .id = AV_CODEC_ID_WAVPACK,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "WAVPACK",
+ },
+ {
+ .id = AV_CODEC_ID_DSICINAUDIO,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "DSICINAUDIO",
+ },
+ {
+ .id = AV_CODEC_ID_IMC,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "IMC",
+ },
+ {
+ .id = AV_CODEC_ID_MUSEPACK7,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MUSEPACK7",
+ },
+ {
+ .id = AV_CODEC_ID_MLP,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MLP",
+ },
+ {
+ .id = AV_CODEC_ID_GSM_MS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "GSM_MS",
+ },
+ {
+ .id = AV_CODEC_ID_ATRAC3,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ATRAC3",
+ },
+ {
+ .id = AV_CODEC_ID_VOXWARE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "VOXWARE",
+ },
+ {
+ .id = AV_CODEC_ID_APE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "APE",
+ },
+ {
+ .id = AV_CODEC_ID_NELLYMOSER,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "NELLYMOSER",
+ },
+ {
+ .id = AV_CODEC_ID_MUSEPACK8,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MUSEPACK8",
+ },
+ {
+ .id = AV_CODEC_ID_SPEEX,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "SPEEX",
+ },
+ {
+ .id = AV_CODEC_ID_WMAVOICE,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "WMAVOICE",
+ },
+ {
+ .id = AV_CODEC_ID_WMAPRO,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "WMAPRO",
+ },
+ {
+ .id = AV_CODEC_ID_WMALOSSLESS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "WMALOSSLESS",
+ },
+ {
+ .id = AV_CODEC_ID_ATRAC3P,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ATRAC3P",
+ },
+ {
+ .id = AV_CODEC_ID_EAC3,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "EAC3",
+ },
+ {
+ .id = AV_CODEC_ID_SIPR,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "SIPR",
+ },
+ {
+ .id = AV_CODEC_ID_MP1,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MP1",
+ },
+ {
+ .id = AV_CODEC_ID_TWINVQ,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "TWINVQ",
+ },
+ {
+ .id = AV_CODEC_ID_TRUEHD,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "TRUEHD",
+ },
+ {
+ .id = AV_CODEC_ID_MP4ALS,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "MP4ALS",
+ },
+ {
+ .id = AV_CODEC_ID_ATRAC1,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ATRAC1",
+ },
+ {
+ .id = AV_CODEC_ID_BINKAUDIO_RDFT,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "BINKAUDIO_RDFT",
+ },
+ {
+ .id = AV_CODEC_ID_BINKAUDIO_DCT,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "BINKAUDIO_DCT",
+ },
+ {
+ .id = AV_CODEC_ID_AAC_LATM,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "AAC_LATM",
+ },
+ {
+ .id = AV_CODEC_ID_QDMC,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "QDMC",
+ },
+ {
+ .id = AV_CODEC_ID_CELT,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "CELT",
+ },
+ {
+ .id = AV_CODEC_ID_G723_1,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "G723_1",
+ },
+ {
+ .id = AV_CODEC_ID_G729,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "G729",
+ },
+ {
+ .id = AV_CODEC_ID_8SVX_EXP,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "8SVX_EXP",
+ },
+ {
+ .id = AV_CODEC_ID_8SVX_FIB,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "8SVX_FIB",
+ },
+ {
+ .id = AV_CODEC_ID_BMV_AUDIO,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "BMV_AUDIO",
+ },
+ {
+ .id = AV_CODEC_ID_RALF,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "RALF",
+ },
+ {
+ .id = AV_CODEC_ID_IAC,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "IAC",
+ },
+ {
+ .id = AV_CODEC_ID_ILBC,
+ .type = AVMEDIA_TYPE_AUDIO,
+ .name = "ILBC",
+ },
+
+ /* subtitle codecs */
+ {
+ .id = AV_CODEC_ID_DVD_SUBTITLE,
+ .type = AVMEDIA_TYPE_SUBTITLE,
+ .name = "DVD_SUBTITLE",
+ },
+ {
+ .id = AV_CODEC_ID_DVB_SUBTITLE,
+ .type = AVMEDIA_TYPE_SUBTITLE,
+ .name = "DVB_SUBTITLE",
+ },
+ {
+ .id = AV_CODEC_ID_TEXT,
+ .type = AVMEDIA_TYPE_SUBTITLE,
+ .name = "TEXT",
+ },
+ {
+ .id = AV_CODEC_ID_XSUB,
+ .type = AVMEDIA_TYPE_SUBTITLE,
+ .name = "XSUB",
+ },
+ {
+ .id = AV_CODEC_ID_SSA,
+ .type = AVMEDIA_TYPE_SUBTITLE,
+ .name = "SSA",
+ },
+ {
+ .id = AV_CODEC_ID_MOV_TEXT,
+ .type = AVMEDIA_TYPE_SUBTITLE,
+ .name = "MOV_TEXT",
+ },
+ {
+ .id = AV_CODEC_ID_HDMV_PGS_SUBTITLE,
+ .type = AVMEDIA_TYPE_SUBTITLE,
+ .name = "HDMV_PGS_SUBTITLE",
+ },
+ {
+ .id = AV_CODEC_ID_DVB_TELETEXT,
+ .type = AVMEDIA_TYPE_SUBTITLE,
+ .name = "DVB_TELETEXT",
+ },
+ {
+ .id = AV_CODEC_ID_SRT,
+ .type = AVMEDIA_TYPE_SUBTITLE,
+ .name = "SRT",
+ },
+};
+
+const AVCodecDescriptor *avcodec_get_descriptor(enum AVCodecID id)
+{
+ int i;
+
+ for (i = 0; i < FF_ARRAY_ELEMS(codec_descriptors); i++)
+ if (codec_descriptors[i].id == id)
+ return &codec_descriptors[i];
+ return NULL;
+}
--
1.7.10.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel