Closed Bug 1748862 Opened 3 years ago Closed 3 years ago

Rename `media.ffmpeg.vaapi.enabled`

Categories

(Core :: Audio/Video: Playback, task)

task

Tracking

()

RESOLVED WONTFIX

People

(Reporter: rmader, Unassigned)

References

(Blocks 1 open bug)

Details

AFAIK media.ffmpeg.vaapi.enabled now enables VA-API for ffmpeg, ffvpx and vpx - keeping ffmpeg in the name is thus somewhat confusing.

Similarly, media.navigator.mediadatadecoder_vpx_enabled can be confusing as IIUC it is needed for WebRTC when using VPx codecs, but not h264 (which is provided by ffmpeg and thus media.ffmpeg.vaapi.enabled is sufficient to enable it for WebRTC as well). Although I'm not even sure if now that ffvpx also supports VA-API this is still the case.

Lets consider some more self-explanatory names, for example media.ffmpeg.vaapi.enabled -> media.vaapi.enabled

Consider setting media.hardware-video-decoding.enabled to false by default for MOZ_WIDGET_GTK and using it as replacement for current vaapi pref. There are media.hardware-video-decoding.enabled and media.hardware-video-decoding.force-enabled.

(In reply to Darkspirit from comment #1)

Consider setting media.hardware-video-decoding.enabled to false by default for MOZ_WIDGET_GTK and using it as replacement for current vaapi pref. There are media.hardware-video-decoding.enabled and media.hardware-video-decoding.force-enabled.

This sounds really good! Will make a patch doing that.

Do you happen to know if media.navigator.mediadatadecoder_vpx_enabled is still needed? (it has its own use, but is it needed for WebRTC VPx decoding with VAAPI?)

  1. Disabled media.ffmpeg.enabled, disabled the Cisco OpenH264 plugin and restarted Nightly: With enhanced-h264ify I confirmed on YouTube that h264 decoding no longer works.
  2. With Chromium I shared a YouTube tab via https://meet.jit.si. My GPU only supports VP8, not VP9. intel_gpu_top shows 1.51% Video decoding: WebRTC VAAPI works.
  3. Disabled media.navigator.mediadatadecoder_vpx_enabled, restarted, re-joined the Jitsi session: VAAPI is not used anymore.
  4. Reenabled media.navigator.mediadatadecoder_vpx_enabled, restarted, re-joined the Jitsi session: VAAPI is used again.

Yes, bug 1709009 is needed for WebRTC VP8 VAAPI on stable and beta. At the moment, it is only enabled on Nightly.

Yes, I was thinking about it too but I don't think we need to rename it again after all. We already did that (widget.wayland-dmabuf-vaapi.enabled to media.ffmpeg.vaapi.enabled) and it causes lot of confusion, old how-to stopped working and people need to update configs.

Our goal is to make VA-API work out of the box, we generally don't want users to fiddle with prefs at about:config so a little inaccuracy is acceptable as it's not something official.

Anyway, media.ffmpeg.vaapi.enabled is quite descriptive as ffvpx is just a bundled ffmpeg without h264. libvpx does not support va-api so it's not related.

And yes, media.navigator.mediadatadecoder_vpx_enabled is needed in Mozilla official builds (Fedora builds have it set by default).

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX

Our goal is to make VA-API work out of the box, we generally don't want users to fiddle with prefs at about:config so a little inaccuracy is acceptable as it's not something official.

IMHO that's another reason why we'd need force-enabled config option at one point - and media.hardware-video-decoding.enabled + media.hardware-video-decoding.force-enabled being great candidates. But you're surely correct that it doesn't have priority.

media.ffmpeg.vaapi.force-enabled will work well in such case.
Unfortunately media.ffmpeg.vaapi.enabled is already used and published in many docs so it would be rude to just change it without strong reason. Just type that pref to google.

Nice gravatar picture! I always wondered how you looked like :P

Just googled media.ffmpeg.vaapi.enabled and it's really impressive! I guess that's a big compliment for your enduring great work! So yeah, maybe it's not the time to change anything about that pref. Will come back to it once it's enabled by default for most setups and/or we add a Vulkan implementation :)

You need to log in before you can comment on or make changes to this bug.