X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmisc%2Ffourcc.c;h=1ac3300c746e2dd22d1734596889a6c9bc028e25;hb=52707967341dd264d6422c8186dfa1d3c833965a;hp=8839726c20b6efc5f2a873f221d11a687ea8cade;hpb=5e36262acb5516ed4dcf3c88de1112d6e33b3944;p=vlc diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c index 8839726c20..1ac3300c74 100644 --- a/src/misc/fourcc.c +++ b/src/misc/fourcc.c @@ -33,6 +33,14 @@ #include #include + +typedef struct +{ + char p_class[4]; + char p_fourcc[4]; + char psz_description[56]; +} staticentry_t; + typedef struct { char p_class[4]; @@ -57,7 +65,7 @@ typedef struct /* */ -static const entry_t p_list_video[] = { +static const staticentry_t p_list_video[] = { B(VLC_CODEC_MPGV, "MPEG-1/2 Video"), A("mpgv"), @@ -256,6 +264,7 @@ static const entry_t p_list_video[] = { A("h264"), A("x264"), A("X264"), + A("V264"), /* avc1: special case h264 */ A("avc1"), A("AVC1"), @@ -290,6 +299,7 @@ static const entry_t p_list_video[] = { A("S263"), A("U263"), A("u263"), + A("lsvm"), E("D263", "DEC H263"), E("d263", "DEC H263"), E("L263", "LEAD H263"), @@ -512,6 +522,7 @@ static const entry_t p_list_video[] = { /* Xiph.org theora */ B(VLC_CODEC_THEORA, "Xiph.org's Theora Video"), A("theo"), + A("THEO"), A("Thra"), /* Xiph.org tarkin */ @@ -681,11 +692,13 @@ static const entry_t p_list_video[] = { A("IV50"), A("iv50"), - B(VLC_CODEC_PRORES, "Apple ProRes 422"), + B(VLC_CODEC_PRORES, "Apple ProRes"), + E("apcn", "Apple ProRes 422 Standard"), E("apch", "Apple ProRes 422 HQ"), E("apcs", "Apple ProRes 422 LT"), E("apco", "Apple ProRes 422 Proxy"), E("ap4c", "Apple ProRes 4444"), + E("ap4h", "Apple ProRes 4444"), /* */ B(VLC_CODEC_YV12, "Planar 4:2:0 YVU"), @@ -894,6 +907,8 @@ static const entry_t p_list_video[] = { B(VLC_CODEC_PCX, "Personal Computer Exchange Image"), A("pcx "), + B(VLC_CODEC_XWD, "X Window system raster image"), + B(VLC_CODEC_JPEG2000, "JPEG 2000 Image"), A("JP2K"), A("mjp2"), @@ -939,10 +954,14 @@ static const entry_t p_list_video[] = { B(VLC_CODEC_TSC2, "TechSmith Screen Codec 2"), A("MSA1"), + A("tsc2"), + + B(VLC_CODEC_MTS2, "Microsoft Expression Encoder Screen"), + A("MTS2"), B(0, "") }; -static const entry_t p_list_audio[] = { +static const staticentry_t p_list_audio[] = { /* Windows Media Audio 1 */ B(VLC_CODEC_WMA1, "Windows Media Audio 1"), @@ -1045,6 +1064,8 @@ static const entry_t p_list_audio[] = { B(VLC_CODEC_MP4A, "MPEG AAC Audio"), A("mp4a"), A("aac "), + A("AACL"), + A("AACH"), /* ALS audio */ B(VLC_CODEC_ALS, "MPEG-4 Audio Lossless (ALS)"), @@ -1196,6 +1217,10 @@ static const entry_t p_list_audio[] = { B(VLC_CODEC_VORBIS, "Vorbis Audio"), A("vorb"), + A("vor1"), + + B(VLC_CODEC_OPUS, "Opus Audio"), + A("Opus"), B(VLC_CODEC_302M, "302M Audio"), A("302m"), @@ -1219,6 +1244,10 @@ static const entry_t p_list_audio[] = { B(VLC_CODEC_RALF, "RealAudio Lossless"), A("LSD:"), + /* G.723.1 */ + B(VLC_CODEC_G723_1, "G.723.1 Audio"), + A("g72\x31"), + /* PCM */ B(VLC_CODEC_S8, "PCM S8"), A("s8 "), @@ -1312,7 +1341,7 @@ static const entry_t p_list_audio[] = { B(0, "") }; -static const entry_t p_list_spu[] = { +static const staticentry_t p_list_spu[] = { B(VLC_CODEC_SPU, "DVD Subtitles"), A("spu "), @@ -1362,6 +1391,9 @@ static const entry_t p_list_spu[] = { B(VLC_CODEC_EBU_STL, "EBU STL subtitles"), A("STL "), + B(VLC_CODEC_SCTE_27, "SCTE-27 subtitles"), + A("SC27"), + B(0, "") }; @@ -1374,7 +1406,7 @@ static inline vlc_fourcc_t CreateFourcc( const char *psz_fourcc ) } /* */ -static entry_t Lookup( const entry_t p_list[], vlc_fourcc_t i_fourcc ) +static entry_t Lookup( const staticentry_t p_list[], vlc_fourcc_t i_fourcc ) { const char *p_class = NULL; const char *psz_description = NULL; @@ -1383,7 +1415,7 @@ static entry_t Lookup( const entry_t p_list[], vlc_fourcc_t i_fourcc ) for( int i = 0; ; i++ ) { - const entry_t *p = &p_list[i]; + const staticentry_t *p = &p_list[i]; const vlc_fourcc_t i_entry_fourcc = CreateFourcc( p->p_fourcc ); const vlc_fourcc_t i_entry_class = CreateFourcc( p->p_class );