From accf9b2c1f8326d916576f4eef4ceaad3bab9bf4 Mon Sep 17 00:00:00 2001 From: Tony K Nadackal Date: Fri, 30 Jun 2017 10:15:45 -0400 Subject: 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 Signed-off-by: Thierry Escande Acked-by: Andrzej Pietrasiewicz Acked-by: Jacek Anaszewski Signed-off-by: Sylwester Nawrocki Signed-off-by: Mauro Carvalho Chehab --- drivers/media/platform/s5p-jpeg/jpeg-core.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'drivers/media/platform/s5p-jpeg') diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c index 21ba3b4f397c..46d92037bf20 100644 --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c @@ -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; } -- cgit v1.2.3