GNOME Bugzilla – Bug 759181
Add P010 video format support
Last modified: 2016-04-29 08:39:52 UTC
The main intention is to support downloading hevc-10 bit decoded surfaces. P010 (16 bits per channel, interleaved U-V plane , set lowest 6 bits to zero) is the native format picking by the vaapi-intel-driver for chroma format VA_RT_FORMAT_YUV420_10BPP Right now, 1: No support for P010 video format in GStreamer 2: No support for P010 vaGetImage()/vaPutimage() in vaapi-intel-driver 3: As a result of 1&2 , we have no support for Vaapi Video memory mapping through GstVideoMeta.
1) is handled in bug #761607
(In reply to Sebastian Dröge (slomo) from comment #1) > 1) is handled in bug #761607 2) is added in the driver too https://cgit.freedesktop.org/vaapi/intel-driver/commit/?id=2110b3a0bca6cecb42defd0b01d32530f5807b04 https://cgit.freedesktop.org/vaapi/intel-driver/commit/?id=d9eb6b2063418226242e4e76aa7929fa63030bc6
The fix should be on top of: https://cgit.freedesktop.org/~sree/gstreamer-vaapi/commit/?id=660aa070efab85d17d5d76706a0a2db0de81cc64
Created attachment 324444 [details] [review] Initial patch from Scott to add P010 support
Review of attachment 324444 [details] [review]: BPP for VAImageformat should be 24 i guess, check the driver source code..
Created attachment 324445 [details] [review] vaapidecode: negotiate p010 This should be on top of patches in, https://cgit.freedesktop.org/~sree/gstreamer-vaapi/log/?h=staging I am just adding patches here for reference, we can push after the 1.8 release, also have to push the P010 support patch in gst-plugins-base first.
Review of attachment 324444 [details] [review]: Pushed with slight change in bpp for aligning with driver. Thanks for the patch commit eea3f0cdb24215fb93edfda8e7ef6e8357ef0b34 Author: Scott D Phillips <scott.d.phillips@intel.com> Date: Tue Mar 29 14:34:00 2016 +0300 Add P010 video format support The P010 video format is the native format used by the vaapi intel driver for HEVCMain10 decode . Add support for planes and images of this video format. https://bugzilla.gnome.org/show_bug.cgi?id=759181
As a result of the following patch, vaapidecode's default src pad format will become NV12 instead of I420 in most of the usual decode scenarios. And will negotiate P010 for 10 bit formats. commit 75a20deab46a40442b64d53218f37825647401fb Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Tue Mar 29 14:34:37 2016 +0300 vaapidecode: Use video format derived from decoded surface as default src pad format Use the surface format derived from first decoded surface to negotiate the downstream video format capabilities. https://bugzilla.gnome.org/show_bug.cgi?id=759181