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"),
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"),
A("AVs2"),
A("avs2"),
+ B(VLC_CODEC_AMV, "AMV"),
+
/* */
B(VLC_CODEC_DNXHD, "DNxHD"),
A("AVdn"),
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"),
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"),
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"),
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"),
A("samr"),
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 )