|
@@ -614,24 +614,26 @@ static inline struct s5p_jpeg_ctx *fh_to_ctx(struct v4l2_fh *fh)
|
|
|
|
|
|
static int s5p_jpeg_to_user_subsampling(struct s5p_jpeg_ctx *ctx)
|
|
|
{
|
|
|
- WARN_ON(ctx->subsampling > 3);
|
|
|
-
|
|
|
switch (ctx->jpeg->variant->version) {
|
|
|
case SJPEG_S5P:
|
|
|
+ WARN_ON(ctx->subsampling > 3);
|
|
|
if (ctx->subsampling > 2)
|
|
|
return V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY;
|
|
|
return ctx->subsampling;
|
|
|
case SJPEG_EXYNOS3250:
|
|
|
case SJPEG_EXYNOS5420:
|
|
|
+ WARN_ON(ctx->subsampling > 6);
|
|
|
if (ctx->subsampling > 3)
|
|
|
return V4L2_JPEG_CHROMA_SUBSAMPLING_411;
|
|
|
return exynos3250_decoded_subsampling[ctx->subsampling];
|
|
|
case SJPEG_EXYNOS4:
|
|
|
case SJPEG_EXYNOS5433:
|
|
|
+ WARN_ON(ctx->subsampling > 3);
|
|
|
if (ctx->subsampling > 2)
|
|
|
return V4L2_JPEG_CHROMA_SUBSAMPLING_420;
|
|
|
return exynos4x12_decoded_subsampling[ctx->subsampling];
|
|
|
default:
|
|
|
+ WARN_ON(ctx->subsampling > 3);
|
|
|
return V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY;
|
|
|
}
|
|
|
}
|