GNOME Bugzilla – Bug 733243
Use vaGetImage when vaDeriveImage is not available
Last modified: 2014-07-22 20:25:47 UTC
Created attachment 280784 [details] [review] Use vaGetImage when vaDeriveImage is not available This patche makes use of vaGetImage where vaDeriveImage is not available (vdpau-driver of libva)
Review of attachment 280784 [details] [review]: I will push something that works on libva-intel-driver + implicit HW conversions from NV12 to I420. Please try it out on libva-vdpau-driver. Thanks. Minimal functionality to unblock gstreamer-vaapi 0.5.9 release, valid only on GStreamer >= 1.2. ::: gst/vaapi/gstvaapivideomemory.c @@ +63,3 @@ } + if (!mem->use_direct_rendering) + gst_vaapi_surface_get_image(mem->surface, mem->image); This is not valid if map !(flags & GST_MAP_READ). Besides, I'd prefer ensure_image() to relate to allocations, and explicitly call into gst_vaapi_surface_get_image() when only necessary.
Hi, (In reply to comment #0) > Created an attachment (id=280784) [details] [review] > Use vaGetImage when vaDeriveImage is not available > > This patche makes use of vaGetImage where vaDeriveImage is not available > (vdpau-driver of libva) Does the git master branch work for you now? Thanks.
(In reply to comment #2) > Hi, > > (In reply to comment #0) > > Created an attachment (id=280784) [details] [review] [details] [review] > > Use vaGetImage when vaDeriveImage is not available > > > > This patche makes use of vaGetImage where vaDeriveImage is not available > > (vdpau-driver of libva) > > Does the git master branch work for you now? Thanks. Yes, it works for me. Thanks!
commit dc6d529830b185b557b86a78268becc61f3d2864 Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com> Date: Tue Jul 22 18:54:29 2014 +0200 plugins: allow download capability to vaapidecode element. Fix support for VA surface download capability in vaapidecode element for GStreamer >= 1.2. This is a fix to supporting libva-vdpau-driver, but also the libva-intel-driver while performing hardware accelerated conversions from the native VA surface format (NV12) to the desired output VA image format. For instance, this fixes pipelines involving vaapidecode ! xvimagesink. https://bugzilla.gnome.org/show_bug.cgi?id=733243