From 0e10c9d6bf06785eb3990786d7c1e3217eadf601 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Thu, 20 Mar 2014 12:57:11 +0100 Subject: [PATCH] Fix planar GBR H264 samples --- include/vlc_fourcc.h | 11 +++++++++++ modules/codec/avcodec/chroma.c | 2 ++ src/misc/fourcc.c | 2 ++ 3 files changed, 15 insertions(+) diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h index 81b8587736..8af8d41979 100644 --- a/include/vlc_fourcc.h +++ b/include/vlc_fourcc.h @@ -202,6 +202,7 @@ #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 */ @@ -224,6 +225,16 @@ #define VLC_CODEC_RGBA VLC_FOURCC('R','G','B','A') /* 32 bits ARGB */ #define VLC_CODEC_ARGB VLC_FOURCC('A','R','G','B') + +/* Planar GBR 4:4:4 8 bits */ +#define VLC_CODEC_GBR_PLANAR VLC_FOURCC('G','B','R','8') +#define VLC_CODEC_GBR_PLANAR_9B VLC_FOURCC('G','B','9','B') +#define VLC_CODEC_GBR_PLANAR_9L VLC_FOURCC('G','B','9','L') +#define VLC_CODEC_GBR_PLANAR_10B VLC_FOURCC('G','B','A','B') +#define VLC_CODEC_GBR_PLANAR_10L VLC_FOURCC('G','B','A','L') +#define VLC_CODEC_GBR_PLANAR_16L VLC_FOURCC('G','B','F','L') +#define VLC_CODEC_GBR_PLANAR_16B VLC_FOURCC('G','B','F','B') + /* 8 bits grey */ #define VLC_CODEC_GREY VLC_FOURCC('G','R','E','Y') /* Packed YUV 4:2:2, U:Y:V:Y */ diff --git a/modules/codec/avcodec/chroma.c b/modules/codec/avcodec/chroma.c index fce73174b2..9d14c219e5 100644 --- a/modules/codec/avcodec/chroma.c +++ b/modules/codec/avcodec/chroma.c @@ -133,6 +133,8 @@ static const struct /* Paletized RGB */ {VLC_CODEC_RGBP, PIX_FMT_PAL8, 0, 0, 0}, + {VLC_CODEC_GBR_PLANAR, AV_PIX_FMT_GBRP, 0, 0, 0 }, + /* XYZ */ #if LIBAVUTIL_VERSION_CHECK(52, 10, 0, 25, 100) {VLC_CODEC_XYZ12, AV_PIX_FMT_XYZ12, 0xfff0, 0xfff0, 0xfff0}, diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c index 397142fb5a..f4fa4c7b19 100644 --- a/src/misc/fourcc.c +++ b/src/misc/fourcc.c @@ -2033,6 +2033,8 @@ static const struct { { VLC_CODEC_YUV420A, 0 }, PLANAR_8(4, 2, 2) }, { { VLC_CODEC_YUV422A, 0 }, PLANAR_8(4, 2, 1) }, + { { VLC_CODEC_GBR_PLANAR, 0 }, PLANAR_8(3, 1, 1) }, + { { VLC_CODEC_I420_10L, VLC_CODEC_I420_10B, 0 }, PLANAR_16(3, 2, 2, 10) }, { { VLC_CODEC_I420_9L,