[Mesa-dev] [PATCH v4 0/6] nouveau: add support for vaapi

Julien Isorce julien.isorce at gmail.com
Fri Oct 16 15:13:01 PDT 2015


On 18 September 2015 at 21:34, Ilia Mirkin <imirkin at alum.mit.edu> wrote:

> On Fri, Sep 18, 2015 at 4:29 PM, Julien Isorce <julien.isorce at gmail.com>
> wrote:
> >
> >
> > On 17 September 2015 at 17:52, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> >>
> >> On Wed, Sep 16, 2015 at 8:22 AM, Julien Isorce <j.isorce at samsung.com>
> >> wrote:
> >> > I added below version4 updates. It works for all codecs expect h264.
> >> > Video is visible but lot of blockiness.
> >> > Can someone with a Radeon confirm that "LIBVA_DRIVER_NAME=gallium mpv
> >> > --hwdec=vaapi"
> >> > is working on h264 videos ?
> >> > I want to make sure it is not a bug in st/va.
> >>
> >> The sad reality is that h264 is the only thing that matters (at least
> >> from this list of supported codecs). My concern is that this series
> >> will regress the situation for people who want to use VA-API -- right
> >> now they can use the vdpau <-> vaapi adapter, whereas with this patch
> >> series, they will end up with a va-api driver that doesn't work. So I
> >> can't merge this as-is.
> >
> >
> > Make perfectly sense.
> >
> >>
> >>
> >> Are the various lengths (for inter-bo size/etc) being computed
> >> properly
> >
> >
> > In the past I compared the final content of the nouveau_bo buffer at each
> > endFrame step , with the content using vdpau. There were the same.
> > I will re-check.
> > Does it make sense to do that actually ?
> > Is there anything else I could compare with vdpau ?
>
> If you're feeding the exact same stuff and everything is exactly the
> same, then the results would also be the same. Clearly there's SOME
> difference SOMEWHERE :)
>

Indeed I compared only dec->bsp_bo, not dec->inter_bo :) I'll check that.
But in the first place I do not see where dec->inter_bo is filled. Could
you point out where this is done ?


>
> >
> >>
> >> Are you writing stuff to the correct inter bo? IIRC we flip
> >> between two of them, perhaps that logic got upset?
> >
> >
> > Probably I missed something. Does the flip happen at each endFrame ?
> > Could you point out where this flip is in the current upstream code
> exactly
> > ?
>

> I mean stuff like this:
>
>    struct nouveau_bo *bsp_bo = dec->bsp_bo[comm_seq %
> NOUVEAU_VP3_VIDEO_QDEPTH];
>

I see what you meant by flip now.

>
> src/gallium/drivers/nouveau/nvc0/nvc0_video_bsp.c:      bo_refs[1].bo
> = dec->inter_bo[comm_seq & 1] = inter_bo = tmp_bo;
>
> and so on. Make sure that comm_seq is incremented once per frame, not
> once per chunk :)
>

Yes it is incremented just once per frame, not per chunk. See
"nvc0_decoder_begin_frame" in "[PATCH v4 2/6] nvc0: add support for st/va"

Thx for your comments
Julien


>
>   -ilia
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20151016/62aeb4ee/attachment-0001.html>


More information about the mesa-dev mailing list