After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 759181 - Add P010 video format support
Add P010 video format support
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
git master
Other Linux
: High normal
: 1.9.1
Assigned To: sreerenj
GStreamer Maintainers
Depends on: 761607
Blocks: 758397
 
 
Reported: 2015-12-08 15:47 UTC by sreerenj
Modified: 2016-04-29 08:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Initial patch from Scott to add P010 support (4.53 KB, patch)
2016-03-21 14:51 UTC, sreerenj
committed Details | Review
vaapidecode: negotiate p010 (1.54 KB, patch)
2016-03-21 14:56 UTC, sreerenj
none Details | Review

Description sreerenj 2015-12-08 15:47:44 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.
Comment 1 Sebastian Dröge (slomo) 2016-02-16 15:57:15 UTC
1) is handled in bug #761607
Comment 4 sreerenj 2016-03-21 14:51:53 UTC
Created attachment 324444 [details] [review]
Initial patch from Scott to add P010 support
Comment 5 sreerenj 2016-03-21 14:52:50 UTC
Review of attachment 324444 [details] [review]:

BPP for VAImageformat should be 24 i guess, check the driver source code..
Comment 6 sreerenj 2016-03-21 14:56:34 UTC
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.
Comment 7 sreerenj 2016-03-29 11:40:35 UTC
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
Comment 8 sreerenj 2016-03-29 11:43:53 UTC
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