]> git.sesse.net Git - vlc/commitdiff
Introduce YUVA 4:2:0 and 4:2:2 planar
authorJean-Baptiste Kempf <jb@videolan.org>
Mon, 7 Jan 2013 13:16:16 +0000 (14:16 +0100)
committerJean-Baptiste Kempf <jb@videolan.org>
Mon, 7 Jan 2013 13:27:45 +0000 (14:27 +0100)
Ref #7994

include/vlc_fourcc.h
src/misc/es_format.c
src/misc/fourcc.c

index 4e193f489fd6369065c2da529b6035976e0528d5..67413dda718785dfd5e8e02d06970040c134271b 100644 (file)
 #define VLC_CODEC_YUVP            VLC_FOURCC('Y','U','V','P')
 /* Planar YUV 4:4:4 Y:U:V:A */
 #define VLC_CODEC_YUVA            VLC_FOURCC('Y','U','V','A')
+/* Planar YUV 4:2:2 Y:U:V:A */
+#define VLC_CODEC_YUV422A         VLC_FOURCC('I','4','2','A')
+/* Planar YUV 4:2:0 Y:U:V:A */
+#define VLC_CODEC_YUV420A         VLC_FOURCC('I','4','0','A')
 /* Palettized RGB with palette element R:G:B */
 #define VLC_CODEC_RGBP            VLC_FOURCC('R','G','B','P')
 /* 8 bits RGB */
index c29004b6a564f024b85d60094f49269734654c6e..b26783035c217202e707f65b1602505ce8c83876 100644 (file)
@@ -147,6 +147,12 @@ void video_format_Setup( video_format_t *p_fmt, vlc_fourcc_t i_chroma,
     case VLC_CODEC_YUVA:
         p_fmt->i_bits_per_pixel = 32;
         break;
+    case VLC_CODEC_YUV420A:
+        p_fmt->i_bits_per_pixel = 20;
+        break;
+    case VLC_CODEC_YUV422A:
+        p_fmt->i_bits_per_pixel = 24;
+        break;
     case VLC_CODEC_I444:
     case VLC_CODEC_J444:
         p_fmt->i_bits_per_pixel = 24;
index 00421ee791a2400ea73d30daf65db5812af6735a..a1ea761f6460839940e0ea252cc944d07ab55397 100644 (file)
@@ -734,6 +734,10 @@ static const staticentry_t p_list_video[] = {
 
     B(VLC_CODEC_YUVA, "Planar YUV 4:4:4 Y:U:V:A"),
         A("YUVA"),
+    B(VLC_CODEC_YUV420A, "Planar YUV 4:2:0 Y:U:V:A"),
+        A("I40A"),
+    B(VLC_CODEC_YUV422A, "Planar YUV 4:2:2 Y:U:V:A"),
+        A("I42A"),
 
     B(VLC_CODEC_RGBP, "Palettized RGB with palette element R:G:B"),
         A("RGBP"),
@@ -1910,6 +1914,8 @@ static const struct
     { { VLC_CODEC_YUV_PLANAR_440, 0 },         PLANAR_8(3, 1, 2) },
     { { VLC_CODEC_YUV_PLANAR_444, 0 },         PLANAR_8(3, 1, 1) },
     { { VLC_CODEC_YUVA, 0 },                   PLANAR_8(4, 1, 1) },
+    { { VLC_CODEC_YUV420A, 0 },                PLANAR_8(4, 2, 2) },
+    { { VLC_CODEC_YUV422A, 0 },                PLANAR_8(4, 2, 1) },
 
     { { VLC_CODEC_I420_10L,
         VLC_CODEC_I420_10B, 0 },               PLANAR_16(3, 2, 2, 10) },