Browse Source

media: coda: align internal mpeg4 framebuffers to 16x16 macroblocks

This fixes visual artifacts in the first macroblock row of encoded
MPEG-4 video output caused by 8 additional lines of luma data leaking
into the chroma planes of the internal reference framebuffers: the
buffer size is rounded up to a multiple of 16x16 macroblock size, same
as for the h.264 encoder.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Philipp Zabel 8 years ago
parent
commit
551c675782
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/media/platform/coda/coda-bit.c

+ 2 - 1
drivers/media/platform/coda/coda-bit.c

@@ -394,7 +394,8 @@ static int coda_alloc_framebuffers(struct coda_ctx *ctx,
 	int i;
 	int i;
 
 
 	if (ctx->codec->src_fourcc == V4L2_PIX_FMT_H264 ||
 	if (ctx->codec->src_fourcc == V4L2_PIX_FMT_H264 ||
-	    ctx->codec->dst_fourcc == V4L2_PIX_FMT_H264) {
+	    ctx->codec->dst_fourcc == V4L2_PIX_FMT_H264 ||
+	    ctx->codec->dst_fourcc == V4L2_PIX_FMT_MPEG4) {
 		width = round_up(q_data->width, 16);
 		width = round_up(q_data->width, 16);
 		height = round_up(q_data->height, 16);
 		height = round_up(q_data->height, 16);
 	} else {
 	} else {