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 773208 - vp9: Add support for 10 bit and other subsampling / alpha
vp9: Add support for 10 bit and other subsampling / alpha
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-10-19 08:53 UTC by Sebastian Dröge (slomo)
Modified: 2018-11-03 15:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
vp9dec: Add support 10/12 bit depth decoding (4.44 KB, patch)
2018-06-23 11:02 UTC, Seungha Yang
none Details | Review
[1/3] vpxenc: Report image format setting error (4.35 KB, patch)
2018-06-26 14:18 UTC, Seungha Yang
none Details | Review
[2/3] vp9enc: Add support 10/12bit encoding (9.74 KB, patch)
2018-06-26 14:19 UTC, Seungha Yang
none Details | Review
[3/3] vp9enc: Add support 10/12bit encoding (4.99 KB, patch)
2018-06-26 14:19 UTC, Seungha Yang
none Details | Review
[3/3] vp9dec: Add support 10/12bit decoding (4.99 KB, patch)
2018-06-26 14:21 UTC, Seungha Yang
none Details | Review

Description Sebastian Dröge (slomo) 2016-10-19 08:53:05 UTC
See summary
Comment 1 Seungha Yang 2018-06-23 11:02:49 UTC
Created attachment 372781 [details] [review]
vp9dec: Add support 10/12 bit depth decoding

libvpx's high bitdepth (10 or 12 bit depth) formats are supported by Gstreamer already
Comment 2 Seungha Yang 2018-06-23 11:04:39 UTC
I tested a sample which was provided by google at https://developers.google.com/media/vp9/hdr-encoding/

And it works well (if libvpx was built with --enable-vp9-highbitdepth option)
Comment 3 Seungha Yang 2018-06-23 11:50:27 UTC
A question is that we've been using mapping of libav's AV_PIX_FMT_YUV420P10LE to GST_VIDEO_FORMAT_I420_10LE but it seems to incorrect, since the decoding result of this file using avdec_vp9 causes broken video frame (when it is rendered). 
https://storage.googleapis.com/media.webmproject.org/devsite/vp9/output/hdr/2pass_HDR_strobe_scientist_6Mbps-static.webm 

(AV_PIX_FMT_YUV420P10BE, AV_PIX_FMT_YUV422P10LE, AV_PIX_FMT_YUV422P10BE, AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUV444P10BE) seems to also incorrectly mapped.

So, I guess above FFMPEG formats might be unsupported format by Gstreamer. Instead, mapping AV_PIX_FMT_YUV420P16LE with GST_VIDEO_FORMAT_I420_10LE seems correct.
Comment 4 Nicolas Dufresne (ndufresne) 2018-06-23 18:16:08 UTC
I haven't looked, but P10 sounds like Microsoft P010, an nv12 variant. 16bit packed. That would match GST_VIDEO_FORMAT_P010_10LE.
Comment 5 Seungha Yang 2018-06-25 13:07:42 UTC
(In reply to Nicolas Dufresne (ndufresne) from comment #4)
> I haven't looked, but P10 sounds like Microsoft P010, an nv12 variant. 16bit
> packed. That would match GST_VIDEO_FORMAT_P010_10LE.

Thanks. AV_PIX_FMT_YUV420P10BE seems to be matched with GST_VIDEO_FORMAT_P010_10BE, and when I modified to do that, I can see correct rendering.
Comment 6 Seungha Yang 2018-06-26 14:18:12 UTC
Created attachment 372827 [details] [review]
[1/3] vpxenc: Report image format setting error

Some image format could not be supported by libvpx
Comment 7 Seungha Yang 2018-06-26 14:19:00 UTC
Created attachment 372828 [details] [review]
[2/3] vp9enc: Add support 10/12bit encoding
Comment 8 Seungha Yang 2018-06-26 14:19:30 UTC
Created attachment 372829 [details] [review]
[3/3] vp9enc: Add support 10/12bit encoding
Comment 9 Seungha Yang 2018-06-26 14:20:59 UTC
I tested with my patch set and it seems to work well (en/decoding) for new video formats
Comment 10 Seungha Yang 2018-06-26 14:21:39 UTC
Created attachment 372830 [details] [review]
[3/3] vp9dec: Add support 10/12bit decoding
Comment 11 GStreamer system administrator 2018-11-03 15:13:03 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/310.