From: Hans Verkuil Date: Mon, 10 Sep 2018 15:00:40 +0000 (-0400) Subject: media: vicodec: set state->info before calling the encode/decode funcs X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b09d8b25f4d833a79c560b050db386ea9d87a288;p=openwrt%2Fstaging%2Fblogic.git 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 --- 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); }