Commit 5a2abf00 authored by Muhammad Faiz's avatar Muhammad Faiz

avcodec/codec_desc: sort codec_descriptors

Use bsearch on avcodec_descriptor_get().
Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
Signed-off-by: 's avatarMuhammad Faiz <mfcc64@gmail.com>
parent e752da54
...@@ -21,8 +21,10 @@ ...@@ -21,8 +21,10 @@
#include <string.h> #include <string.h>
#include "libavutil/avassert.h"
#include "libavutil/common.h" #include "libavutil/common.h"
#include "libavutil/internal.h" #include "libavutil/internal.h"
#include "libavutil/thread.h"
#include "avcodec.h" #include "avcodec.h"
#include "profiles.h" #include "profiles.h"
#include "version.h" #include "version.h"
...@@ -89,6 +91,28 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -89,6 +91,28 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Apple MJPEG-B"), .long_name = NULL_IF_CONFIG_SMALL("Apple MJPEG-B"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_MPEG4,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -160,14 +184,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -160,14 +184,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("FLV / Sorenson Spark / Sorenson H.263 (Flash Video)"), .long_name = NULL_IF_CONFIG_SMALL("FLV / Sorenson Spark / Sorenson H.263 (Flash Video)"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_SVQ1,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -407,13 +423,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -407,13 +423,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"), .long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),
.props = AV_CODEC_PROP_LOSSLESS, .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, .id = AV_CODEC_ID_TSCC,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -449,6 +458,50 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -449,6 +458,50 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Q-team QPEG"), .long_name = NULL_IF_CONFIG_SMALL("Q-team QPEG"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_FFVHUFF,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -637,6 +690,14 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -637,6 +690,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"), .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_DSICINVIDEO,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -651,6 +712,22 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -651,6 +712,22 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ video"), .long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ video"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_DXA,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -673,6 +750,13 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -673,6 +750,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Nintendo Gamecube THP video"), .long_name = NULL_IF_CONFIG_SMALL("Nintendo Gamecube THP video"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_C93,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -687,6 +771,20 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -687,6 +771,20 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Bethesda VID video"), .long_name = NULL_IF_CONFIG_SMALL("Bethesda VID video"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_VP6A,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -708,6 +806,21 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -708,6 +806,21 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Beam Software VB"), .long_name = NULL_IF_CONFIG_SMALL("Beam Software VB"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_INDEO4,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -743,13 +856,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -743,13 +856,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Escape 124"), .long_name = NULL_IF_CONFIG_SMALL("Escape 124"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_DIRAC,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -834,6 +940,13 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -834,6 +940,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"), .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .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, .id = AV_CODEC_ID_MAD,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -911,14 +1024,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -911,14 +1024,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("On2 VP8"), .long_name = NULL_IF_CONFIG_SMALL("On2 VP8"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_PICTOR,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -926,6 +1031,13 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -926,6 +1031,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Pictor/PC Paint"), .long_name = NULL_IF_CONFIG_SMALL("Pictor/PC Paint"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_A64_MULTI,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -947,27 +1059,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -947,27 +1059,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"), .long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .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, .id = AV_CODEC_ID_MXPEG,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1003,6 +1094,20 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1003,6 +1094,20 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"), .long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_UTVIDEO,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1038,6 +1143,14 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1038,6 +1143,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"), .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .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, .id = AV_CODEC_ID_CDXL,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1045,6 +1158,14 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1045,6 +1158,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Commodore CDXL video"), .long_name = NULL_IF_CONFIG_SMALL("Commodore CDXL video"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_ZEROCODEC,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1094,6 +1215,14 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1094,6 +1215,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("MS Windows Media Video V9 Screen"), .long_name = NULL_IF_CONFIG_SMALL("MS Windows Media Video V9 Screen"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_AIC,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1101,13 +1230,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1101,13 +1230,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Apple Intermediate Codec"), .long_name = NULL_IF_CONFIG_SMALL("Apple Intermediate Codec"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_ESCAPE130,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1116,96 +1238,23 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1116,96 +1238,23 @@ static const AVCodecDescriptor codec_descriptors[] = {
.props = AV_CODEC_PROP_LOSSY, .props = AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_AVRP, .id = AV_CODEC_ID_G2M,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "avrp", .name = "g2m",
.long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"), .long_name = NULL_IF_CONFIG_SMALL("Go2Meeting"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_012V, .id = AV_CODEC_ID_WEBP,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "012v", .name = "webp",
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"), .long_name = NULL_IF_CONFIG_SMALL("WebP"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
AV_CODEC_PROP_LOSSLESS,
.mime_types= MT("image/webp"),
}, },
{ {
.id = AV_CODEC_ID_AVUI, .id = AV_CODEC_ID_HNM4_VIDEO,
.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,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "hnm4video", .name = "hnm4video",
.long_name = NULL_IF_CONFIG_SMALL("HNM 4 video"), .long_name = NULL_IF_CONFIG_SMALL("HNM 4 video"),
...@@ -1226,6 +1275,20 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1226,6 +1275,20 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Mirillis FIC"), .long_name = NULL_IF_CONFIG_SMALL("Mirillis FIC"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_PAF_VIDEO,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1233,6 +1296,14 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1233,6 +1296,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video"), .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_VP7,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1254,6 +1325,20 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1254,6 +1325,20 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("SGI RLE 8-bit"), .long_name = NULL_IF_CONFIG_SMALL("SGI RLE 8-bit"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .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, .id = AV_CODEC_ID_HQX,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1261,6 +1346,13 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1261,6 +1346,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Canopus HQX"), .long_name = NULL_IF_CONFIG_SMALL("Canopus HQX"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_HQ_HQA,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1275,6 +1367,14 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1275,6 +1367,14 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap"), .long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_DXV,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1289,20 +1389,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1289,20 +1389,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Screenpresso"), .long_name = NULL_IF_CONFIG_SMALL("Screenpresso"),
.props = AV_CODEC_PROP_LOSSLESS, .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, .id = AV_CODEC_ID_RSCC,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -1311,229 +1397,155 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1311,229 +1397,155 @@ static const AVCodecDescriptor codec_descriptors[] = {
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_MAGICYUV, .id = AV_CODEC_ID_Y41P,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "magicyuv", .name = "y41p",
.long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"), .long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_TRUEMOTION2RT, .id = AV_CODEC_ID_AVRP,
.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,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "sheervideo", .name = "avrp",
.long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"), .long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_YLC, .id = AV_CODEC_ID_012V,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "ylc", .name = "012v",
.long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"), .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PIXLET, .id = AV_CODEC_ID_AVUI,
.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,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "bitpacked", .name = "avui",
.long_name = NULL_IF_CONFIG_SMALL("Bitpacked"), .long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_MSCC, .id = AV_CODEC_ID_AYUV,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "mscc", .name = "ayuv",
.long_name = NULL_IF_CONFIG_SMALL("Mandsoft Screen Capture Codec"), .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .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, .type = AVMEDIA_TYPE_VIDEO,
.name = "srgc", .name = "targa_y216",
.long_name = NULL_IF_CONFIG_SMALL("Screen Recorder Gold Codec"), .long_name = NULL_IF_CONFIG_SMALL("Pinnacle TARGA CineWave YUV16"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_GDV, .id = AV_CODEC_ID_V308,
.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,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "alias_pix", .name = "v308",
.long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"), .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_ANSI, .id = AV_CODEC_ID_V408,
.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,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "brender_pix", .name = "v408",
.long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"), .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_DDS, .id = AV_CODEC_ID_YUV4,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "dds", .name = "yuv4",
.long_name = NULL_IF_CONFIG_SMALL("DirectDraw Surface image decoder"), .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY | .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_DPX, .id = AV_CODEC_ID_AVRN,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "dpx", .name = "avrn",
.long_name = NULL_IF_CONFIG_SMALL("DPX (Digital Picture Exchange) image"), .long_name = NULL_IF_CONFIG_SMALL("Avid AVI Codec"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_EXR, .id = AV_CODEC_ID_CPIA,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "exr", .name = "cpia",
.long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"), .long_name = NULL_IF_CONFIG_SMALL("CPiA video format"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_FITS, .id = AV_CODEC_ID_XFACE,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "fits", .name = "xface",
.long_name = NULL_IF_CONFIG_SMALL("FITS (Flexible Image Transport System)"), .long_name = NULL_IF_CONFIG_SMALL("X-face image"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_GIF, .id = AV_CODEC_ID_SNOW,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "gif", .name = "snow",
.long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"), .long_name = NULL_IF_CONFIG_SMALL("Snow"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
.mime_types= MT("image/gif"),
}, },
{ {
.id = AV_CODEC_ID_JPEGLS, .id = AV_CODEC_ID_SMVJPEG,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "jpegls", .name = "smvjpeg",
.long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"), .long_name = NULL_IF_CONFIG_SMALL("Sigmatel Motion Video"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_LJPEG, .id = AV_CODEC_ID_APNG,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "ljpeg", .name = "apng",
.long_name = NULL_IF_CONFIG_SMALL("Lossless JPEG"), .long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
.mime_types= MT("image/png"),
}, },
{ {
.id = AV_CODEC_ID_PAM, .id = AV_CODEC_ID_DAALA,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "pam", .name = "daala",
.long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"), .long_name = NULL_IF_CONFIG_SMALL("Daala"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
.mime_types= MT("image/x-portable-pixmap"),
}, },
{ {
.id = AV_CODEC_ID_PBM, .id = AV_CODEC_ID_CFHD,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "pbm", .name = "cfhd",
.long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"), .long_name = NULL_IF_CONFIG_SMALL("Cineform HD"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_PCX, .id = AV_CODEC_ID_TRUEMOTION2RT,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "pcx", .name = "truemotion2rt",
.long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"), .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0 Real Time"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSY,
.mime_types= MT("image/x-pcx"),
}, },
{ {
.id = AV_CODEC_ID_PGM, .id = AV_CODEC_ID_M101,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "pgm", .name = "m101",
.long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"), .long_name = NULL_IF_CONFIG_SMALL("Matrox Uncompressed SD"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PGMYUV, .id = AV_CODEC_ID_MAGICYUV,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "pgmyuv", .name = "magicyuv",
.long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"), .long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PNG, .id = AV_CODEC_ID_SHEERVIDEO,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "png", .name = "sheervideo",
.long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"), .long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
.mime_types= MT("image/png"),
}, },
{ {
.id = AV_CODEC_ID_PPM, .id = AV_CODEC_ID_YLC,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "ppm", .name = "ylc",
.long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"), .long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
...@@ -1544,117 +1556,97 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1544,117 +1556,97 @@ static const AVCodecDescriptor codec_descriptors[] = {
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PTX, .id = AV_CODEC_ID_PIXLET,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "ptx", .name = "pixlet",
.long_name = NULL_IF_CONFIG_SMALL("V.Flash PTX image"), .long_name = NULL_IF_CONFIG_SMALL("Apple Pixlet"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_SGI, .id = AV_CODEC_ID_SPEEDHQ,
.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,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "sp5x", .name = "speedhq",
.long_name = NULL_IF_CONFIG_SMALL("Sunplus JPEG (SP5X)"), .long_name = NULL_IF_CONFIG_SMALL("NewTek SpeedHQ"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_SUNRAST, .id = AV_CODEC_ID_FMVC,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "sunrast", .name = "fmvc",
.long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"), .long_name = NULL_IF_CONFIG_SMALL("FM Screen Capture Codec"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_TARGA, .id = AV_CODEC_ID_SCPR,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "targa", .name = "scpr",
.long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"), .long_name = NULL_IF_CONFIG_SMALL("ScreenPressor"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_LOSSY,
.mime_types= MT("image/x-targa", "image/x-tga"),
}, },
{ {
.id = AV_CODEC_ID_TDSC, .id = AV_CODEC_ID_CLEARVIDEO,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "tdsc", .name = "clearvideo",
.long_name = NULL_IF_CONFIG_SMALL("TDSC"), .long_name = NULL_IF_CONFIG_SMALL("Iterated Systems ClearVideo"),
.props = AV_CODEC_PROP_LOSSY, .props = AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_TIFF, .id = AV_CODEC_ID_XPM,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "tiff", .name = "xpm",
.long_name = NULL_IF_CONFIG_SMALL("TIFF image"), .long_name = NULL_IF_CONFIG_SMALL("XPM (X PixMap) image"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
.mime_types= MT("image/tiff"), .mime_types= MT("image/x-xpixmap"),
},
{
.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_VC1IMAGE, .id = AV_CODEC_ID_AV1,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "vc1image", .name = "av1",
.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image v2"), .long_name = NULL_IF_CONFIG_SMALL("Alliance for Open Media AV1"),
.props = AV_CODEC_PROP_LOSSY, .props = AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_WEBP, .id = AV_CODEC_ID_BITPACKED,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "webp", .name = "bitpacked",
.long_name = NULL_IF_CONFIG_SMALL("WebP"), .long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY | .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
AV_CODEC_PROP_LOSSLESS,
.mime_types= MT("image/webp"),
}, },
{ {
.id = AV_CODEC_ID_WMV3IMAGE, .id = AV_CODEC_ID_MSCC,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "wmv3image", .name = "mscc",
.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image"), .long_name = NULL_IF_CONFIG_SMALL("Mandsoft Screen Capture Codec"),
.props = AV_CODEC_PROP_LOSSY, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_XBM, .id = AV_CODEC_ID_SRGC,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "xbm", .name = "srgc",
.long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"), .long_name = NULL_IF_CONFIG_SMALL("Screen Recorder Gold Codec"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .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, .type = AVMEDIA_TYPE_VIDEO,
.name = "xpm", .name = "svg",
.long_name = NULL_IF_CONFIG_SMALL("XPM (X PixMap) image"), .long_name = NULL_IF_CONFIG_SMALL("Scalable Vector Graphics"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
.mime_types= MT("image/x-xpixmap"), .mime_types= MT("image/svg+xml"),
}, },
{ {
.id = AV_CODEC_ID_XWD, .id = AV_CODEC_ID_GDV,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "xwd", .name = "gdv",
.long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"), .long_name = NULL_IF_CONFIG_SMALL("Gremlin Digital Video"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSY,
.mime_types= MT("image/x-xwindowdump"),
}, },
{ {
.id = AV_CODEC_ID_APNG, .id = AV_CODEC_ID_FITS,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.name = "apng", .name = "fits",
.long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"), .long_name = NULL_IF_CONFIG_SMALL("FITS (Flexible Image Transport System)"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
.mime_types= MT("image/png"),
}, },
/* various PCM "codecs" */ /* various PCM "codecs" */
...@@ -1728,20 +1720,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1728,20 +1720,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit big-endian"), .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit big-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .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, .id = AV_CODEC_ID_PCM_U32LE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
...@@ -1799,108 +1777,122 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -1799,108 +1777,122 @@ static const AVCodecDescriptor codec_descriptors[] = {
.props = AV_CODEC_PROP_LOSSY, .props = AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_PCM_S16BE_PLANAR, .id = AV_CODEC_ID_PCM_S16LE_PLANAR,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_s16be_planar", .name = "pcm_s16le_planar",
.long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian planar"), .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian planar"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_S16LE_PLANAR, .id = AV_CODEC_ID_PCM_DVD,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_s16le_planar", .name = "pcm_dvd",
.long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian planar"), .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20|24-bit big-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_S24LE_PLANAR, .id = AV_CODEC_ID_PCM_F32BE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_s24le_planar", .name = "pcm_f32be",
.long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian planar"), .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point big-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_S32LE_PLANAR, .id = AV_CODEC_ID_PCM_F32LE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_s32le_planar", .name = "pcm_f32le",
.long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar"), .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point little-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_DVD, .id = AV_CODEC_ID_PCM_F64BE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_dvd", .name = "pcm_f64be",
.long_name = NULL_IF_CONFIG_SMALL("PCM signed 20|24-bit big-endian"), .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point big-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_F16LE, .id = AV_CODEC_ID_PCM_F64LE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_f16le", .name = "pcm_f64le",
.long_name = NULL_IF_CONFIG_SMALL("PCM 16.8 floating point little-endian"), .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point little-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_F24LE, .id = AV_CODEC_ID_PCM_BLURAY,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_f24le", .name = "pcm_bluray",
.long_name = NULL_IF_CONFIG_SMALL("PCM 24.0 floating point little-endian"), .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_F32BE, .id = AV_CODEC_ID_PCM_LXF,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_f32be", .name = "pcm_lxf",
.long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point big-endian"), .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20-bit little-endian planar"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_F32LE, .id = AV_CODEC_ID_S302M,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_f32le", .name = "s302m",
.long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point little-endian"), .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
.props = AV_CODEC_PROP_LOSSLESS, .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, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_f64be", .name = "pcm_s32le_planar",
.long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point big-endian"), .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_F64LE, .id = AV_CODEC_ID_PCM_S16BE_PLANAR,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_f64le", .name = "pcm_s16be_planar",
.long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point little-endian"), .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian planar"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_BLURAY, .id = AV_CODEC_ID_PCM_S64LE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_bluray", .name = "pcm_s64le",
.long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"), .long_name = NULL_IF_CONFIG_SMALL("PCM signed 64-bit little-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_LXF, .id = AV_CODEC_ID_PCM_S64BE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_lxf", .name = "pcm_s64be",
.long_name = NULL_IF_CONFIG_SMALL("PCM signed 20-bit little-endian planar"), .long_name = NULL_IF_CONFIG_SMALL("PCM signed 64-bit big-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_S302M, .id = AV_CODEC_ID_PCM_F16LE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "s302m", .name = "pcm_f16le",
.long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"), .long_name = NULL_IF_CONFIG_SMALL("PCM 16.8 floating point little-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_PCM_S8_PLANAR, .id = AV_CODEC_ID_PCM_F24LE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "pcm_s8_planar", .name = "pcm_f24le",
.long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit planar"), .long_name = NULL_IF_CONFIG_SMALL("PCM 24.0 floating point little-endian"),
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
...@@ -2038,13 +2030,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2038,13 +2030,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo THP"), .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo THP"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_ADPCM_IMA_AMV,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
...@@ -2122,6 +2107,13 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2122,6 +2107,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA CRYO APC"), .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA CRYO APC"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_ADPCM_AFC,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
...@@ -2158,10 +2150,10 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2158,10 +2150,10 @@ static const AVCodecDescriptor codec_descriptors[] = {
.props = AV_CODEC_PROP_LOSSY, .props = AV_CODEC_PROP_LOSSY,
}, },
{ {
.id = AV_CODEC_ID_ADPCM_VIMA, .id = AV_CODEC_ID_ADPCM_THP_LE,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "adpcm_vima", .name = "adpcm_thp_le",
.long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio"), .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo THP (Little-Endian)"),
.props = AV_CODEC_PROP_LOSSY, .props = AV_CODEC_PROP_LOSSY,
}, },
{ {
...@@ -2185,6 +2177,13 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2185,6 +2177,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Eurocom DAT4"), .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Eurocom DAT4"),
.props = AV_CODEC_PROP_LOSSY, .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 */ /* AMR */
{ {
...@@ -2546,20 +2545,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2546,20 +2545,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)"), .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_EAC3,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
...@@ -2652,20 +2637,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2652,20 +2637,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("G.723.1"), .long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_G729,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
...@@ -2715,24 +2686,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2715,24 +2686,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"), .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_OPUS,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
...@@ -2775,6 +2728,31 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2775,6 +2728,31 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("On2 Audio for Video Codec"), .long_name = NULL_IF_CONFIG_SMALL("On2 Audio for Video Codec"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_EVRC,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
...@@ -2789,13 +2767,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2789,13 +2767,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("SMV (Selectable Mode Vocoder)"), .long_name = NULL_IF_CONFIG_SMALL("SMV (Selectable Mode Vocoder)"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_DSD_LSBF,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
...@@ -2824,6 +2795,13 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2824,6 +2795,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), most significant bit first, planar"), .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), most significant bit first, planar"),
.props = AV_CODEC_PROP_LOSSY, .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, .id = AV_CODEC_ID_INTERPLAY_ACM,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
...@@ -2853,10 +2831,24 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2853,10 +2831,24 @@ static const AVCodecDescriptor codec_descriptors[] = {
.props = AV_CODEC_PROP_LOSSLESS, .props = AV_CODEC_PROP_LOSSLESS,
}, },
{ {
.id = AV_CODEC_ID_ADPCM_MTAF, .id = AV_CODEC_ID_ATRAC3AL,
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.name = "adpcm_mtaf", .name = "atrac3al",
.long_name = NULL_IF_CONFIG_SMALL("ADPCM MTAF"), .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, .props = AV_CODEC_PROP_LOSSY,
}, },
{ {
...@@ -2896,13 +2888,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2896,13 +2888,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("XSUB"), .long_name = NULL_IF_CONFIG_SMALL("XSUB"),
.props = AV_CODEC_PROP_BITMAP_SUB, .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, .id = AV_CODEC_ID_SSA,
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
...@@ -2937,13 +2922,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2937,13 +2922,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle with embedded timing"), .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle with embedded timing"),
.props = AV_CODEC_PROP_TEXT_SUB, .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, .id = AV_CODEC_ID_MICRODVD,
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
...@@ -2951,13 +2929,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2951,13 +2929,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle"), .long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle"),
.props = AV_CODEC_PROP_TEXT_SUB, .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, .id = AV_CODEC_ID_EIA_608,
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
...@@ -2972,13 +2943,6 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -2972,13 +2943,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle"), .long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle"),
.props = AV_CODEC_PROP_TEXT_SUB, .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, .id = AV_CODEC_ID_SAMI,
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
...@@ -3015,10 +2979,10 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -3015,10 +2979,10 @@ static const AVCodecDescriptor codec_descriptors[] = {
.props = AV_CODEC_PROP_TEXT_SUB, .props = AV_CODEC_PROP_TEXT_SUB,
}, },
{ {
.id = AV_CODEC_ID_VPLAYER, .id = AV_CODEC_ID_SUBRIP,
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
.name = "vplayer", .name = "subrip",
.long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitle"), .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
.props = AV_CODEC_PROP_TEXT_SUB, .props = AV_CODEC_PROP_TEXT_SUB,
}, },
{ {
...@@ -3028,6 +2992,34 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -3028,6 +2992,34 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"), .long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),
.props = AV_CODEC_PROP_TEXT_SUB, .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, .id = AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
...@@ -3044,6 +3036,12 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -3044,6 +3036,12 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("TrueType font"), .long_name = NULL_IF_CONFIG_SMALL("TrueType font"),
.mime_types= MT("application/x-truetype-font", "application/x-font"), .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, .id = AV_CODEC_ID_BINTEXT,
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -3098,23 +3096,48 @@ static const AVCodecDescriptor codec_descriptors[] = { ...@@ -3098,23 +3096,48 @@ static const AVCodecDescriptor codec_descriptors[] = {
.mime_types= MT("application/octet-stream"), .mime_types= MT("application/octet-stream"),
}, },
{ {
.id = AV_CODEC_ID_SCTE_35, .id = AV_CODEC_ID_WRAPPED_AVFRAME,
.type = AVMEDIA_TYPE_DATA, .type = AVMEDIA_TYPE_VIDEO,
.name = "scte_35", .name = "wrapped_avframe",
.long_name = NULL_IF_CONFIG_SMALL("SCTE 35 Message Queue"), .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; int i;
for (i = 0; i < FF_ARRAY_ELEMS(codec_descriptors); i++) for (i = 0; i < FF_ARRAY_ELEMS(codec_descriptors) - 1; i++) {
if (codec_descriptors[i].id == id) if (codec_descriptors[i].id >= codec_descriptors[i+1].id) {
return &codec_descriptors[i]; av_log(NULL, AV_LOG_FATAL, "unsorted codec_id '%s' and '%s'.\n",
return NULL; 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) const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment