[FFmpeg-devel] [PATCH] avcodec/codec_desc: sort codec_descriptors
Muhammad Faiz
mfcc64 at gmail.com
Thu Feb 8 07:42:44 EET 2018
On Sat, Feb 3, 2018 at 1:35 AM, Muhammad Faiz <mfcc64 at gmail.com> wrote:
> Use bsearch on avcodec_descriptor_get().
>
> Signed-off-by: Muhammad Faiz <mfcc64 at gmail.com>
> ---
> libavcodec/codec_desc.c | 1103 ++++++++++++++++++++++++-----------------------
> 1 file changed, 563 insertions(+), 540 deletions(-)
>
> diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
> index c3688de1d6..1e5d715416 100644
> --- a/libavcodec/codec_desc.c
> +++ b/libavcodec/codec_desc.c
> @@ -21,8 +21,10 @@
>
> #include <string.h>
>
> +#include "libavutil/avassert.h"
> #include "libavutil/common.h"
> #include "libavutil/internal.h"
> +#include "libavutil/thread.h"
> #include "avcodec.h"
> #include "profiles.h"
> #include "version.h"
> @@ -90,6 +92,28 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_LJPEG,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "ljpeg",
> + .long_name = NULL_IF_CONFIG_SMALL("Lossless JPEG"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_SP5X,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "sp5x",
> + .long_name = NULL_IF_CONFIG_SMALL("Sunplus JPEG (SP5X)"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> + },
> + {
> + .id = AV_CODEC_ID_JPEGLS,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "jpegls",
> + .long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
> + AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> .id = AV_CODEC_ID_MPEG4,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "mpeg4",
> @@ -161,14 +185,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_SVG,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "svg",
> - .long_name = NULL_IF_CONFIG_SMALL("Scalable Vector Graphics"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/svg+xml"),
> - },
> - {
> .id = AV_CODEC_ID_SVQ1,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "svq1",
> @@ -408,13 +424,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_SNOW,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "snow",
> - .long_name = NULL_IF_CONFIG_SMALL("Snow"),
> - .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> .id = AV_CODEC_ID_TSCC,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "tscc",
> @@ -450,6 +459,50 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_PNG,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "png",
> + .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/png"),
> + },
> + {
> + .id = AV_CODEC_ID_PPM,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "ppm",
> + .long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_PBM,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "pbm",
> + .long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_PGM,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "pgm",
> + .long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_PGMYUV,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "pgmyuv",
> + .long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_PAM,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "pam",
> + .long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/x-portable-pixmap"),
> + },
> + {
> .id = AV_CODEC_ID_FFVHUFF,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "ffvhuff",
> @@ -638,6 +691,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_TARGA,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "targa",
> + .long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/x-targa", "image/x-tga"),
> + },
> + {
> .id = AV_CODEC_ID_DSICINVIDEO,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "dsicinvideo",
> @@ -652,6 +713,22 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_TIFF,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "tiff",
> + .long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/tiff"),
> + },
> + {
> + .id = AV_CODEC_ID_GIF,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "gif",
> + .long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/gif"),
> + },
> + {
> .id = AV_CODEC_ID_DXA,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "dxa",
> @@ -674,6 +751,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_SGI,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "sgi",
> + .long_name = NULL_IF_CONFIG_SMALL("SGI image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> .id = AV_CODEC_ID_C93,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "c93",
> @@ -688,6 +772,20 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_PTX,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "ptx",
> + .long_name = NULL_IF_CONFIG_SMALL("V.Flash PTX image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> + },
> + {
> + .id = AV_CODEC_ID_TXD,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "txd",
> + .long_name = NULL_IF_CONFIG_SMALL("Renderware TXD (TeXture Dictionary) image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> + },
> + {
> .id = AV_CODEC_ID_VP6A,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "vp6a",
> @@ -709,6 +807,21 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_PCX,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "pcx",
> + .long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/x-pcx"),
> + },
> + {
> + .id = AV_CODEC_ID_SUNRAST,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "sunrast",
> + .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> .id = AV_CODEC_ID_INDEO4,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "indeo4",
> @@ -744,13 +857,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_DAALA,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "daala",
> - .long_name = NULL_IF_CONFIG_SMALL("Daala"),
> - .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> .id = AV_CODEC_ID_DIRAC,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "dirac",
> @@ -835,6 +941,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> + .id = AV_CODEC_ID_DPX,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "dpx",
> + .long_name = NULL_IF_CONFIG_SMALL("DPX (Digital Picture Exchange) image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> .id = AV_CODEC_ID_MAD,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "mad",
> @@ -912,14 +1025,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_VP9,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "vp9",
> - .long_name = NULL_IF_CONFIG_SMALL("Google VP9"),
> - .props = AV_CODEC_PROP_LOSSY,
> - .profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),
> - },
> - {
> .id = AV_CODEC_ID_PICTOR,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "pictor",
> @@ -927,6 +1032,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_ANSI,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "ansi",
> + .long_name = NULL_IF_CONFIG_SMALL("ASCII/ANSI art"),
> + .props = AV_CODEC_PROP_LOSSY,
> + },
> + {
> .id = AV_CODEC_ID_A64_MULTI,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "a64_multi",
> @@ -948,27 +1060,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_M101,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "m101",
> - .long_name = NULL_IF_CONFIG_SMALL("Matrox Uncompressed SD"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_MVC1,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "mvc1",
> - .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 1"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_MVC2,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "mvc2",
> - .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 2"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> - },
> - {
> .id = AV_CODEC_ID_MXPEG,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "mxpeg",
> @@ -1004,6 +1095,20 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_WMV3IMAGE,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "wmv3image",
> + .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image"),
> + .props = AV_CODEC_PROP_LOSSY,
> + },
> + {
> + .id = AV_CODEC_ID_VC1IMAGE,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "vc1image",
> + .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image v2"),
> + .props = AV_CODEC_PROP_LOSSY,
> + },
> + {
> .id = AV_CODEC_ID_UTVIDEO,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "utvideo",
> @@ -1039,6 +1144,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> + .id = AV_CODEC_ID_XWD,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "xwd",
> + .long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/x-xwindowdump"),
> + },
> + {
> .id = AV_CODEC_ID_CDXL,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "cdxl",
> @@ -1046,6 +1159,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_XBM,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "xbm",
> + .long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/x-xbitmap"),
> + },
> + {
> .id = AV_CODEC_ID_ZEROCODEC,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "zerocodec",
> @@ -1095,6 +1216,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_VP9,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "vp9",
> + .long_name = NULL_IF_CONFIG_SMALL("Google VP9"),
> + .props = AV_CODEC_PROP_LOSSY,
> + .profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),
> + },
> + {
> .id = AV_CODEC_ID_AIC,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "aic",
> @@ -1102,13 +1231,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_Y41P,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "y41p",
> - .long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> .id = AV_CODEC_ID_ESCAPE130,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "escape130",
> @@ -1116,96 +1238,23 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_AVRP,
> + .id = AV_CODEC_ID_G2M,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "avrp",
> - .long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .name = "g2m",
> + .long_name = NULL_IF_CONFIG_SMALL("Go2Meeting"),
> + .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_012V,
> + .id = AV_CODEC_ID_WEBP,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "012v",
> - .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .name = "webp",
> + .long_name = NULL_IF_CONFIG_SMALL("WebP"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
> + AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/webp"),
> },
> {
> - .id = AV_CODEC_ID_AVUI,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "avui",
> - .long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_AYUV,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "ayuv",
> - .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_TARGA_Y216,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "targa_y216",
> - .long_name = NULL_IF_CONFIG_SMALL("Pinnacle TARGA CineWave YUV16"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_V308,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "v308",
> - .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_V408,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "v408",
> - .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_YUV4,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "yuv4",
> - .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_AVRN,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "avrn",
> - .long_name = NULL_IF_CONFIG_SMALL("Avid AVI Codec"),
> - },
> - {
> - .id = AV_CODEC_ID_CPIA,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "cpia",
> - .long_name = NULL_IF_CONFIG_SMALL("CPiA video format"),
> - },
> - {
> - .id = AV_CODEC_ID_XFACE,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "xface",
> - .long_name = NULL_IF_CONFIG_SMALL("X-face image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_SMVJPEG,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "smvjpeg",
> - .long_name = NULL_IF_CONFIG_SMALL("Sigmatel Motion Video"),
> - },
> -
> - {
> - .id = AV_CODEC_ID_G2M,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "g2m",
> - .long_name = NULL_IF_CONFIG_SMALL("Go2Meeting"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_HNM4_VIDEO,
> + .id = AV_CODEC_ID_HNM4_VIDEO,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "hnm4video",
> .long_name = NULL_IF_CONFIG_SMALL("HNM 4 video"),
> @@ -1227,6 +1276,20 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_ALIAS_PIX,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "alias_pix",
> + .long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_BRENDER_PIX,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "brender_pix",
> + .long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> .id = AV_CODEC_ID_PAF_VIDEO,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "paf_video",
> @@ -1234,6 +1297,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_EXR,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "exr",
> + .long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
> + AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> .id = AV_CODEC_ID_VP7,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "vp7",
> @@ -1255,6 +1326,20 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> + .id = AV_CODEC_ID_MVC1,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "mvc1",
> + .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 1"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> + },
> + {
> + .id = AV_CODEC_ID_MVC2,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "mvc2",
> + .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 2"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> + },
> + {
> .id = AV_CODEC_ID_HQX,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "hqx",
> @@ -1262,6 +1347,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_TDSC,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "tdsc",
> + .long_name = NULL_IF_CONFIG_SMALL("TDSC"),
> + .props = AV_CODEC_PROP_LOSSY,
> + },
> + {
> .id = AV_CODEC_ID_HQ_HQA,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "hq_hqa",
> @@ -1276,6 +1368,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_DDS,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "dds",
> + .long_name = NULL_IF_CONFIG_SMALL("DirectDraw Surface image decoder"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
> + AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> .id = AV_CODEC_ID_DXV,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "dxv",
> @@ -1290,20 +1390,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_SPEEDHQ,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "speedhq",
> - .long_name = NULL_IF_CONFIG_SMALL("NewTek SpeedHQ"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_WRAPPED_AVFRAME,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "wrapped_avframe",
> - .long_name = NULL_IF_CONFIG_SMALL("AVFrame to AVPacket passthrough"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> .id = AV_CODEC_ID_RSCC,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "rscc",
> @@ -1311,229 +1397,155 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_MAGICYUV,
> + .id = AV_CODEC_ID_Y41P,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "magicyuv",
> - .long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),
> + .name = "y41p",
> + .long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_TRUEMOTION2RT,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "truemotion2rt",
> - .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0 Real Time"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_CFHD,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "cfhd",
> - .long_name = NULL_IF_CONFIG_SMALL("Cineform HD"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_SHEERVIDEO,
> + .id = AV_CODEC_ID_AVRP,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "sheervideo",
> - .long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),
> + .name = "avrp",
> + .long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_YLC,
> + .id = AV_CODEC_ID_012V,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "ylc",
> - .long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),
> + .name = "012v",
> + .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PIXLET,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "pixlet",
> - .long_name = NULL_IF_CONFIG_SMALL("Apple Pixlet"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_FMVC,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "fmvc",
> - .long_name = NULL_IF_CONFIG_SMALL("FM Screen Capture Codec"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_SCPR,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "scpr",
> - .long_name = NULL_IF_CONFIG_SMALL("ScreenPressor"),
> - .props = AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_CLEARVIDEO,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "clearvideo",
> - .long_name = NULL_IF_CONFIG_SMALL("Iterated Systems ClearVideo"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_AV1,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "av1",
> - .long_name = NULL_IF_CONFIG_SMALL("Alliance for Open Media AV1"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_BITPACKED,
> + .id = AV_CODEC_ID_AVUI,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "bitpacked",
> - .long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),
> + .name = "avui",
> + .long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_MSCC,
> + .id = AV_CODEC_ID_AYUV,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "mscc",
> - .long_name = NULL_IF_CONFIG_SMALL("Mandsoft Screen Capture Codec"),
> + .name = "ayuv",
> + .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_SRGC,
> + .id = AV_CODEC_ID_TARGA_Y216,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "srgc",
> - .long_name = NULL_IF_CONFIG_SMALL("Screen Recorder Gold Codec"),
> + .name = "targa_y216",
> + .long_name = NULL_IF_CONFIG_SMALL("Pinnacle TARGA CineWave YUV16"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_GDV,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "gdv",
> - .long_name = NULL_IF_CONFIG_SMALL("Gremlin Digital Video"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> -
> - /* image codecs */
> - {
> - .id = AV_CODEC_ID_ALIAS_PIX,
> + .id = AV_CODEC_ID_V308,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "alias_pix",
> - .long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
> + .name = "v308",
> + .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_ANSI,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "ansi",
> - .long_name = NULL_IF_CONFIG_SMALL("ASCII/ANSI art"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_BRENDER_PIX,
> + .id = AV_CODEC_ID_V408,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "brender_pix",
> - .long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),
> + .name = "v408",
> + .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_DDS,
> + .id = AV_CODEC_ID_YUV4,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "dds",
> - .long_name = NULL_IF_CONFIG_SMALL("DirectDraw Surface image decoder"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
> - AV_CODEC_PROP_LOSSLESS,
> + .name = "yuv4",
> + .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_DPX,
> + .id = AV_CODEC_ID_AVRN,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "dpx",
> - .long_name = NULL_IF_CONFIG_SMALL("DPX (Digital Picture Exchange) image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .name = "avrn",
> + .long_name = NULL_IF_CONFIG_SMALL("Avid AVI Codec"),
> },
> {
> - .id = AV_CODEC_ID_EXR,
> + .id = AV_CODEC_ID_CPIA,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "exr",
> - .long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
> - AV_CODEC_PROP_LOSSLESS,
> + .name = "cpia",
> + .long_name = NULL_IF_CONFIG_SMALL("CPiA video format"),
> },
> {
> - .id = AV_CODEC_ID_FITS,
> + .id = AV_CODEC_ID_XFACE,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "fits",
> - .long_name = NULL_IF_CONFIG_SMALL("FITS (Flexible Image Transport System)"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .name = "xface",
> + .long_name = NULL_IF_CONFIG_SMALL("X-face image"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_GIF,
> + .id = AV_CODEC_ID_SNOW,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "gif",
> - .long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/gif"),
> + .name = "snow",
> + .long_name = NULL_IF_CONFIG_SMALL("Snow"),
> + .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_JPEGLS,
> + .id = AV_CODEC_ID_SMVJPEG,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "jpegls",
> - .long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
> - AV_CODEC_PROP_LOSSLESS,
> + .name = "smvjpeg",
> + .long_name = NULL_IF_CONFIG_SMALL("Sigmatel Motion Video"),
> },
> {
> - .id = AV_CODEC_ID_LJPEG,
> + .id = AV_CODEC_ID_APNG,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "ljpeg",
> - .long_name = NULL_IF_CONFIG_SMALL("Lossless JPEG"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .name = "apng",
> + .long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/png"),
> },
> {
> - .id = AV_CODEC_ID_PAM,
> + .id = AV_CODEC_ID_DAALA,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "pam",
> - .long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/x-portable-pixmap"),
> + .name = "daala",
> + .long_name = NULL_IF_CONFIG_SMALL("Daala"),
> + .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PBM,
> + .id = AV_CODEC_ID_CFHD,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "pbm",
> - .long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .name = "cfhd",
> + .long_name = NULL_IF_CONFIG_SMALL("Cineform HD"),
> + .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_PCX,
> + .id = AV_CODEC_ID_TRUEMOTION2RT,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "pcx",
> - .long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/x-pcx"),
> + .name = "truemotion2rt",
> + .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0 Real Time"),
> + .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_PGM,
> + .id = AV_CODEC_ID_M101,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "pgm",
> - .long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
> + .name = "m101",
> + .long_name = NULL_IF_CONFIG_SMALL("Matrox Uncompressed SD"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PGMYUV,
> + .id = AV_CODEC_ID_MAGICYUV,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "pgmyuv",
> - .long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
> + .name = "magicyuv",
> + .long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PNG,
> + .id = AV_CODEC_ID_SHEERVIDEO,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "png",
> - .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/png"),
> + .name = "sheervideo",
> + .long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PPM,
> + .id = AV_CODEC_ID_YLC,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "ppm",
> - .long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
> + .name = "ylc",
> + .long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> @@ -1544,117 +1556,97 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PTX,
> + .id = AV_CODEC_ID_PIXLET,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "ptx",
> - .long_name = NULL_IF_CONFIG_SMALL("V.Flash PTX image"),
> + .name = "pixlet",
> + .long_name = NULL_IF_CONFIG_SMALL("Apple Pixlet"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_SGI,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "sgi",
> - .long_name = NULL_IF_CONFIG_SMALL("SGI image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_SP5X,
> + .id = AV_CODEC_ID_SPEEDHQ,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "sp5x",
> - .long_name = NULL_IF_CONFIG_SMALL("Sunplus JPEG (SP5X)"),
> + .name = "speedhq",
> + .long_name = NULL_IF_CONFIG_SMALL("NewTek SpeedHQ"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_SUNRAST,
> + .id = AV_CODEC_ID_FMVC,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "sunrast",
> - .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> + .name = "fmvc",
> + .long_name = NULL_IF_CONFIG_SMALL("FM Screen Capture Codec"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_TARGA,
> + .id = AV_CODEC_ID_SCPR,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "targa",
> - .long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/x-targa", "image/x-tga"),
> + .name = "scpr",
> + .long_name = NULL_IF_CONFIG_SMALL("ScreenPressor"),
> + .props = AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_TDSC,
> + .id = AV_CODEC_ID_CLEARVIDEO,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "tdsc",
> - .long_name = NULL_IF_CONFIG_SMALL("TDSC"),
> + .name = "clearvideo",
> + .long_name = NULL_IF_CONFIG_SMALL("Iterated Systems ClearVideo"),
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_TIFF,
> + .id = AV_CODEC_ID_XPM,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "tiff",
> - .long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
> + .name = "xpm",
> + .long_name = NULL_IF_CONFIG_SMALL("XPM (X PixMap) image"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/tiff"),
> - },
> - {
> - .id = AV_CODEC_ID_TXD,
> - .type = AVMEDIA_TYPE_VIDEO,
> - .name = "txd",
> - .long_name = NULL_IF_CONFIG_SMALL("Renderware TXD (TeXture Dictionary) image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
> + .mime_types= MT("image/x-xpixmap"),
> },
> {
> - .id = AV_CODEC_ID_VC1IMAGE,
> + .id = AV_CODEC_ID_AV1,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "vc1image",
> - .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image v2"),
> + .name = "av1",
> + .long_name = NULL_IF_CONFIG_SMALL("Alliance for Open Media AV1"),
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_WEBP,
> + .id = AV_CODEC_ID_BITPACKED,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "webp",
> - .long_name = NULL_IF_CONFIG_SMALL("WebP"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
> - AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/webp"),
> + .name = "bitpacked",
> + .long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_WMV3IMAGE,
> + .id = AV_CODEC_ID_MSCC,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "wmv3image",
> - .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image"),
> - .props = AV_CODEC_PROP_LOSSY,
> + .name = "mscc",
> + .long_name = NULL_IF_CONFIG_SMALL("Mandsoft Screen Capture Codec"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_XBM,
> + .id = AV_CODEC_ID_SRGC,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "xbm",
> - .long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),
> + .name = "srgc",
> + .long_name = NULL_IF_CONFIG_SMALL("Screen Recorder Gold Codec"),
> .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/x-xbitmap"),
> },
> {
> - .id = AV_CODEC_ID_XPM,
> + .id = AV_CODEC_ID_SVG,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "xpm",
> - .long_name = NULL_IF_CONFIG_SMALL("XPM (X PixMap) image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/x-xpixmap"),
> + .name = "svg",
> + .long_name = NULL_IF_CONFIG_SMALL("Scalable Vector Graphics"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> + .mime_types= MT("image/svg+xml"),
> },
> {
> - .id = AV_CODEC_ID_XWD,
> + .id = AV_CODEC_ID_GDV,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "xwd",
> - .long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"),
> - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/x-xwindowdump"),
> + .name = "gdv",
> + .long_name = NULL_IF_CONFIG_SMALL("Gremlin Digital Video"),
> + .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_APNG,
> + .id = AV_CODEC_ID_FITS,
> .type = AVMEDIA_TYPE_VIDEO,
> - .name = "apng",
> - .long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - .mime_types= MT("image/png"),
> + .name = "fits",
> + .long_name = NULL_IF_CONFIG_SMALL("FITS (Flexible Image Transport System)"),
> + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
> },
>
> /* various PCM "codecs" */
> @@ -1729,20 +1721,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_S64LE,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_s64le",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 64-bit little-endian"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_PCM_S64BE,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_s64be",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 64-bit big-endian"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> .id = AV_CODEC_ID_PCM_U32LE,
> .type = AVMEDIA_TYPE_AUDIO,
> .name = "pcm_u32le",
> @@ -1799,108 +1777,122 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_PCM_S16BE_PLANAR,
> + .id = AV_CODEC_ID_PCM_S16LE_PLANAR,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_s16be_planar",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian planar"),
> + .name = "pcm_s16le_planar",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian planar"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_S16LE_PLANAR,
> + .id = AV_CODEC_ID_PCM_DVD,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_s16le_planar",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian planar"),
> + .name = "pcm_dvd",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20|24-bit big-endian"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_S24LE_PLANAR,
> + .id = AV_CODEC_ID_PCM_F32BE,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_s24le_planar",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian planar"),
> + .name = "pcm_f32be",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point big-endian"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_S32LE_PLANAR,
> + .id = AV_CODEC_ID_PCM_F32LE,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_s32le_planar",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar"),
> + .name = "pcm_f32le",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point little-endian"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_DVD,
> + .id = AV_CODEC_ID_PCM_F64BE,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_dvd",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20|24-bit big-endian"),
> + .name = "pcm_f64be",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point big-endian"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_F16LE,
> + .id = AV_CODEC_ID_PCM_F64LE,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_f16le",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM 16.8 floating point little-endian"),
> + .name = "pcm_f64le",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point little-endian"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_F24LE,
> + .id = AV_CODEC_ID_PCM_BLURAY,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_f24le",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM 24.0 floating point little-endian"),
> + .name = "pcm_bluray",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_F32BE,
> + .id = AV_CODEC_ID_PCM_LXF,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_f32be",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point big-endian"),
> + .name = "pcm_lxf",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20-bit little-endian planar"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_F32LE,
> + .id = AV_CODEC_ID_S302M,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_f32le",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point little-endian"),
> + .name = "s302m",
> + .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_F64BE,
> + .id = AV_CODEC_ID_PCM_S8_PLANAR,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "pcm_s8_planar",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit planar"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_PCM_S24LE_PLANAR,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "pcm_s24le_planar",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian planar"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_PCM_S32LE_PLANAR,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_f64be",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point big-endian"),
> + .name = "pcm_s32le_planar",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_F64LE,
> + .id = AV_CODEC_ID_PCM_S16BE_PLANAR,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_f64le",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point little-endian"),
> + .name = "pcm_s16be_planar",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian planar"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_BLURAY,
> + .id = AV_CODEC_ID_PCM_S64LE,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_bluray",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
> + .name = "pcm_s64le",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 64-bit little-endian"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_LXF,
> + .id = AV_CODEC_ID_PCM_S64BE,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_lxf",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20-bit little-endian planar"),
> + .name = "pcm_s64be",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM signed 64-bit big-endian"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_S302M,
> + .id = AV_CODEC_ID_PCM_F16LE,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "s302m",
> - .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
> + .name = "pcm_f16le",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM 16.8 floating point little-endian"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_PCM_S8_PLANAR,
> + .id = AV_CODEC_ID_PCM_F24LE,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "pcm_s8_planar",
> - .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit planar"),
> + .name = "pcm_f24le",
> + .long_name = NULL_IF_CONFIG_SMALL("PCM 24.0 floating point little-endian"),
> .props = AV_CODEC_PROP_LOSSLESS,
> },
>
> @@ -2039,13 +2031,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_ADPCM_THP_LE,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "adpcm_thp_le",
> - .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo THP (Little-Endian)"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> .id = AV_CODEC_ID_ADPCM_IMA_AMV,
> .type = AVMEDIA_TYPE_AUDIO,
> .name = "adpcm_ima_amv",
> @@ -2123,6 +2108,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_ADPCM_VIMA,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "adpcm_vima",
> + .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio"),
> + .props = AV_CODEC_PROP_LOSSY,
> + },
> + {
> .id = AV_CODEC_ID_ADPCM_AFC,
> .type = AVMEDIA_TYPE_AUDIO,
> .name = "adpcm_afc",
> @@ -2158,10 +2150,10 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_ADPCM_VIMA,
> + .id = AV_CODEC_ID_ADPCM_THP_LE,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "adpcm_vima",
> - .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio"),
> + .name = "adpcm_thp_le",
> + .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo THP (Little-Endian)"),
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> @@ -2185,6 +2177,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Eurocom DAT4"),
> .props = AV_CODEC_PROP_LOSSY,
> },
> + {
> + .id = AV_CODEC_ID_ADPCM_MTAF,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "adpcm_mtaf",
> + .long_name = NULL_IF_CONFIG_SMALL("ADPCM MTAF"),
> + .props = AV_CODEC_PROP_LOSSY,
> + },
>
> /* AMR */
> {
> @@ -2547,20 +2546,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_ATRAC3PAL,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "atrac3pal",
> - .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless)"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> - .id = AV_CODEC_ID_ATRAC3AL,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "atrac3al",
> - .long_name = NULL_IF_CONFIG_SMALL("ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless)"),
> - .props = AV_CODEC_PROP_LOSSLESS,
> - },
> - {
> .id = AV_CODEC_ID_EAC3,
> .type = AVMEDIA_TYPE_AUDIO,
> .name = "eac3",
> @@ -2653,20 +2638,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_DSS_SP,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "dss_sp",
> - .long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard - Standard Play mode (DSS SP)"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> - .id = AV_CODEC_ID_DOLBY_E,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "dolby_e",
> - .long_name = NULL_IF_CONFIG_SMALL("Dolby E"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> .id = AV_CODEC_ID_G729,
> .type = AVMEDIA_TYPE_AUDIO,
> .name = "g729",
> @@ -2716,24 +2687,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_FFWAVESYNTH,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "wavesynth",
> - .long_name = NULL_IF_CONFIG_SMALL("Wave synthesis pseudo-codec"),
> - },
> - {
> - .id = AV_CODEC_ID_SONIC,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "sonic",
> - .long_name = NULL_IF_CONFIG_SMALL("Sonic"),
> - },
> - {
> - .id = AV_CODEC_ID_SONIC_LS,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "sonicls",
> - .long_name = NULL_IF_CONFIG_SMALL("Sonic lossless"),
> - },
> - {
> .id = AV_CODEC_ID_OPUS,
> .type = AVMEDIA_TYPE_AUDIO,
> .name = "opus",
> @@ -2776,6 +2729,31 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_DSS_SP,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "dss_sp",
> + .long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard - Standard Play mode (DSS SP)"),
> + .props = AV_CODEC_PROP_LOSSY,
> + },
> + {
> + .id = AV_CODEC_ID_FFWAVESYNTH,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "wavesynth",
> + .long_name = NULL_IF_CONFIG_SMALL("Wave synthesis pseudo-codec"),
> + },
> + {
> + .id = AV_CODEC_ID_SONIC,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "sonic",
> + .long_name = NULL_IF_CONFIG_SMALL("Sonic"),
> + },
> + {
> + .id = AV_CODEC_ID_SONIC_LS,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "sonicls",
> + .long_name = NULL_IF_CONFIG_SMALL("Sonic lossless"),
> + },
> + {
> .id = AV_CODEC_ID_EVRC,
> .type = AVMEDIA_TYPE_AUDIO,
> .name = "evrc",
> @@ -2790,13 +2768,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> - .id = AV_CODEC_ID_4GV,
> - .type = AVMEDIA_TYPE_AUDIO,
> - .name = "4gv",
> - .long_name = NULL_IF_CONFIG_SMALL("4GV (Fourth Generation Vocoder)"),
> - .props = AV_CODEC_PROP_LOSSY,
> - },
> - {
> .id = AV_CODEC_ID_DSD_LSBF,
> .type = AVMEDIA_TYPE_AUDIO,
> .name = "dsd_lsbf",
> @@ -2825,6 +2796,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> + .id = AV_CODEC_ID_4GV,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "4gv",
> + .long_name = NULL_IF_CONFIG_SMALL("4GV (Fourth Generation Vocoder)"),
> + .props = AV_CODEC_PROP_LOSSY,
> + },
> + {
> .id = AV_CODEC_ID_INTERPLAY_ACM,
> .type = AVMEDIA_TYPE_AUDIO,
> .name = "interplayacm",
> @@ -2853,10 +2831,24 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_LOSSLESS,
> },
> {
> - .id = AV_CODEC_ID_ADPCM_MTAF,
> + .id = AV_CODEC_ID_ATRAC3AL,
> .type = AVMEDIA_TYPE_AUDIO,
> - .name = "adpcm_mtaf",
> - .long_name = NULL_IF_CONFIG_SMALL("ADPCM MTAF"),
> + .name = "atrac3al",
> + .long_name = NULL_IF_CONFIG_SMALL("ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless)"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_ATRAC3PAL,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "atrac3pal",
> + .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless)"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> + },
> + {
> + .id = AV_CODEC_ID_DOLBY_E,
> + .type = AVMEDIA_TYPE_AUDIO,
> + .name = "dolby_e",
> + .long_name = NULL_IF_CONFIG_SMALL("Dolby E"),
> .props = AV_CODEC_PROP_LOSSY,
> },
> {
> @@ -2897,13 +2889,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_BITMAP_SUB,
> },
> {
> - .id = AV_CODEC_ID_ASS,
> - .type = AVMEDIA_TYPE_SUBTITLE,
> - .name = "ass",
> - .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SSA) subtitle"),
> - .props = AV_CODEC_PROP_TEXT_SUB,
> - },
> - {
> .id = AV_CODEC_ID_SSA,
> .type = AVMEDIA_TYPE_SUBTITLE,
> .name = "ssa",
> @@ -2938,13 +2923,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_TEXT_SUB,
> },
> {
> - .id = AV_CODEC_ID_SUBRIP,
> - .type = AVMEDIA_TYPE_SUBTITLE,
> - .name = "subrip",
> - .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
> - .props = AV_CODEC_PROP_TEXT_SUB,
> - },
> - {
> .id = AV_CODEC_ID_MICRODVD,
> .type = AVMEDIA_TYPE_SUBTITLE,
> .name = "microdvd",
> @@ -2952,13 +2930,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_TEXT_SUB,
> },
> {
> - .id = AV_CODEC_ID_MPL2,
> - .type = AVMEDIA_TYPE_SUBTITLE,
> - .name = "mpl2",
> - .long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitle"),
> - .props = AV_CODEC_PROP_TEXT_SUB,
> - },
> - {
> .id = AV_CODEC_ID_EIA_608,
> .type = AVMEDIA_TYPE_SUBTITLE,
> .name = "eia_608",
> @@ -2973,13 +2944,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_TEXT_SUB,
> },
> {
> - .id = AV_CODEC_ID_PJS,
> - .type = AVMEDIA_TYPE_SUBTITLE,
> - .name = "pjs",
> - .long_name = NULL_IF_CONFIG_SMALL("PJS (Phoenix Japanimation Society) subtitle"),
> - .props = AV_CODEC_PROP_TEXT_SUB,
> - },
> - {
> .id = AV_CODEC_ID_SAMI,
> .type = AVMEDIA_TYPE_SUBTITLE,
> .name = "sami",
> @@ -3015,10 +2979,10 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_TEXT_SUB,
> },
> {
> - .id = AV_CODEC_ID_VPLAYER,
> + .id = AV_CODEC_ID_SUBRIP,
> .type = AVMEDIA_TYPE_SUBTITLE,
> - .name = "vplayer",
> - .long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitle"),
> + .name = "subrip",
> + .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
> .props = AV_CODEC_PROP_TEXT_SUB,
> },
> {
> @@ -3029,6 +2993,34 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .props = AV_CODEC_PROP_TEXT_SUB,
> },
> {
> + .id = AV_CODEC_ID_MPL2,
> + .type = AVMEDIA_TYPE_SUBTITLE,
> + .name = "mpl2",
> + .long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitle"),
> + .props = AV_CODEC_PROP_TEXT_SUB,
> + },
> + {
> + .id = AV_CODEC_ID_VPLAYER,
> + .type = AVMEDIA_TYPE_SUBTITLE,
> + .name = "vplayer",
> + .long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitle"),
> + .props = AV_CODEC_PROP_TEXT_SUB,
> + },
> + {
> + .id = AV_CODEC_ID_PJS,
> + .type = AVMEDIA_TYPE_SUBTITLE,
> + .name = "pjs",
> + .long_name = NULL_IF_CONFIG_SMALL("PJS (Phoenix Japanimation Society) subtitle"),
> + .props = AV_CODEC_PROP_TEXT_SUB,
> + },
> + {
> + .id = AV_CODEC_ID_ASS,
> + .type = AVMEDIA_TYPE_SUBTITLE,
> + .name = "ass",
> + .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SSA) subtitle"),
> + .props = AV_CODEC_PROP_TEXT_SUB,
> + },
> + {
> .id = AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
> .type = AVMEDIA_TYPE_SUBTITLE,
> .name = "hdmv_text_subtitle",
> @@ -3045,6 +3037,12 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .mime_types= MT("application/x-truetype-font", "application/x-font"),
> },
> {
> + .id = AV_CODEC_ID_SCTE_35,
> + .type = AVMEDIA_TYPE_DATA,
> + .name = "scte_35",
> + .long_name = NULL_IF_CONFIG_SMALL("SCTE 35 Message Queue"),
> + },
> + {
> .id = AV_CODEC_ID_BINTEXT,
> .type = AVMEDIA_TYPE_VIDEO,
> .name = "bintext",
> @@ -3098,23 +3096,48 @@ static const AVCodecDescriptor codec_descriptors[] = {
> .mime_types= MT("application/octet-stream"),
> },
> {
> - .id = AV_CODEC_ID_SCTE_35,
> - .type = AVMEDIA_TYPE_DATA,
> - .name = "scte_35",
> - .long_name = NULL_IF_CONFIG_SMALL("SCTE 35 Message Queue"),
> + .id = AV_CODEC_ID_WRAPPED_AVFRAME,
> + .type = AVMEDIA_TYPE_VIDEO,
> + .name = "wrapped_avframe",
> + .long_name = NULL_IF_CONFIG_SMALL("AVFrame to AVPacket passthrough"),
> + .props = AV_CODEC_PROP_LOSSLESS,
> },
> -
> - /* deprecated codec ids */
> };
>
> -const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id)
> +#if defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2
> +static void check_validity(void)
> {
> int i;
>
> - for (i = 0; i < FF_ARRAY_ELEMS(codec_descriptors); i++)
> - if (codec_descriptors[i].id == id)
> - return &codec_descriptors[i];
> - return NULL;
> + for (i = 0; i < FF_ARRAY_ELEMS(codec_descriptors) - 1; i++) {
> + if (codec_descriptors[i].id >= codec_descriptors[i+1].id) {
> + av_log(NULL, AV_LOG_FATAL, "unsorted codec_id '%s' and '%s'.\n",
> + codec_descriptors[i].name, codec_descriptors[i+1].name);
> + av_assert0(0);
> + }
> + }
> +}
> +
> +static AVOnce check_validity_once = AV_ONCE_INIT;
> +#define CHECK_VALIDITY() ff_thread_once(&check_validity_once, check_validity);
> +#else
> +#define CHECK_VALIDITY() ((void)0)
> +#endif
> +
> +static int descriptor_compare(const void *key, const void *member)
> +{
> + enum AVCodecID id = *(const enum AVCodecID *) key;
> + const AVCodecDescriptor *desc = member;
> +
> + return id - desc->id;
> +}
> +
> +const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id)
> +{
> + CHECK_VALIDITY();
> +
> + return bsearch(&id, codec_descriptors, FF_ARRAY_ELEMS(codec_descriptors),
> + sizeof(codec_descriptors[0]), descriptor_compare);
> }
>
> const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev)
> --
> 2.13.2
>
Ping.
More information about the ffmpeg-devel
mailing list