Commit dc7a997b authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Introduce YUVA 4:2:0 and 4:2:2 planar

Ref #7994
parent b7c3e67d
...@@ -178,6 +178,10 @@ ...@@ -178,6 +178,10 @@
#define VLC_CODEC_YUVP VLC_FOURCC('Y','U','V','P') #define VLC_CODEC_YUVP VLC_FOURCC('Y','U','V','P')
/* Planar YUV 4:4:4 Y:U:V:A */ /* Planar YUV 4:4:4 Y:U:V:A */
#define VLC_CODEC_YUVA VLC_FOURCC('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 */ /* Palettized RGB with palette element R:G:B */
#define VLC_CODEC_RGBP VLC_FOURCC('R','G','B','P') #define VLC_CODEC_RGBP VLC_FOURCC('R','G','B','P')
/* 8 bits RGB */ /* 8 bits RGB */
......
...@@ -147,6 +147,12 @@ void video_format_Setup( video_format_t *p_fmt, vlc_fourcc_t i_chroma, ...@@ -147,6 +147,12 @@ void video_format_Setup( video_format_t *p_fmt, vlc_fourcc_t i_chroma,
case VLC_CODEC_YUVA: case VLC_CODEC_YUVA:
p_fmt->i_bits_per_pixel = 32; p_fmt->i_bits_per_pixel = 32;
break; 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_I444:
case VLC_CODEC_J444: case VLC_CODEC_J444:
p_fmt->i_bits_per_pixel = 24; p_fmt->i_bits_per_pixel = 24;
......
...@@ -734,6 +734,10 @@ static const staticentry_t p_list_video[] = { ...@@ -734,6 +734,10 @@ static const staticentry_t p_list_video[] = {
B(VLC_CODEC_YUVA, "Planar YUV 4:4:4 Y:U:V:A"), B(VLC_CODEC_YUVA, "Planar YUV 4:4:4 Y:U:V:A"),
A("YUVA"), 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"), B(VLC_CODEC_RGBP, "Palettized RGB with palette element R:G:B"),
A("RGBP"), A("RGBP"),
...@@ -1910,6 +1914,8 @@ static const struct ...@@ -1910,6 +1914,8 @@ static const struct
{ { VLC_CODEC_YUV_PLANAR_440, 0 }, PLANAR_8(3, 1, 2) }, { { VLC_CODEC_YUV_PLANAR_440, 0 }, PLANAR_8(3, 1, 2) },
{ { VLC_CODEC_YUV_PLANAR_444, 0 }, PLANAR_8(3, 1, 1) }, { { VLC_CODEC_YUV_PLANAR_444, 0 }, PLANAR_8(3, 1, 1) },
{ { VLC_CODEC_YUVA, 0 }, PLANAR_8(4, 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_10L,
VLC_CODEC_I420_10B, 0 }, PLANAR_16(3, 2, 2, 10) }, VLC_CODEC_I420_10B, 0 }, PLANAR_16(3, 2, 2, 10) },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment