From b09d8b25f4d833a79c560b050db386ea9d87a288 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Mon, 10 Sep 2018 11:00:40 -0400 Subject: [PATCH] media: vicodec: set state->info before calling the encode/decode funcs state->info was NULL since I completely forgot to set state->info. Oops. Signed-off-by: Hans Verkuil Reported-by: Ezequiel Garcia Tested-by: Ezequiel Garcia [hans.verkuil@cisco.com: re-add q_out which was removed by commit 703fe34bac] Signed-off-by: Mauro Carvalho Chehab --- drivers/media/platform/vicodec/vicodec-core.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/vicodec/vicodec-core.c b/drivers/media/platform/vicodec/vicodec-core.c index a044475d0469..152ac44b0277 100644 --- a/drivers/media/platform/vicodec/vicodec-core.c +++ b/drivers/media/platform/vicodec/vicodec-core.c @@ -175,12 +175,18 @@ static int device_process(struct vicodec_ctx *ctx, } if (ctx->is_enc) { - unsigned int size = v4l2_fwht_encode(state, p_in, p_out); + struct vicodec_q_data *q_out; - vb2_set_plane_payload(&out_vb->vb2_buf, 0, size); + q_out = get_q_data(ctx, V4L2_BUF_TYPE_VIDEO_OUTPUT); + state->info = q_out->info; + ret = v4l2_fwht_encode(state, p_in, p_out); + if (ret < 0) + return ret; + vb2_set_plane_payload(&out_vb->vb2_buf, 0, ret); } else { + state->info = q_cap->info; ret = v4l2_fwht_decode(state, p_in, p_out); - if (ret) + if (ret < 0) return ret; vb2_set_plane_payload(&out_vb->vb2_buf, 0, q_cap->sizeimage); }