[Libva] Request for new API function vaCopySubSurfaceGLX

Steve Browne swbrowne at gmail.com
Wed May 20 05:15:52 PDT 2015


Attached is a patch demonstrating a new API function I'd like to see added
to libva-glx. This function vaCopySubSurfaceGLX allows copying a particular
source rect from the surface instead of the whole surface.

Although I don't have any particular use for it, I could also potentially
see a need for a function that takes a destination rect as well which would
make it even more aligned with vaPutSurface.

I guess the other question regarding my patch is should we just
use vaCopySubSurfaceGLX_impl_libva if not implemented by the driver? Right
now its just following the current code path so if vaCopySurfaceGLX is
implemented by the driver then vaCopySubSurfaceGLX will return not
implemented.

Background Info:
I work on an application that can play several video streams at once. When
displaying 16 streams at 1080p 30fps we're not able to display at full
framerate because vaCopySurfaceGLX takes about 3.2ms on average to
complete. However, displaying 16 streams at once obviously we can't display
them all at full size so really we can resize to the destination size to
save time in the texture from pixmap process which reduced the time down to
about 0.4ms.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libva/attachments/20150520/ab06fe9e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vaCopySubSurfaceGLX.patch
Type: application/octet-stream
Size: 7419 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libva/attachments/20150520/ab06fe9e/attachment.obj>


More information about the Libva mailing list