X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmisc%2Ffourcc.c;h=7d34362c72905a0bc417d98930010d93bbc58f70;hb=8d875234ec302aec877c35682d9b1dc2d7b22982;hp=c503f341c07284951e011adaf70e674ed08edfdf;hpb=15da764af5710586564eff1168b7e08446f0b011;p=vlc diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c index c503f341c0..7d34362c72 100644 --- a/src/misc/fourcc.c +++ b/src/misc/fourcc.c @@ -65,6 +65,7 @@ static const entry_t p_list_video[] = { A("mp2v"), A("MPEG"), A("mpg2"), + A("MPG2"), E("PIM1", "Pinnacle DC1000 (MPEG-1 Video)"), @@ -376,7 +377,9 @@ static const entry_t p_list_video[] = { A("WMV3"), A("wmv3"), - B(VLC_CODEC_WMVA, "Windows Media Video Advanced"), + /* 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"), A("WVP2"), @@ -387,9 +390,6 @@ static const entry_t p_list_video[] = { A("wvc1"), A("vc-1"), A("VC-1"), - /* WMVA is the VC-1 codec before the standardization proces, - * it is not bitstream compatible and deprecated */ - E("WMVA", "Windows Media Video Advanced Profile"), /* Microsoft Video 1 */ B(VLC_CODEC_MSVIDEO1, "Microsoft Video 1"), @@ -591,6 +591,8 @@ static const entry_t p_list_video[] = { A("AVs2"), A("avs2"), + B(VLC_CODEC_AMV, "AMV"), + /* */ B(VLC_CODEC_DNXHD, "DNxHD"), A("AVdn"), @@ -602,6 +604,9 @@ static const entry_t p_list_video[] = { B(VLC_CODEC_CDG, "CD-G Video"), A("CDG "), + B(VLC_CODEC_FRWU, "Forward Uncompressed" ), + A("FRWU"), + /* */ B(VLC_CODEC_YV12, "Planar 4:2:0 YVU"), A("YV12"), @@ -664,23 +669,26 @@ static const entry_t p_list_video[] = { B(VLC_CODEC_UYVY, "Packed YUV 4:2:2, U:Y:V:Y"), A("UYVY"), A("UYNV"), + A("UYNY"), A("Y422"), + A("HDYC"), + A("AVUI"), + A("uyv1"), A("2vuy"), A("2Vuy"), - A("AVUI"), + A("2Vu1"), B(VLC_CODEC_VYUY, "Packed YUV 4:2:2, V:Y:U:Y"), A("VYUY"), B(VLC_CODEC_YUYV, "Packed YUV 4:2:2, Y:U:Y:V"), A("YUY2"), A("YUYV"), A("YUNV"), + A("V422"), B(VLC_CODEC_YVYU, "Packed YUV 4:2:2, Y:V:Y:U"), A("YVYU"), B(VLC_CODEC_Y211, "Packed YUV 2:1:1, Y:U:Y:V "), A("Y211"), - B(VLC_CODEC_YMGA, "Planar Y, packed UV, from Matrox"), - A("YMGA"), B(VLC_CODEC_CYUV, "Creative Packed YUV 4:2:2, U:Y:V:Y, reverted"), A("cyuv"), A("CYUV"), @@ -830,6 +838,9 @@ static const entry_t p_list_audio[] = { B(VLC_CODEC_RA_288, "RealAudio 2.0"), A("28_8"), + B(VLC_CODEC_SIPR, "RealAudio Sipr"), + A("sipr"), + /* MPEG Audio layer 1/2/3 */ B(VLC_CODEC_MPGA, "MPEG Audio layer 1/2/3"), A("mpga"), @@ -893,6 +904,10 @@ static const entry_t p_list_audio[] = { B(VLC_CODEC_ADPCM_IMA_WS, "Westwood IMA ADPCM audio"), A("AIWS"), + /* MS ADPCM */ + B(VLC_CODEC_ADPCM_MS, "MS ADPCM audio"), + A("ms\x00\x02"), + /* Sierra VMD */ B(VLC_CODEC_VMDAUDIO, "Sierra VMD Audio"), A("vmda"), @@ -901,10 +916,14 @@ static const entry_t p_list_audio[] = { B(VLC_CODEC_ADPCM_G726, "G.726 ADPCM Audio"), A("g726"), - /* G.726 ADPCM */ + /* Flash ADPCM */ B(VLC_CODEC_ADPCM_SWF, "Flash ADPCM Audio"), A("SWFa"), + B(VLC_CODEC_ADPCM_IMA_WAV, "IMA WAV ADPCM Audio"), + A("ms\x00\x11"), + + B(VLC_CODEC_ADPCM_IMA_AMV, "IMA AMV ADPCM Audio"), /* AMR */ B(VLC_CODEC_AMR_NB, "AMR narrow band"), @@ -948,6 +967,9 @@ static const entry_t p_list_audio[] = { B(VLC_CODEC_GSM_MS, "Microsoft GSM Audio"), A("agsm"), + B(VLC_CODEC_ATRAC1, "atrac 1"), + A("atr1"), + B(VLC_CODEC_ATRAC3, "atrac 3"), A("atrc"), A("\x70\x02\x00\x00"), @@ -1065,9 +1087,12 @@ static const entry_t p_list_audio[] = { B(VLC_CODEC_FL32, "32 bits float"), A("fl32"), - B(VLC_CODEC_FL32, "64 bits float"), + B(VLC_CODEC_FL64, "64 bits float"), A("fl64"), + B(VLC_CODEC_TWINVQ, "TwinVQ"), + A("TWIN"), + B(0, "") }; static const entry_t p_list_spu[] = { @@ -1085,6 +1110,7 @@ static const entry_t p_list_spu[] = { B(VLC_CODEC_XSUB, "DivX XSUB subtitles"), A("XSUB"), A("xsub"), + A("DXSB"), B(VLC_CODEC_SSA, "SubStation Alpha subtitles"), A("ssa "), @@ -1104,9 +1130,6 @@ static const entry_t p_list_spu[] = { B(VLC_CODEC_ITU_T140, "ITU T.140 subtitles"), A("t140"), - B(VLC_CODEC_ITU_T140, "ITU T.140 subtitles"), - A("t140"), - B(VLC_CODEC_USF, "USF subtitles"), A("usf "), @@ -1116,6 +1139,9 @@ static const entry_t p_list_spu[] = { B(VLC_CODEC_CVD, "CVD subtitles"), A("cvd "), + B(VLC_CODEC_BD_PG, "BD subtitles"), + A("bdpg"), + B(0, "") }; @@ -1412,14 +1438,77 @@ static const vlc_fourcc_t p_list_YUV[] = { 0, }; -const vlc_fourcc_t *vlc_fourcc_GetYUVFallback( vlc_fourcc_t i_fourcc ) +/* */ +static const vlc_fourcc_t p_RGB32_fallback[] = { + VLC_CODEC_RGB32, + VLC_CODEC_RGB24, + VLC_CODEC_RGB16, + VLC_CODEC_RGB15, + VLC_CODEC_RGB8, + 0, +}; +static const vlc_fourcc_t p_RGB24_fallback[] = { + VLC_CODEC_RGB24, + VLC_CODEC_RGB32, + VLC_CODEC_RGB16, + VLC_CODEC_RGB15, + VLC_CODEC_RGB8, + 0, +}; +static const vlc_fourcc_t p_RGB16_fallback[] = { + VLC_CODEC_RGB16, + VLC_CODEC_RGB24, + VLC_CODEC_RGB32, + VLC_CODEC_RGB15, + VLC_CODEC_RGB8, + 0, +}; +static const vlc_fourcc_t p_RGB15_fallback[] = { + VLC_CODEC_RGB15, + VLC_CODEC_RGB16, + VLC_CODEC_RGB24, + VLC_CODEC_RGB32, + VLC_CODEC_RGB8, + 0, +}; +static const vlc_fourcc_t p_RGB8_fallback[] = { + VLC_CODEC_RGB8, + VLC_CODEC_RGB15, + VLC_CODEC_RGB16, + VLC_CODEC_RGB24, + VLC_CODEC_RGB32, + 0, +}; +static const vlc_fourcc_t *pp_RGB_fallback[] = { + p_RGB32_fallback, + p_RGB24_fallback, + p_RGB16_fallback, + p_RGB15_fallback, + p_RGB8_fallback, + NULL, +}; + + +/* */ +static const vlc_fourcc_t *GetFallback( vlc_fourcc_t i_fourcc, + const vlc_fourcc_t *pp_fallback[], + const vlc_fourcc_t p_list[] ) { - for( unsigned i = 0; pp_YUV_fallback[i]; i++ ) + for( unsigned i = 0; pp_fallback[i]; i++ ) { - if( pp_YUV_fallback[i][0] == i_fourcc ) - return pp_YUV_fallback[i]; + if( pp_fallback[i][0] == i_fourcc ) + return pp_fallback[i]; } - return p_list_YUV; + return p_list; +} + +const vlc_fourcc_t *vlc_fourcc_GetYUVFallback( vlc_fourcc_t i_fourcc ) +{ + return GetFallback( i_fourcc, pp_YUV_fallback, p_list_YUV ); +} +const vlc_fourcc_t *vlc_fourcc_GetRGBFallback( vlc_fourcc_t i_fourcc ) +{ + return GetFallback( i_fourcc, pp_RGB_fallback, p_RGB32_fallback ); } bool vlc_fourcc_AreUVPlanesSwapped( vlc_fourcc_t a, vlc_fourcc_t b )