[Libva] using TFP on intel

Gwenole Beauchesne gbeauchesne at splitted-desktop.com
Mon Nov 15 02:13:31 PST 2010


Hi,

On Wed, 10 Nov 2010, Oleksiy Krivoshey wrote:

> Could you please post some details about the problem in XBMC? 'Still
> frames' problem is fixed with -vo vaapi:gl if using patched mesa, but
> XBMC still  plays vaapi accelerated video really broken. I tried
> increasing number of surfaces created initially and it helped with
> some videos but not generally. Could you please give me some points?

You could ensure to have refs + 3 surfaces allocated, instead of refs + 1 
+ 1. The real problem is that XBMC is re-using a VA surface that was 
marked as free through release_buffer().

I suggest to create a ref counted object, e.g. the CSurface holder that 
would make sure to get a free surface from the pool at get_buffer() time 
and decrement the ref count in release_buffer(). Then, once it's used in 
the function that vaCopySurfaceGLX() it, you can unref it once more then 
refcount == 0 => put it back to the free pool.

I quickly tried but my initial attempt was wrong and did not have time to 
fix it yet.

Regards,
Gwenole.


More information about the Libva mailing list