[Libva] Request for new API function vaCopySubSurfaceGLX

Xiang, Haihao haihao.xiang at intel.com
Thu May 21 23:44:08 PDT 2015


Hi Steve,

The latest libva can export the handle of VA surface/buffer, you can use
this handle in your application/3rd library (e.g. libEGL). Usually
copying data from VA surface will impact the performance.

Thanks
Haihao

> 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.
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva




More information about the Libva mailing list