Hi Stan, On Thu, Nov 8, 2018 at 7:16 PM Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> wrote: > > Hi, > > On 9/29/18 3:00 PM, Srinu Gorle wrote: > > - In video decoder session, update number of bytes used for > > yuv buffers appropriately for EOS buffers. > > > > Signed-off-by: Srinu Gorle <sgorle@xxxxxxxxxxxxxx> > > --- > > drivers/media/platform/qcom/venus/vdec.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > NACK, that was already discussed see: > > https://patchwork.kernel.org/patch/10630411/ I believe you are referring to this discussion? https://lkml.org/lkml/2018/10/2/302 In this case, with https://patchwork.kernel.org/patch/10630411/ applied, I am seeing the troublesome case of having the last (empty) buffer being returned with a payload of obs_sz, which I believe is incorrect. The present patch seems to restore the correct behavior. An alternative would be to set the payload as follows: vb2_set_plane_payload(vb, 0, bytesused); This works for SDM845, but IIRC we weren't sure that this would display the correct behavior with all firmware versions? > > > > > diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c > > index 311f209..a48eed1 100644 > > --- a/drivers/media/platform/qcom/venus/vdec.c > > +++ b/drivers/media/platform/qcom/venus/vdec.c > > @@ -978,7 +978,7 @@ static void vdec_buf_done(struct venus_inst *inst, unsigned int buf_type, > > > > if (vbuf->flags & V4L2_BUF_FLAG_LAST) { > > const struct v4l2_event ev = { .type = V4L2_EVENT_EOS }; > > - > > + vb->planes[0].bytesused = bytesused; > > v4l2_event_queue_fh(&inst->fh, &ev); > > } > > } else { > > > > -- > regards, > Stan