RESOLVED FIXED 207547
[GStreamer][MSE] AV1 support
https://bugs.webkit.org/show_bug.cgi?id=207547
Summary [GStreamer][MSE] AV1 support
Philippe Normand
Reported 2020-02-11 06:48:07 PST
Vimeo now uses AV1. Youtube as well, if you enable a specific setting in your account.
Attachments
Patch (6.13 KB, patch)
2020-02-11 06:54 PST, Philippe Normand
calvaris: review+
Philippe Normand
Comment 1 2020-02-11 06:54:30 PST
Philippe Normand
Comment 2 2020-02-11 07:19:42 PST
This most likely will break layout tests because the only AV1 decoder currently in jhbuild is av1dec. When the flatpak SDK lands I will try to add the gst-plugins-rs inside. For the time being I think this patch shouldn't land, I just had it from some months ago in a local branch and thought it would be good to upload here.
Xabier Rodríguez Calvar
Comment 3 2020-02-11 08:05:46 PST
Comment on attachment 390366 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=390366&action=review You can have your patch sitting here as long as you want :) And it's r+ as well. > Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:87 > + GST_DEBUG("All elements for caps %" GST_PTR_FORMAT " are blacklisted", caps.get()); Maybe warning? > Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:211 > + av1DecodersBlacklist.append(String("av1dec")); I think you want to append unchecked here.
Charlie Turner
Comment 4 2020-02-11 16:55:48 PST
Comment on attachment 390366 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=390366&action=review >> Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:211 >> + av1DecodersBlacklist.append(String("av1dec")); > > I think you want to append unchecked here. Or even Vector<String> av1DecodersBlacklist { "av1dec"_s }; This will do the reservation & *unchecked* append for you.
Philippe Normand
Comment 5 2020-02-12 06:34:03 PST
👍
Philippe Normand
Comment 6 2020-03-25 07:46:02 PDT
media/media-can-play-av1.html fails indeed. I can't add gst-plugins-rs to the SDK until its next stable release which will ship the dav1d-based decoder.
Michael Catanzaro
Comment 7 2020-06-11 08:11:41 PDT
So this has become more important because YouTube is now sending AV1 videos for a small minority (maybe 5%?) of videos. Such videos simply do not play. We don't know why it's trying to use AV1 when not supported. The vast majority of videos use VP8. Not all videos support VP8, but these videos previously fell back to H.264 rather than AV1. (Fallback to H.264 used to fail because it was broken in Tech Preview for a long time, but it should be working now.) Example video: https://www.youtube.com/watch?v=N_RWY04aT1k
Michael Catanzaro
Comment 8 2020-06-11 08:29:00 PDT
(In reply to Michael Catanzaro from comment #7) > So this has become more important because YouTube is now sending AV1 videos > for a small minority (maybe 5%?) of videos. Such videos simply do not play. > We don't know why it's trying to use AV1 when not supported. The vast > majority of videos use VP8. Not all videos support VP8, but these videos > previously fell back to H.264 rather than AV1. (Fallback to H.264 used to > fail because it was broken in Tech Preview for a long time, but it should be > working now.) > > Example video: https://www.youtube.com/watch?v=N_RWY04aT1k Apologies for the noise. Phil says this is AVC1, and that is different from AV1. Ignore.
Philippe Normand
Comment 9 2020-07-09 01:56:36 PDT
(In reply to Philippe Normand from comment #6) > media/media-can-play-av1.html fails indeed. I can't add gst-plugins-rs to > the SDK until its next stable release which will ship the dav1d-based > decoder. I will land this patch and mark this test as failing for now. Would be sad to miss 2.30 because of gst 1.18 delays.
Philippe Normand
Comment 10 2020-07-09 02:25:06 PDT
Radar WebKit Bug Importer
Comment 11 2020-07-09 02:26:22 PDT
Note You need to log in before you can comment on or make changes to this bug.