media: coda: mark the last output buffer on encoder stop command
authorPhilipp Zabel <p.zabel@pengutronix.de>
Tue, 18 Jun 2019 16:45:26 +0000 (12:45 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 24 Jun 2019 18:42:06 +0000 (14:42 -0400)
Mark the last output buffer to be encoded.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/coda/coda-common.c

index a1277d3..d0de3b3 100644 (file)
@@ -1037,12 +1037,17 @@ static int coda_encoder_cmd(struct file *file, void *fh,
                            struct v4l2_encoder_cmd *ec)
 {
        struct coda_ctx *ctx = fh_to_ctx(fh);
+       struct vb2_v4l2_buffer *buf;
        int ret;
 
        ret = coda_try_encoder_cmd(file, fh, ec);
        if (ret < 0)
                return ret;
 
+       buf = v4l2_m2m_last_src_buf(ctx->fh.m2m_ctx);
+       if (buf)
+               buf->flags |= V4L2_BUF_FLAG_LAST;
+
        /* Set the stream-end flag on this context */
        ctx->bit_stream_param |= CODA_BIT_STREAM_END_FLAG;