Open Bug 1261273 Opened 8 years ago Updated 3 years ago

MSE with webm/vp9 should be automatically enabled on platform with VP9 hardware decoder

Categories

(Core :: Audio/Video: Playback, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: jya, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

We currently override the media.mediasource.webm.enabled value if:
1- mp4/h264 isn't available
2- h264 isn't hardware accelerated
3- We can decode vp9 quickly enough.

We should also enable it on machines that have hardware VP9 capabilities (some haswell and later intel, or android devices)
Depends on: 1260305
Depends on: 1268886
Mass change P2 -> P3
Priority: P2 → P3
Jean-Yves - is this still an issue?
Flags: needinfo?(jyavenard)
Blocks: 1399019
yes it is... it should be done. The enabling of MediaCapabilities however may alleviate the problem, as following bug 1409664, will be able to properly detect if hardware decoding is enabled or not

Removing the dependency on 1399019, as facebook doesn't use vp9 but h264.
No longer blocks: 1399019
Flags: needinfo?(jyavenard)
@jya Actually, this is blocking bug 1399019 in part, since *some* Facebook videos do play vp9 :) Not all videos have vp9 encodings, but some do. Specifically, most 360 videos do play VP9 by default on Desktop. I'm on the 360 videos team @ FB and we just disabled VP9 delivery on Firefox Windows after discovering it wouldn't play (had previously disabled it for MAC only following bug 1403412, but we did not know that it was now disabled on Windows as well.
Blocks: 1399019

For the reference, Intel started fully supporting VP9 hardware decoding since the version 7 (Ice Lake) [1], and Nvidia started from GP102 [2]. We've already forced to use VP9 on Android if it has hardware support [3], so this bug is for other platfroms.

[1]
https://en.m.wikipedia.org/wiki/Intel_Quick_Sync_Video
https://software.intel.com/content/www/us/en/develop/articles/encode-and-decode-capabilities-for-7th-generation-intel-core-processors-and-newer.html
[2] https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
[3] https://searchfox.org/mozilla-central/rev/4e87b5392eafe1f1d49017e76f7317b06ec0b1d8/dom/media/mediasource/MediaSource.cpp#82-83

Severity: normal → N/A
Type: defect → enhancement

Yes, but currently we would override the preference here [1], so this bug is used to force enabling VP9 for those desktops which have ability to decode VP9 in hardware.

[1] https://searchfox.org/mozilla-central/rev/4e87b5392eafe1f1d49017e76f7317b06ec0b1d8/dom/media/mediasource/MediaSource.cpp#128-129

See Also: → 1614958

Matt, I wonder if we can query this information from the graphic in current Firefox? Although I found this [1], it seems only to be used to block certain mobile devices. If not, is that a good place to extend the support and non-support list? Do we have any similar check that I can take a reference?
Thank you so much.

[1] https://searchfox.org/mozilla-central/rev/4e87b5392eafe1f1d49017e76f7317b06ec0b1d8/widget/android/GfxInfo.cpp#581-595

Flags: needinfo?(matt.woodrow)

(In reply to Alastor Wu [:alwu] from comment #8)

Yes, but currently we would override the preference here [1], so this bug is used to force enabling VP9 for those desktops which have ability to decode VP9 in hardware.

[1] https://searchfox.org/mozilla-central/rev/4e87b5392eafe1f1d49017e76f7317b06ec0b1d8/dom/media/mediasource/MediaSource.cpp#128-129

Ah, thanks. Makes me wonder if we should even bother with the pref. I recall looking at similar cases around webm, and having a pref to toggle functionality that doesn't actually toggle it seems like a foot gun.

Afaik, vp9 is now always enabled now that we have media capabilities enabled

Flags: needinfo?(matt.woodrow)
You need to log in before you can comment on or make changes to this bug.