[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