Hi Stan,

On Thu, Nov 8, 2018 at 7:16 PM Stanimir Varbanov
<stanimir.varba...@linaro.org> 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 <sgo...@codeaurora.org>
> > ---
> >  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

Reply via email to