Closed Bug 1859880 Opened 1 year ago Closed 1 year ago

Investigate using VPXDecoder for decoding VP9 in WebRTC

Categories

(Core :: WebRTC: Audio/Video, task, P2)

task

Tracking

()

RESOLVED FIXED
120 Branch
Tracking Status
firefox120 --- fixed

People

(Reporter: pehrsons, Assigned: pehrsons)

References

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

Details

Attachments

(4 files)

There are several issues with decoding VP9 SVC streams with MediaDataDecoder codecs. Both FFmpegVideoDecoder and AppleVTDecoder have issues reported on them.

We could use libwebrtc's libvpx decoder as that is basically the libwebrtc reference codec. It runs in the content process however.

The MediaDataDecoder stack also has VPXDecoder which IIRC can handle SVC just as well, and would run in the RDD process. Let's verify this and see if we can make it the default in webrtc.

There are reports that Apple's VideoToolbox VP9 decoder, which is always in
hardware, cannot always decode SVC streams properly. For now disable it for all
low-latency VP9 decoding -- this is mainly WebRTC.

There are reports that FFmpegVideoDecoder cannot always decode SVC streams
properly. For now disable it for all low-latency VP9 decoding -- this is mainly
WebRTC.

This patch should fix hw decode with WebRTC for all codecs supported by WMF.

WMFVideoMFTManager cannot decode SVC streams with multiple spatial layers.
For now disable it for low-latency VP9 decoding -- this is mainly WebRTC.

Depends on D191447

Pushed by pehrsons@gmail.com: https://hg.mozilla.org/integration/autoland/rev/dfc1f56553ae Don't use AppleVTDecoder for VP9 in WebRTC. r=media-playback-reviewers,webrtc-reviewers,padenot,jib https://hg.mozilla.org/integration/autoland/rev/6691b076a6a2 Don't use FFmpegVideoDecoder for VP9 in WebRTC. r=media-playback-reviewers,webrtc-reviewers,padenot,jib https://hg.mozilla.org/integration/autoland/rev/8b79442bf220 Fix hw decode of WebRTC streams with WMF on Windows. r=media-playback-reviewers,padenot https://hg.mozilla.org/integration/autoland/rev/2653ea413889 Don't use WMFVideoMFTManager for VP9 in WebRTC. r=media-playback-reviewers,webrtc-reviewers,padenot,jib

Backed out for causing bustages on FFmpegDecoderModule.h

Backout link

Push with failures

Failure log

Flags: needinfo?(apehrson)

A rebase issue.

Flags: needinfo?(apehrson)
Pushed by pehrsons@gmail.com: https://hg.mozilla.org/integration/autoland/rev/015c26be53dd Don't use AppleVTDecoder for VP9 in WebRTC. r=media-playback-reviewers,webrtc-reviewers,padenot,jib https://hg.mozilla.org/integration/autoland/rev/f3322110cf34 Don't use FFmpegVideoDecoder for VP9 in WebRTC. r=media-playback-reviewers,webrtc-reviewers,padenot,jib https://hg.mozilla.org/integration/autoland/rev/7e8153f9bf53 Fix hw decode of WebRTC streams with WMF on Windows. r=media-playback-reviewers,padenot https://hg.mozilla.org/integration/autoland/rev/0546c85daa8d Don't use WMFVideoMFTManager for VP9 in WebRTC. r=media-playback-reviewers,webrtc-reviewers,padenot,jib
Depends on: 1863752
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: