On Sat, Feb 3, 2018 at 1:35 AM, Muhammad Faiz <mfc...@gmail.com> wrote: > Use bsearch on avcodec_descriptor_get(). > > Signed-off-by: Muhammad Faiz <mfc...@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. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel