Commit 9d97ecb3 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

fourcc: split the big FourCC table to a separate file

parent fe65f510
......@@ -444,6 +444,7 @@ SOURCES_libvlc_common = \
misc/block.c \
misc/fifo.c \
misc/fourcc.c \
misc/fourcc_list.h \
misc/es_format.c \
misc/picture.c \
misc/picture_fifo.c \
......
......@@ -63,1548 +63,7 @@ typedef struct
/* Create a sub-class entry without description (alias) */
#define A(b) E(b, NULL4)
/* */
static const staticentry_t p_list_video[] = {
B(VLC_CODEC_MP1V, "MPEG-1 Video"),
A("mp1v"),
A("mpg1"),
A("BW10"),
E("XMPG", "Xing MPEG-1 Intra"),
B(VLC_CODEC_MPGV, "MPEG-1/2 Video"),
B(VLC_CODEC_MP2V, "MPEG-2 Video"),
A("mpgv"),
A("mpeg"),
A("mp2v"),
A("MPEG"),
A("mpg2"),
A("MPG2"),
A("H262"),
E("PIM1", "Pinnacle DC1000 (MPEG-1 Video)"),
E("hdv1", "HDV 720p30 (MPEG-2 Video)"),
E("hdv2", "Sony HDV 1080i60 (MPEG-2 Video)"),
E("hdv3", "FCP HDV 1080i50 (MPEG-2 Video)"),
E("hdv4", "HDV 720p24 (MPEG-2 Video)"),
E("hdv5", "HDV 720p25 (MPEG-2 Video)"),
E("hdv6", "HDV 1080p24 (MPEG-2 Video)"),
E("hdv7", "HDV 1080p25 (MPEG-2 Video)"),
E("hdv8", "HDV 1080p30 (MPEG-2 Video)"),
E("hdv9", "HDV 720p60 JVC (MPEG-2 Video)"),
E("hdva", "HDV 720p50 (MPEG-2 Video)"),
E("mx5n", "MPEG2 IMX NTSC 525/60 50Mb/s (FCP)"),
E("mx5p", "MPEG2 IMX PAL 625/60 50Mb/s (FCP)"),
E("mx4n", "MPEG2 IMX NTSC 525/60 40Mb/s (FCP)"),
E("mx4p", "MPEG2 IMX PAL 625/50 40Mb/s (FCP)"),
E("mx3n", "MPEG2 IMX NTSC 525/60 30Mb/s (FCP)"),
E("mx3p", "MPEG2 IMX NTSC 625/50 30Mb/s (FCP)"),
E("xdv1", "XDCAM HD 720p30 35Mb/s"),
E("xdv2", "XDCAM HD 1080i60 35Mb/s"),
E("xdv3", "XDCAM HD 1080i50 35Mb/s"),
E("xdv4", "XDCAM HD 720p24 35Mb/s"),
E("xdv5", "XDCAM HD 720p25 35Mb/s"),
E("xdv6", "XDCAM HD 1080p24 35Mb/s"),
E("xdv7", "XDCAM HD 1080p25 35Mb/s"),
E("xdv8", "XDCAM HD 1080p30 35Mb/s"),
E("xdv9", "XDCAM HD 720p60 35Mb/s"),
E("xdva", "XDCAM HD 720p50 35Mb/s"),
E("xdvb", "XDCAM EX 1080i60 50Mb/s CBR"),
E("xdvc", "XDCAM EX 1080i50 50Mb/s CBR"),
E("xdvd", "XDCAM EX 1080p24 50Mb/s CBR"),
E("xdve", "XDCAM EX 1080p25 50Mb/s CBR"),
E("xdvf", "XDCAM EX 1080p30 50Mb/s CBR"),
E("xd51", "XDCAM HD422 720p30 50Mb/s CBR"),
E("xd54", "XDCAM HD422 720p24 50Mb/s CBR"),
E("xd55", "XDCAM HD422 720p25 50Mb/s CBR"),
E("xd59", "XDCAM HD422 720p60 50Mb/s CBR"),
E("xd5a", "XDCAM HD422 720p50 50Mb/s CBR"),
E("xd5b", "XDCAM HD422 1080i60 50Mb/s CBR"),
E("xd5c", "XDCAM HD422 1080i50 50Mb/s CBR"),
E("xd5d", "XDCAM HD422 1080p24 50Mb/s CBR"),
E("xd5e", "XDCAM HD422 1080p25 50Mb/s CBR"),
E("xd5f", "XDCAM HD422 1080p30 50Mb/s CBR"),
E("xdhd", "XDCAM HD 540p"),
E("xdh2", "XDCAM HD422 540p"),
E("AVmp", "AVID IMX PAL"),
E("MMES", "Matrox MPEG-2"),
E("mmes", "Matrox MPEG-2"),
E("PIM2", "Pinnacle MPEG-2"),
E("LMP2", "Lead MPEG-2"),
E("VCR2", "ATI VCR-2"),
B(VLC_CODEC_MP4V, "MPEG-4 Video"),
A("mp4v"),
A("DIVX"),
A("divx"),
A("MP4S"),
A("mp4s"),
A("M4S2"),
A("m4s2"),
A("MP4V"),
A("\x04\x00\x00\x00"),
A("m4cc"),
A("M4CC"),
A("FMP4"),
A("fmp4"),
A("DCOD"),
A("MVXM"),
A("PM4V"),
A("M4T3"),
A("GEOX"),
A("GEOV"),
A("DMK2"),
A("WV1F"),
A("DIGI"),
A("INMC"),
A("SN40"),
A("EPHV"),
A("DM4V"),
A("SM4V"),
A("DYM4"),
/* XVID flavours */
E("xvid", "Xvid MPEG-4 Video"),
E("XVID", "Xvid MPEG-4 Video"),
E("XviD", "Xvid MPEG-4 Video"),
E("XVIX", "Xvid MPEG-4 Video"),
E("xvix", "Xvid MPEG-4 Video"),
/* DX50 */
E("DX50", "DivX MPEG-4 Video"),
E("dx50", "DivX MPEG-4 Video"),
E("BLZ0", "Blizzard MPEG-4 Video"),
E("DXGM", "Electronic Arts Game MPEG-4 Video"),
E("DreX", "DreX Mpeg-4"),
/* 3ivx delta 4 */
E("3IV2", "3ivx MPEG-4 Video"),
E("3iv2", "3ivx MPEG-4 Video"),
/* Various */
E("UMP4", "UB MPEG-4 Video"),
E("SEDG", "Samsung MPEG-4 Video"),
E("RMP4", "REALmagic MPEG-4 Video"),
E("LMP4", "Lead MPEG-4 Video"),
E("HDX4", "Jomigo HDX4 (MPEG-4 Video)"),
E("hdx4", "Jomigo HDX4 (MPEG-4 Video)"),
E("SMP4", "Samsung SMP4 (MPEG-4 Video)"),
E("smp4", "Samsung SMP4 (MPEG-4 Video)"),
E("fvfw", "libavcodec MPEG-4"),
E("FVFW", "libavcodec MPEG-4"),
E("FFDS", "FFDShow MPEG-4"),
E("VIDM", "vidm 4.01 codec"),
E("DP02", "DynaPel MPEG-4 codec"),
E("PLV1", "Pelco DVR MPEG-4"),
E("QMP4", "QNAP Systems MPEG-4"),
E("qMP4", "QNAP Systems MPEG-4"),
A("wMP4"), /* Seems QNAP too */
/* 3ivx delta 3.5 Unsupported
* putting it here gives extreme distorted images */
//E("3IV1", "3ivx delta 3.5 MPEG-4 Video"),
//E("3iv1", "3ivx delta 3.5 MPEG-4 Video"),
/* MSMPEG4 v1 */
B(VLC_CODEC_DIV1, "MS MPEG-4 Video v1"),
A("DIV1"),
A("div1"),
A("MPG4"),
A("mpg4"),
A("mp41"),
/* MSMPEG4 v2 */
B(VLC_CODEC_DIV2, "MS MPEG-4 Video v2"),
A("DIV2"),
A("div2"),
A("MP42"),
A("mp42"),
/* MSMPEG4 v3 / M$ mpeg4 v3 */
B(VLC_CODEC_DIV3, "MS MPEG-4 Video v3"),
A("DIV3"),
A("MPG3"),
A("mpg3"),
A("div3"),
A("MP43"),
A("mp43"),
/* DivX 3.20 */
A("DIV4"),
A("div4"),
A("DIV5"),
A("div5"),
A("DIV6"),
A("div6"),
E("divf", "DivX 4.12"),
E("DIVF", "DivX 4.12"),
/* Cool Codec */
A("COL1"),
A("col1"),
A("COL0"),
A("col0"),
/* AngelPotion stuff */
A("AP41"),
/* 3ivx doctered divx files */
A("3IVD"),
A("3ivd"),
/* who knows? */
A("3VID"),
A("3vid"),
A("DVX1"),
A("DVX3"),
/* Sorenson v1 */
B(VLC_CODEC_SVQ1, "SVQ-1 (Sorenson Video v1)"),
A("SVQ1"),
A("svq1"),
A("svqi"),
/* Sorenson v3 */
B(VLC_CODEC_SVQ3, "SVQ-3 (Sorenson Video v3)"),
A("SVQ3"),
/* HEVC / H.265 */
B(VLC_CODEC_HEVC, "MPEG-H Part2/HEVC (H.265)"),
A("hevc"),
A("HEVC"),
A("h265"),
A("H265"),
A("x265"),
A("hev1"),
A("HM10"),
/* h264 */
B(VLC_CODEC_H264, "H264 - MPEG-4 AVC (part 10)"),
A("H264"),
A("h264"),
A("x264"),
A("X264"),
A("V264"),
/* avc1: special case h264 */
A("avc1"),
A("AVC1"),
A("AVCB"), /* smooth streaming alias */
A("avc3"),
E("ai5p", "AVC-Intra 50M 720p24/30/60"),
E("ai5q", "AVC-Intra 50M 720p25/50"),
E("ai52", "AVC-Intra 50M 1080p25/50"),
E("ai53", "AVC-Intra 50M 1080p24/30/60"),
E("ai55", "AVC-Intra 50M 1080i50"),
E("ai56", "AVC-Intra 50M 1080i60"),
E("ai1p", "AVC-Intra 100M 720p24/30/60"),
E("ai1q", "AVC-Intra 100M 720p25/50"),
E("ai12", "AVC-Intra 100M 1080p25/50"),
E("ai13", "AVC-Intra 100M 1080p24/30/60"),
E("ai15", "AVC-Intra 100M 1080i50"),
E("ai16", "AVC-Intra 100M 1080i60"),
E("VSSH", "Vanguard VSS H264"),
E("VSSW", "Vanguard VSS H264"),
E("vssh", "Vanguard VSS H264"),
E("DAVC", "Dicas MPEGable H.264/MPEG-4 AVC"),
E("davc", "Dicas MPEGable H.264/MPEG-4 AVC"),
E("x3eV", "DreX H.264"),
E("GAVC", "GeoVision MPEG-4 AVC"),
E("Q264", "QNAP H.264/MPEG-4 AVC"),
A("UMSV"),
A("SMV2"),
A("tshd"),
A("rv64"),
/* H263 and H263i */
/* H263(+) is also known as Real Video 1.0 */
/* H263 */
B(VLC_CODEC_H263, "H263"),
A("H263"),
A("h263"),
A("VX1K"),
A("s263"),
A("S263"),
A("U263"),
A("u263"),
A("lsvm"),
E("D263", "DEC H263"),
E("d263", "DEC H263"),
E("L263", "LEAD H263"),
E("M263", "Microsoft H263"),
E("X263", "Xirlink H263"),
/* Zygo (partial) */
E("ZyGo", "ITU H263+"),
/* H263i */
B(VLC_CODEC_H263I, "I263.I"),
A("I263"),
A("i263"),
/* H263P */
B(VLC_CODEC_H263P, "ITU H263+"),
E("ILVR", "ITU H263+"),
E("viv1", "H263+"),
E("vivO", "H263+"),
E("viv2", "H263+"),
E("VIVO", "H263+"),
E("U263", "UB H263+"),
/* Flash (H263) variant */
B(VLC_CODEC_FLV1, "Flash Video"),
A("FLV1"),
A("flv "),
/* H261 */
B(VLC_CODEC_H261, "H.261"),
A("H261"),
A("h261"),
B(VLC_CODEC_FLIC, "Flic Video"),
A("FLIC"),
A("AFLC"),
/* MJPEG */
B(VLC_CODEC_MJPG, "Motion JPEG Video"),
A("MJPG"),
A("MJPx"),
A("mjpg"),
A("mJPG"),
A("mjpa"),
A("jpeg"),
A("JPEG"),
A("JFIF"),
A("JPGL"),
A("LJPG"),
A("AVDJ"),
A("MMJP"),
A("FLJP"),
A("FMJP"),
A("SJPG"),
A("QIVG"), /* Probably QNAP */
A("qIVG"), /* Probably QNAP */
A("wIVG"), /* Probably QNAP */
E("AVRn", "Avid Motion JPEG"),
E("AVDJ", "Avid Motion JPEG"),
E("ADJV", "Avid Motion JPEG"),
E("dmb1", "Motion JPEG OpenDML Video"),
E("DMB1", "Motion JPEG OpenDML Video"),
E("ijpg", "Intergraph JPEG Video"),
E("IJPG", "Intergraph JPEG Video"),
E("ACDV", "ACD Systems Digital"),
E("SLMJ", "SL M-JPEG"),
B(VLC_CODEC_MJPGB, "Motion JPEG B Video"),
A("mjpb"),
B(VLC_CODEC_LJPG, "Lead Motion JPEG Video"),
A("LJPG"),
E("Ljpg", "Lead Motion JPEG"),
// ? from avcodec/fourcc.c but makes not sense.
//{ VLC_FOURCC( 'L','J','P','G' ), CODEC_ID_MJPEG, VIDEO_ES, "Lead Motion JPEG Video" },
/* SP5x */
B(VLC_CODEC_SP5X, "Sunplus Motion JPEG Video"),
A("SP5X"),
A("SP53"),
A("SP54"),
A("SP55"),
A("SP56"),
A("SP57"),
A("SP58"),
/* DV */
B(VLC_CODEC_DV, "DV Video"),
A("dv "),
A("dvsl"),
A("DVSD"),
A("dvsd"),
A("DVCS"),
A("dvcs"),
A("dvhd"),
A("dvhq"),
A("dvh1"),
E("dvh2", "DV Video 720p24"),
E("dvh3", "DV Video 720p25"),
E("dvh4", "DV Video 720p30"),
A("dv25"),
A("dc25"),
A("dvs1"),
A("dvis"),
A("CDV2"),
A("CDVP"),
A("PDVC"),
A("IPDV"),
A("ipdv"),
A("pdvc"),
A("SL25"),
E("dvcp", "DV Video PAL"),
E("dvc ", "DV Video NTSC" ),
E("dvp ", "DV Video Pro"),
E("dvpp", "DV Video Pro PAL"),
E("dv50", "DV Video C Pro 50"),
E("dv5p", "DV Video C Pro 50 PAL"),
E("dv5n", "DV Video C Pro 50 NTSC"),
E("dv1p", "DV Video C Pro 100 PAL" ),
E("dv1n", "DV Video C Pro 100 NTSC" ),
E("dvhp", "DV Video C Pro HD 720p" ),
E("dvh5", "DV Video C Pro HD 1080i50" ),
E("dvh6", "DV Video C Pro HD 1080i60" ),
E("AVdv", "AVID DV"),
E("AVd1", "AVID DV"),
E("CDVC", "Canopus DV Video"),
E("cdvc", "Canopus DV Video"),
E("CDVH", "Canopus DV Video"),
E("cdvh", "Canopus DV Video"),
E("CDV5", "Canopus DV Video"),
E("SLDV", "SoftLab DVCAM codec"),
/* Windows Media Video */
B(VLC_CODEC_WMV1, "Windows Media Video 7"),
A("WMV1"),
A("wmv1"),
B(VLC_CODEC_WMV2, "Windows Media Video 8"),
A("WMV2"),
A("wmv2"),
A("GXVE"),
B(VLC_CODEC_WMV3, "Windows Media Video 9"),
A("WMV3"),
A("wmv3"),
/* WMVA is the VC-1 codec before the standardization proces,
* it is not bitstream compatible and deprecated */
B(VLC_CODEC_WMVA, "Windows Media Video Advanced Profile"),
A("WMVA"),
A("wmva"),
B(VLC_CODEC_VC1, "Windows Media Video VC1"),
A("WVC1"),
A("wvc1"),
A("vc-1"),
A("VC-1"),
B(VLC_CODEC_WMVP, "Windows Media Video Presentation"),
A("WMVP"),
A("wmvp"),
B(VLC_CODEC_WMVP2, "Windows Media Video Presentation, v2"),
A("WVP2"),
A("wvp2"),
/* Microsoft Video 1 */
B(VLC_CODEC_MSVIDEO1, "Microsoft Video 1"),
A("MSVC"),
A("msvc"),
A("CRAM"),
A("cram"),
A("WHAM"),
A("wham"),
/* Microsoft RLE */
B(VLC_CODEC_MSRLE, "Microsoft RLE Video"),
A("mrle"),
A("WRLE"),
A("\x01\x00\x00\x00"),
A("\x02\x00\x00\x00"),
/* Indeo Video Codecs (Quality of this decoder on ppc is not good) */
B(VLC_CODEC_INDEO3, "Indeo Video v3"),
A("IV31"),
A("iv31"),
A("IV32"),
A("iv32"),
/* Huff YUV */
B(VLC_CODEC_HUFFYUV, "Huff YUV Video"),
A("HFYU"),
B(VLC_CODEC_FFVHUFF, "Huff YUV Video"),
A("FFVH"),
/* On2 VP3 Video Codecs */
B(VLC_CODEC_VP3, "On2's VP3 Video"),
A("VP3 "),
A("VP30"),
A("vp30"),
A("VP31"),
A("vp31"),
/* On2 VP5, VP6 codecs */
B(VLC_CODEC_VP5, "On2's VP5 Video"),
A("VP5 "),
A("VP50"),
B(VLC_CODEC_VP6, "On2's VP6.2 Video"),
A("VP62"),
A("vp62"),
E("VP60", "On2's VP6.0 Video"),
E("VP61", "On2's VP6.1 Video"),
B(VLC_CODEC_VP6F, "On2's VP6.2 Video (Flash)"),
A("VP6F"),
A("FLV4"),
B(VLC_CODEC_VP6A, "On2's VP6 A Video"),
A("VP6A"),
B(VLC_CODEC_VP7, "Google/On2's VP7 Video"),
A("VP70"),
A("VP71"),
B(VLC_CODEC_VP8, "Google/On2's VP8 Video"),
A("VP80"),
B(VLC_CODEC_VP9, "Google/On2's VP9 Video"),
A("VP90"),
/* Xiph.org theora */
B(VLC_CODEC_THEORA, "Xiph.org's Theora Video"),
A("theo"),
A("THEO"),
A("Thra"),
/* Xiph.org tarkin */
B(VLC_CODEC_TARKIN, "Xiph.org's Tarkin Video"),
A("tark"),
/* Asus Video (Another thing that doesn't work on PPC) */
B(VLC_CODEC_ASV1, "Asus V1 Video"),
A("ASV1"),
B(VLC_CODEC_ASV2, "Asus V2 Video"),
A("ASV2"),
/* FF video codec 1 (lossless codec) */
B(VLC_CODEC_FFV1, "FF video codec 1"),
A("FFV1"),
/* ATI VCR1 */
B(VLC_CODEC_VCR1, "ATI VCR1 Video"),
A("VCR1"),
/* Cirrus Logic AccuPak */
B(VLC_CODEC_CLJR, "Creative Logic AccuPak"),
A("CLJR"),
/* Real Video */
B(VLC_CODEC_RV10, "RealVideo 1.0"),
A("RV10"),
A("rv10"),
B(VLC_CODEC_RV13, "RealVideo 1.3"),
A("RV13"),
A("rv13"),
B(VLC_CODEC_RV20, "RealVideo G2 (2.0)"),
A("RV20"),
A("rv20"),
B(VLC_CODEC_RV30, "RealVideo 8 (3.0)"),
A("RV30"),
A("rv30"),
B(VLC_CODEC_RV40, "RealVideo 9/10 (4.0)"),
A("RV40"),
A("rv40"),
/* Apple Video */
B(VLC_CODEC_RPZA, "Apple Video"),
A("rpza"),
A("azpr"),
A("RPZA"),
A("AZPR"),
B(VLC_CODEC_SMC, "Apple graphics"),
A("smc "),
B(VLC_CODEC_CINEPAK, "Cinepak Video"),
A("CVID"),
A("cvid"),
/* Screen Capture Video Codecs */
B(VLC_CODEC_TSCC, "TechSmith Camtasia Screen Capture"),
A("TSCC"),
A("tscc"),
B(VLC_CODEC_CSCD, "CamStudio Screen Codec"),
A("CSCD"),
A("cscd"),
B(VLC_CODEC_ZMBV, "DosBox Capture Codec"),
A("ZMBV"),
B(VLC_CODEC_VMNC, "VMware Video"),
A("VMnc"),
B(VLC_CODEC_FRAPS, "FRAPS: Realtime Video Capture"),
A("FPS1"),
A("fps1"),
/* Duck TrueMotion */
B(VLC_CODEC_TRUEMOTION1, "Duck TrueMotion v1 Video"),
A("DUCK"),
A("PVEZ"),
B(VLC_CODEC_TRUEMOTION2, "Duck TrueMotion v2.0 Video"),
A("TM20"),
B(VLC_CODEC_QTRLE, "Apple QuickTime RLE Video"),
A("rle "),
B(VLC_CODEC_QDRAW, "Apple QuickDraw Video"),
A("qdrw"),
B(VLC_CODEC_QPEG, "QPEG Video"),
A("QPEG"),
A("Q1.0"),
A("Q1.1"),
B(VLC_CODEC_ULTI, "IBM Ultimotion Video"),
A("ULTI"),
B(VLC_CODEC_VIXL, "Miro/Pinnacle VideoXL Video"),
A("VIXL"),
A("XIXL"),
E("PIXL", "Pinnacle VideoXL Video"),
B(VLC_CODEC_LOCO, "LOCO Video"),
A("LOCO"),
B(VLC_CODEC_WNV1, "Winnov WNV1 Video"),
A("WNV1"),
A("YUV8"),
B(VLC_CODEC_AASC, "Autodesc RLE Video"),
A("AASC"),
E("AAS4", "Autodesc RLE Video 24bit"),
B(VLC_CODEC_INDEO2, "Indeo Video v2"),
A("IV20"),
E("RT21", "Indeo Video 2.1" ),
/* Flash Screen Video */
B(VLC_CODEC_FLASHSV, "Flash Screen Video"),
A("FSV1"),
B(VLC_CODEC_FLASHSV2, "Flash Screen Video 2"),
A("FSV2"),
B(VLC_CODEC_KMVC, "Karl Morton's Video Codec (Worms)"),
A("KMVC"),
B(VLC_CODEC_NUV, "Nuppel Video"),
A("RJPG"),
A("NUV1"),
/* CODEC_ID_SMACKVIDEO */
B(VLC_CODEC_SMACKVIDEO, "Smacker Video"),
A("SMK2"),
A("SMK4"),
/* Chinese AVS - Untested */
B(VLC_CODEC_CAVS, "Chinese AVS"),
A("CAVS"),
A("AVs2"),
A("avs2"),