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