[Libva] vaapi intel-driver (vaapi-ext): assertion failed

Xiang, Haihao haihao.xiang at intel.com
Fri Feb 3 02:59:50 PST 2012


> -----Original Message-----
> From: gimli [mailto:gimli at dark-green.com]
> Sent: Friday, February 03, 2012 4:19 PM
> To: Xiang, Haihao
> Cc: libva at lists.freedesktop.org
> Subject: Re: [Libva] vaapi intel-driver (vaapi-ext): assertion failed
> 
> And you look at the source code at
> https://github.com/huceke/xine-lib-vaapi/tree/vaapi-testing ?

I am using vaapi branch. I didn't look into xine-lib, instead I enabled libva 
trace (set LIBVA_TRACE to 1).  You have to add some
code to trace vaDeriveImage() and vaPutImage().

> The output plugin does nto use vaBeginPicture direct. 

It is my fault. Yes, here vaBeginPicture() is used indirectly .
  
> Can you explain
> further you you mean that ?

What I mean is that I saw the VA function call sequence when I ran xine to play a video, 
I think it isn't optimized. E.g. Step4 (decoding to a surface) will overwrite the same
Surface so we can remove step3 (storing an image to a surface) in the hardware decoding path.

> 
> cu
> 
> Edgar (gimli) Hucek
> 
> On Fri, 03 Feb 2012 08:26:15 +0800, "Xiang, Haihao"
> <haihao.xiang at intel.com>
> wrote:
> > On Thu, 2012-02-02 at 19:36 +0100, gimli wrote:
> >> The xine-lib vaapi output plugin also sopports software decoded
> output,
> >> there we need vaDeriveImage/vaPutImage.
> >
> > You are right. I mean they are unnecessary in the hardware decoding
> > path.  I see the following function call sequence in the hardware
> > decoding:
> >
> >   1) vaCreateSuface(dpy, ..., &surface_id);
> >   2) vaDeriveImage(dpy, surface_id, &image_id);
> >   3) vaPutImage(dpy, surface_id, image_id, ...);
> >   4) vaBeginPicture(dpy, context_id, surface_id);
> >      ...
> >      vaEndPicture(dpy, context_id);
> >
> > 3) and 4) write the same surface.
> >
> >> cu
> >>
> >> Edgar (gimli) Hucek
> >>
> >> >Hi,
> >> >
> >> >Could you try with the latest vaapi-ext branch?
> >>
> >> >BTW many operations such as vaDeriveImage(), vaPutImage() are
> >> >unnecessary for decoding in xine-lib-vaapi
> >>
> >> >Thanks
> >> >Haihao
> >>
> >> _______________________________________________
> >> Libva mailing list
> >> Libva at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/libva


More information about the Libva mailing list