media: s5p-jpeg: Decode 4:1:1 chroma subsampling format

This patch adds support for decoding 4:1:1 chroma subsampling in the
JPEG header parsing function.

Signed-off-by: Tony K Nadackal <tony.kn@samsung.com>
Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
Acked-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Tony K Nadackal 2017-06-30 10:15:45 -04:00 committed by Mauro Carvalho Chehab
parent c8d36a8035
commit accf9b2c1f

View file

@ -1099,6 +1099,8 @@ static void skip(struct s5p_jpeg_buffer *buf, long len)
static bool s5p_jpeg_subsampling_decode(struct s5p_jpeg_ctx *ctx,
unsigned int subsampling)
{
unsigned int version;
switch (subsampling) {
case 0x11:
ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_444;
@ -1112,6 +1114,19 @@ static bool s5p_jpeg_subsampling_decode(struct s5p_jpeg_ctx *ctx,
case 0x33:
ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY;
break;
case 0x41:
/*
* 4:1:1 subsampling only supported by 3250, 5420, and 5433
* variants
*/
version = ctx->jpeg->variant->version;
if (version != SJPEG_EXYNOS3250 &&
version != SJPEG_EXYNOS5420 &&
version != SJPEG_EXYNOS5433)
return false;
ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_411;
break;
default:
return false;
}