Support HEVC on MacOS
Categories
(Core :: Audio/Video: Playback, enhancement, P1)
Tracking
()
People
(Reporter: 428rinsuki+bugzilla.mozilla.org, Assigned: alwu)
References
(Blocks 2 open bugs)
Details
User Story
https://mozilla-hub.atlassian.net/browse/FFXP-2567 platform-scheduled:2025-04-01
Attachments
(5 files)
Currently, Firefox for macOS doesn't support HEVC codecs at all. any HEVC video file will not able to play, example https://tests.caniuse.com/?feat=hevc .
but, macOS 10.13 or later have a support for en/decoding HEVC via VideoToolbox (and Apple itself heavily using HEVC, e.g. https://developer.apple.com/videos/ requires HEVC support for 4K ), It would be good to see HEVC support in Firefox for macOS.
since Firefox already have a HEVC support for Windows (maybe behind the flag?), It makes sense to also have a HEVC support for macOS.
Comment 1•1 year ago
|
||
Thanks for the report. We deliberately don't support HEVC at the moment, and prefer VP9 or AV1 (that also work in hardware on recent macOS).
(In reply to Paul Adenot (:padenot) from comment #1)
Thanks for the report. We deliberately don't support HEVC at the moment, and prefer VP9 or AV1 (that also work in hardware on recent macOS).
*** This bug has been marked as a duplicate of bug 1889731 ***
Thanks for reply!
We deliberately don't support HEVC at the moment
Can I see reason of this in somewhere? I guess this is related to patents, but Windows WMF implementation is already in codebase (maybe implemented before than that decide?)
also then why Bug 1842838 is still open?
prefer VP9 or AV1 (that also work in hardware on recent macOS).
VP9 hardware-accelerated decoding is supported on many Macs (which can run latest macOS), but hardware-accelerated VP9 (or AV1) encoding is (sadly) still not supported on latest Apple Silicon Mac (this is one of reason to use HEVC on macOS)
Comment 3•1 year ago
|
||
Can I see reason of this in somewhere? I guess this is related to patents, but Windows WMF implementation is already in codebase (maybe implemented before than that decide?)
It is there, but not shipped, mostly for testing.
| Assignee | ||
Comment 4•1 year ago
|
||
Bug 1889731 is used for the webcompat team to track their HEVC issues, so I would like to keep this separate and block our meta bug. We do have a plan to support HEVC on MacOS, but we just haven't started it yet. I'm still thinking if we should implement it via Videotoolbox, or utilize ffmpeg, which have videotoolbox hardware decoding path.
| Assignee | ||
Comment 5•1 year ago
|
||
We haven't decided if this should be supported via Videotoolbox or via FFmpeg, but I prefer the latter.
Comment 6•1 year ago
|
||
Other browsers use the former:
https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding?tab=readme-ov-file#macos
Updated•1 year ago
|
Comment 7•1 year ago
|
||
We're currently doing precursor development work to support this across all platforms.
Updated•1 year ago
|
Comment 8•1 year ago
|
||
(In reply to Alastor Wu [:alwu] from comment #5)
We haven't decided if this should be supported via Videotoolbox or via FFmpeg, but I prefer the latter.
We use Videotoolbox directly for all other codecs on macOS. Is there a reason we wouldn't want to do the same for HEVC?
Comment 9•1 year ago
|
||
The idea here is to attempt to consolidate decoding (and encoding) on ffmpeg, including hardware. HEVC on macOS is low-risk.
| Assignee | ||
Comment 10•1 year ago
•
|
||
As what Paul mentioned, our final goal is to deprecate platform decoder and only use ffmpeg. But now we will still need to add HEVC videotoolbox support first.
| Assignee | ||
Comment 11•1 year ago
|
||
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 12•1 year ago
|
||
Depends on D234235
| Assignee | ||
Comment 13•1 year ago
|
||
Depends on D234759
| Assignee | ||
Comment 14•1 year ago
|
||
Depends on D234760
| Assignee | ||
Comment 15•1 year ago
|
||
As we're just caring what decoder is being used, we can set video as loop
which prevents video decoder from being destroyed when the decoding is
completed.
In addition, only waiting for the play promise is enough, because it will
be resolved when the first frame is decoded, which means the decoder has
been determined.
Depends on D234761
Comment 16•1 year ago
|
||
Comment 17•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/8ed7ee4bc410
https://hg.mozilla.org/mozilla-central/rev/5d23a815972a
https://hg.mozilla.org/mozilla-central/rev/70500f932b55
https://hg.mozilla.org/mozilla-central/rev/b9603d838029
https://hg.mozilla.org/mozilla-central/rev/2ab38f908263
| Assignee | ||
Comment 18•1 year ago
|
||
Release Note Request (optional, but appreciated)
[Why is this notable]: Adding HEVC support on MacOS
[Affects Firefox for Android]: No
[Suggested wording]: HEVC playback is now supported on MacOS
[Links (documentation, blog post, etc)]: No
Comment 19•1 year ago
|
||
Added to the Fx136 nightly release notes, please allow 30 minutes for the site to update.
Keeping the relnote-firefox flag as ? to keep it on the radar for inclusion in the final Fx136 release notes.
Updated•11 months ago
|
Description
•