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>
This commit is contained in:
Philipp Zabel 2017-07-07 05:58:29 -04:00 committed by Mauro Carvalho Chehab
parent 52fde8491d
commit 551c675782
1 changed files with 2 additions and 1 deletions

View File

@ -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 {