disable av1 by default in all hardware that does not support av1 hardware decoding
Categories
(Core :: Audio/Video: Playback, defect, P3)
Tracking
()
People
(Reporter: sk.griffinix, Unassigned)
References
Details
av1 is enabled by default in firefox since version 67 on all major platforms, i.e. windows, mac and linux. Recently major online streaming services have also switched to av1. This is causing very high cpu utilisation in hardware that does not support hardware decoding for av1. That includes all hardware prior to intel 11th gen tiger lake, amd rdna2 (pre rtx 6000 series) and nvidia 3000 series. This makes up for a significant share of hardware.
Currently, playing videos on major streaming services (like youtube, netflix https://m.youtube.com/watch?v=LXb3EKWsInQ) even on 1080p 60fps is quite heavy on cpu usage on any platform, and is especially problematic on mobile devices since it leads to decreased battery life.
Therefore media.av1.enabled should be disabled by default on all hardware that does not support av1 hardware decoding.
Comment 1•3 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.
Comment 2•3 years ago
|
||
Do you have examples of videos where the sites are serving AV1 and it's causing performance problems? Ideally sites will select videos that give the best user experience, and will use different browser APIs to do so. For example, on Android they'll check if AV1 decoding is power efficient and only use it in that case. Examples of issues are helpful so we can find bugs in the APIs sites are using and work with them to make sure they're serving media as expected. We'd prefer that to disabling functionality and removing flexibility for sites.
Currently, playing videos on major streaming services (like youtube, netflix https://m.youtube.com/watch?v=LXb3EKWsInQ) even on 1080p 60fps is quite heavy on cpu usage on any platform, and is especially problematic on mobile devices since it leads to decreased battery life.
If this is happening on Netflix, I don't think it can be AV1-related, since we don't yet support encrypted AV1. There's a possibility what you're observing may not be AV1-specific. Do you observe different results if you change the media.av1.enabled
setting under about:config
?
(In reply to Jon Bauman [:jbauman:] from comment #2)
Do you have examples of videos where the sites are serving AV1 and it's causing performance problems? Ideally sites will select videos that give the best user experience, and will use different browser APIs to do so. For example, on Android they'll check if AV1 decoding is power efficient and only use it in that case. Examples of issues are helpful so we can find bugs in the APIs sites are using and work with them to make sure they're serving media as expected. We'd prefer that to disabling functionality and removing flexibility for sites.
I had been observing this behaviour on youtube (on every 1080p or above video, such as in example), and after disabling av1, youtube started offering vp9, and cpu consumption was no longer high.
If this is happening on Netflix, I don't think it can be AV1-related, since we don't yet support encrypted AV1. There's a possibility what you're observing may not be AV1-specific. Do you observe different results if you change the
media.av1.enabled
setting underabout:config
?
I don't use netflix myself. I did find a user on reddit who had similar problem with netflix, and disabling av1 apparently solved the issue (https://www.reddit.com/r/firefox/comments/nwakag/firefox_nightly_cpu_consumption/)
Updated•3 years ago
|
Comment 4•2 years ago
|
||
I'm probably experiencing the same problem: https://bugzilla.mozilla.org/show_bug.cgi?id=1830059
Comment 5•1 year ago
|
||
If no other type is available, AV1 software playback is better than not-playable state.
Just a very friendly reminder that yes "power efficient" is supposed to be avoiding situations like this.
BUT hardware decoding detection is presumably broken at least in Windows.
Comment 7•3 months ago
|
||
(In reply to mirh from comment #6)
BUT hardware decoding detection is presumably broken at least in Windows.
No, the power efficient should be working correctly for AV1 on Windows. Bug 1859368 is filed for the incorrect result in about:support
, which is done by another method.
Comment 8•3 months ago
|
||
There is a big problem, and I'm suffering from it. I completely disable AV1 for YouTube by extension, but I can't completely disable it in browser itself.
Comment 9•3 months ago
|
||
When Firefox recommended a while ago in about:support to install the AV1 Video Extension I feared this will cause buggy sites to deliver now AV1 encoded content by accident that could not be hardware-decoded (due to too old hardware) while they might have been delivered something like VP9 encoded content otherwise that could have been hardware-decoded.
This never came true until today. On YouTube I found an older video ( https://www.youtube.com/watch?v=ITmOwXAlysE ) that got now delivered via AV1 and since my CPU is old too it causes a very lot of freezes on 1080p. This makes me think if I should really just disable AV1 via about:config to just get the VP9 or H.264 version of it to get the hardware-decoding back (and thus having smooth playback again at 1080p).
So yes, implementing this request could be useful in terms of buggy sites at the cost that AV1-only content can't be played anymore.
But it is worth mentioning since a few weeks/months YouTube has an issue determining the correct codec independent of the used browser (i.e. some old VP9 videos are now being delivered via H.264 - and then only some of them changed back a bit later. And now YouTube chooses AV1 on videos that had other formats before causing the performance issue mentioned in this post) and it is not unlikely to get fixed "soon".
Comment 10•3 months ago
|
||
https://www.youtube.com/account_playback
Youtube might have a separate option enabled (though yeah, I also report the same)
Comment 11•2 months ago
|
||
It might be worth mentioning that my observation was without any account and with permanent PBM enabled so pretty much anybody with default settings might encounter this issue. But it doesn't seem to be too serious right now since 3 requirements must met:
- No AV1 hardware-decoding capabilities
- An old/slow CPU
- A video that is affected (currently this seems to be still rare)
And if YouTube provides even a setting if you login to workaround this that mitigates this a bit as well.
Comment 12•2 months ago
|
||
Edit: There might be even a 4th requirement: An installed AV1 decoder (like from the Microsoft Store) so yes this might be only a small issue right now.
Description
•