[Libva] vaGetImage blocking

Timo Rothenpieler timo at rothenpieler.org
Sun Jul 28 16:53:40 PDT 2013


> Hi,
> 
> I'm working on VAAPI support for libavg (www.libavg.de). Everything has gone more-or-less smoothly and we have a working implementation that's been tested using an NVidia GPU desktop and an AMD E350 Mini-PC, both with Ubuntu 12.04 and stock drivers. Currently, we're using vaGetImage() and vaMapBuffer() to retrieve the data and then upload it again as an OpenGL texture (yes, I know this is the slowest way of doing things). 
> 
> However, on the E350, vaGetImage() blocks and seems to deliver images at the video framerate (i.e. 25 fps in many cases). Is there a way to change this behaviour or at least to determine whether an image is ready? We'd like our compositor to run at full speed even if the video is updating more slowly. The code in question is here: https://www.libavg.de/site/projects/libavg/repository/entry/branches/libavg_vaapi/src/video/VAAPISurface.cpp, lines 70ff.
> 
> Thanks for any help!
> 
> Cheers,
> 
>   Uli

You could use vaDeriveImage, which is much faster than vaGetImage.
Or you could use the glx api of vaapi, which gives you an OpenGL texture
directly.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 553 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/libva/attachments/20130729/12ac0a63/attachment.pgp>


More information about the Libva mailing list