Closed
Bug 1505284
Opened 6 years ago
Closed 5 years ago
Use H264 MediaDataDecoder for webrtc calls
Categories
(Core :: WebRTC: Audio/Video, enhancement, P2)
Core
WebRTC: Audio/Video
Tracking
()
RESOLVED
FIXED
mozilla65
Tracking | Status | |
---|---|---|
firefox65 | --- | fixed |
People
(Reporter: jya, Assigned: jya)
References
Details
Attachments
(5 files)
It is now possible to use the system's H264 decoder for webrtc calls, we should enable it by default. It allows for low-latency, typically hardware accelerated calls with webrtc peers using h264.
Comment 1•6 years ago
|
||
Great. How about we flip the pref for Nightly users on Mac? The other question is if with this change then H264 with hardware should be preferred over VP8? I assume we don't have any means to switch dynamically in the middle of the call if the hardware decoder fails. It would be great if we would have the ability to fall back to available software decoders in that case.
Assignee | ||
Comment 2•6 years ago
|
||
(In reply to Nils Ohlmeier [:drno] from comment #1) > Great. How about we flip the pref for Nightly users on Mac? > it works on all platform. > The other question is if with this change then H264 with hardware should be > preferred over VP8? H264 is almost universally HW accelerated on both mac and windows, on linux it will still be SW. VP8 can be HW accelerated only on recent Intel (generation 6 and later) and on windows only. > > I assume we don't have any means to switch dynamically in the middle of the > call if the hardware decoder fails. It would be great if we would have the > ability to fall back to available software decoders in that case. Actually, you can. If the HW decoder fail we have mechanism to retry (requiring a keyframe) and fallback to SW automatically.
Assignee | ||
Comment 3•6 years ago
|
||
(In reply to Nils Ohlmeier [:drno] from comment #1) > Great. How about we flip the pref for Nightly users on Mac? > > The other question is if with this change then H264 with hardware should be > preferred over VP8? I actually have a bug open to make VP9 the default if the machine has HW decoders (bug 1392962)
Updated•6 years ago
|
Rank: 25
Priority: -- → P2
Assignee | ||
Comment 4•5 years ago
|
||
Assignee | ||
Comment 5•5 years ago
|
||
All H264 system's decoders now handle low latency mode and are typically hardware accelerated. Depends on D12431
Pushed by jyavenard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/05fd55926206 P1. Use ffmpeg decoder for h264 in low latency mode. r=padenot https://hg.mozilla.org/integration/autoland/rev/1d3eb26cfeac P2. Use system's h264 decoder for webrtc call. r=padenot
Comment 7•5 years ago
|
||
Backed out for GTest crashes on [@ mozilla::AppleDecoderModule::Init()] Push link: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception%2Crunnable&searchStr=os%2Cx%2C10.10%2Cdebug%2Ctest-macosx64%2Fdebug-gtest%2C%28gtest%29&revision=1d3eb26cfeac0fd13ab376ab86cc1b2ccd1fdc82 Backout link: https://hg.mozilla.org/integration/autoland/rev/eb6978b0841764e17373c645ca5d29b5127ef3d5 Log link: https://treeherder.mozilla.org/logviewer.html#?job_id=212952160&repo=autoland&lineNumber=21993
Flags: needinfo?(jyavenard)
Comment 8•5 years ago
|
||
There were also crashes on [@ mozilla::WMFDecoderModule::Init()] Log link: https://treeherder.mozilla.org/logviewer.html#?job_id=212963900&repo=autoland&lineNumber=22073
Comment 9•5 years ago
|
||
Also triggered a mda perma failure on test_peerConnection_basicH264Video.html Log link: https://treeherder.mozilla.org/logviewer.html#?job_id=212964686&repo=autoland&lineNumber=20007
Updated•5 years ago
|
Attachment #9026401 -
Attachment description: Bug 1505284 - P2. Use system's h264 decoder for webrtc call. r?padenot! → Bug 1505284 - P2. Use system's h264 decoder for webrtc call. r?padenot! All H264 system's decoders now handle low latency mode and are typically hardware accelerated.
Assignee | ||
Comment 10•5 years ago
|
||
While typically those will always be, when using through gtest it won't. Depends on D12432
Assignee | ||
Comment 11•5 years ago
|
||
The fake H.264 GMP encoder creates dummy frames that can't be decoded by anything but the fake GMP decoder. Depends on D12519
Updated•5 years ago
|
Attachment #9026681 -
Attachment description: Bug 1505284 - P4. Don't use real H264 decoder with fake GMP encoder. r?dminor! → Bug 1505284 - P5. Don't use real H264 decoder with fake GMP encoder. r?dminor!
Assignee | ||
Comment 12•5 years ago
|
||
So that we can disable just the H264 decoders while allowing VP8 or VP9.
Updated•5 years ago
|
Attachment #9026681 -
Attachment description: Bug 1505284 - P5. Don't use real H264 decoder with fake GMP encoder. r?dminor! → Bug 1505284 - P5. Don't use real H264 decoder with fake GMP encoder. r?dminor! The fake H.264 GMP encoder creates dummy frames that can't be decoded by anything but the fake GMP decoder.
Updated•5 years ago
|
Attachment #9026401 -
Attachment description: Bug 1505284 - P2. Use system's h264 decoder for webrtc call. r?padenot! All H264 system's decoders now handle low latency mode and are typically hardware accelerated. → Bug 1505284 - P2. Use system's h264 decoder for webrtc call. r?padenot!
Updated•5 years ago
|
Attachment #9026681 -
Attachment description: Bug 1505284 - P5. Don't use real H264 decoder with fake GMP encoder. r?dminor! The fake H.264 GMP encoder creates dummy frames that can't be decoded by anything but the fake GMP decoder. → Bug 1505284 - P5. Don't use real H264 decoder with fake GMP encoder. r?dminor!
Updated•5 years ago
|
Attachment #9026400 -
Attachment description: Bug 1505284 - P1. Use ffmpeg decoder for h264 in low latency mode. r?padenot! → Bug 1505284 - P1. Use ffmpeg decoder for h264 in low latency mode. r=padenot
Comment 13•5 years ago
|
||
Pushed by jyavenard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/92a1eb79716c P1. Use ffmpeg decoder for h264 in low latency mode. r=padenot https://hg.mozilla.org/integration/autoland/rev/e89c4b9db24d P2. Use system's h264 decoder for webrtc call. r=padenot https://hg.mozilla.org/integration/autoland/rev/99321f96fd0c P3. Ensure gfxVars and gfxPrefs are always initialized when using PDMFactory. r=gerald https://hg.mozilla.org/integration/autoland/rev/7f62a35b4171 P4. Split preferences to enable WebRTC with MediaDataDecoder. r=padenot https://hg.mozilla.org/integration/autoland/rev/95d5bb21c934 P5. Don't use real H264 decoder with fake GMP encoder. r=dminor
Comment 14•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/92a1eb79716c https://hg.mozilla.org/mozilla-central/rev/e89c4b9db24d https://hg.mozilla.org/mozilla-central/rev/99321f96fd0c https://hg.mozilla.org/mozilla-central/rev/7f62a35b4171 https://hg.mozilla.org/mozilla-central/rev/95d5bb21c934
Status: NEW → RESOLVED
Closed: 5 years ago
status-firefox65:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Assignee | ||
Updated•5 years ago
|
Flags: needinfo?(jyavenard)
You need to log in
before you can comment on or make changes to this bug.
Description
•