media: venus: venc: fix bytesused v4l2_plane field
authorStanimir Varbanov <stanimir.varbanov@linaro.org>
Tue, 10 Oct 2017 07:52:36 +0000 (09:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Nov 2017 08:40:58 +0000 (08:40 +0000)
commit 5232c37ce244db04fd50d160b92e40d2df46a2e9 upstream.

This fixes wrongly filled bytesused field of v4l2_plane structure
by include data_offset in the plane, Also fill data_offset and
bytesused for capture type of buffers only.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/qcom/venus/venc.c

index 6f123a3..3fcf0e9 100644 (file)
@@ -963,13 +963,12 @@ static void venc_buf_done(struct venus_inst *inst, unsigned int buf_type,
        if (!vbuf)
                return;
 
-       vb = &vbuf->vb2_buf;
-       vb->planes[0].bytesused = bytesused;
-       vb->planes[0].data_offset = data_offset;
-
        vbuf->flags = flags;
 
        if (type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
+               vb = &vbuf->vb2_buf;
+               vb2_set_plane_payload(vb, 0, bytesused + data_offset);
+               vb->planes[0].data_offset = data_offset;
                vb->timestamp = timestamp_us * NSEC_PER_USEC;
                vbuf->sequence = inst->sequence_cap++;
        } else {