|
|
@@ -1548,8 +1548,10 @@ static int exynos4_jpeg_get_output_buffer_size(struct s5p_jpeg_ctx *ctx,
|
|
|
struct v4l2_pix_format *pix = &f->fmt.pix;
|
|
|
u32 pix_fmt = f->fmt.pix.pixelformat;
|
|
|
int w = pix->width, h = pix->height, wh_align;
|
|
|
+ int padding = 0;
|
|
|
|
|
|
if (pix_fmt == V4L2_PIX_FMT_RGB32 ||
|
|
|
+ pix_fmt == V4L2_PIX_FMT_RGB565 ||
|
|
|
pix_fmt == V4L2_PIX_FMT_NV24 ||
|
|
|
pix_fmt == V4L2_PIX_FMT_NV42 ||
|
|
|
pix_fmt == V4L2_PIX_FMT_NV12 ||
|
|
|
@@ -1564,7 +1566,10 @@ static int exynos4_jpeg_get_output_buffer_size(struct s5p_jpeg_ctx *ctx,
|
|
|
&h, S5P_JPEG_MIN_HEIGHT,
|
|
|
S5P_JPEG_MAX_HEIGHT, wh_align);
|
|
|
|
|
|
- return w * h * fmt_depth >> 3;
|
|
|
+ if (ctx->jpeg->variant->version == SJPEG_EXYNOS4)
|
|
|
+ padding = PAGE_SIZE;
|
|
|
+
|
|
|
+ return (w * h * fmt_depth >> 3) + padding;
|
|
|
}
|
|
|
|
|
|
static int exynos3250_jpeg_try_downscale(struct s5p_jpeg_ctx *ctx,
|