Closed
Bug 1322234
Opened 8 years ago
Closed 6 years ago
VP9 yuv444p decoding broken with hwaccel enabled
Categories
(Core :: Audio/Video: Playback, defect, P3)
Tracking
()
RESOLVED
FIXED
mozilla64
Tracking | Status | |
---|---|---|
firefox64 | --- | fixed |
People
(Reporter: alloy45224, Assigned: jya)
References
Details
(Keywords: qawanted)
Attachments
(9 files)
512.61 KB,
image/png
|
Details | |
224.93 KB,
application/zip
|
Details | |
7.56 KB,
text/plain
|
Details | |
6.60 KB,
text/plain
|
Details | |
46 bytes,
text/x-phabricator-request
|
Details | Review | |
46 bytes,
text/x-phabricator-request
|
Details | Review | |
46 bytes,
text/x-phabricator-request
|
Details | Review | |
46 bytes,
text/x-phabricator-request
|
Details | Review | |
46 bytes,
text/x-phabricator-request
|
Details | Review |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0
Build ID: 20161205030204
Steps to reproduce:
1. Run Firefox 53.0a1 (2016-12-05) (64-bit).
2. Visit page with vp9 video encoded with yuv444p color format (example: https://dl.dropboxusercontent.com/u/40722/vpx-bug/index.html)
Actual results:
1. Video with yuv444p profile output is corrupt.
Expected results:
1. Video with yuv444p should display normally.
Please provide this video samples on Web or attachments.
Component: Untriaged → Audio/Video: Playback
Flags: needinfo?(alloy45224)
OS: Unspecified → Windows 10
Product: Firefox → Core
Hardware: Unspecified → x86
(In reply to YF (Yang) from comment #1)
> Please provide this video samples on Web or attachments.
https://dl.dropboxusercontent.com/u/40722/vpx-bug/index.html
(In reply to alloy45224 from comment #2)
> (In reply to YF (Yang) from comment #1)
> > Please provide this video samples on Web or attachments.
>
> https://dl.dropboxusercontent.com/u/40722/vpx-bug/index.html
Uh, I understand now, I have to manually modify it, because the Dropbox asked me to download the html file.
Flags: needinfo?(alloy45224)
Oh, sorry about that. They must have changed how they serve html files recently.
WFM in 53.0a1 (2016-12-05) (32-bit) & 53.0a1 (2016-12-05) (64-bit) with clean profile on Win10 1607.
I'll go ahead and delete the Dropbox repo since I see you've added an attachment. Thank you!
![]() |
||
Comment 8•8 years ago
|
||
Please go to the Help menu > Troubleshooting Information, use the button to copy it and save it to a text file and attach it to this bug. Furthermore, tell us the CPU model of the computer, please. Thank you.
Flags: needinfo?(alloy45224)
CPU is Intel Core i5-6200. Computer model is Lenovo ThinkPad Yoga 260. I'll attach the troubleshooting information.
Reporter | ||
Comment 10•8 years ago
|
||
Flags: needinfo?(alloy45224)
Reporter | ||
Comment 11•8 years ago
|
||
I did some testing and found that installing the latest Intel graphics driver makes the issue go away. I'll attach a new troubleshooting report (TroubleshootingInfo-ThinkPadYoga260-Working.txt).
Reporter | ||
Comment 12•8 years ago
|
||
Troubleshooting info after updating graphics driver and issue is gone.
![]() |
||
Comment 13•8 years ago
|
||
Thank you for the information:
bad:
> "driverVersion": "20.19.15.4331",
> "driverDate": "11-18-2015",
good:
> "driverVersion": "21.20.16.4542",
> "driverDate": "10-24-2016",
QA: Can you check
A) if you can reproduce the issue on Windows 10
B) what is the first Intel driver version which plays the video from the attached testcase correctly? For this processor, the driver list can be found at https://downloadcenter.intel.com/product/88958/Intel-Core-i5-6200-Mobile-Processor-Series
Thank you.
Keywords: qawanted
Updated•8 years ago
|
Priority: -- → P3
![]() |
||
Comment 14•6 years ago
|
||
Not sure if this is related but
This file plays in Chrome, but not in Firefox, Edge or Safari
https://bugs.chromium.org/p/chromium/issues/attachment?aid=326593&signed_aid=p3vFCkutpOEv8ru525FWHQ==&inline=1
In Firefox it fails with:
```
Media resource https://bugs.chromium.org/p/chromium/issues/attachment?aid=326593&signed_aid=p3vFCkutpOEv8ru525FWHQ==&inline=1 could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005)
Details: auto mozilla::SupportChecker::AddMediaFormatChecker(const mozilla::TrackInfo &)::(anonymous class)::operator()() const: Decoder may not have the capability to handle the requested video format with YUV444 chroma subsampling.
```
see https://webcompat.com/issues/18485
Assignee | ||
Comment 16•6 years ago
|
||
(In reply to Karl Dubost :karlcow from comment #14)
> Not sure if this is related but
>
it is not, this is H264 in MP4, the bug is about the VP9 decoder.
> This file plays in Chrome, but not in Firefox, Edge or Safari
> https://bugs.chromium.org/p/chromium/issues/
> attachment?aid=326593&signed_aid=p3vFCkutpOEv8ru525FWHQ==&inline=1
Windows system decoder, nor Apple VideoToolbox has support for YUV444 content.
Chrome can do it thanks to FFmpeg. We could also play it properly on linux assuming ffmpeg is installed, however we made the explicit choice to disable it there too for platforms consistency.
https://searchfox.org/mozilla-central/source/dom/media/platforms/wrappers/H264Converter.cpp#264
We won't ever be able to play YUV444 H264 content.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(jyavenard)
Assignee | ||
Comment 17•6 years ago
|
||
We need a fallback from hardware to software decoder should decoding failed.
Assignee: nobody → jyavenard
Assignee | ||
Comment 18•6 years ago
|
||
The behaviour is identical in Edge and Chrome when using a nvidia 1080 (which has VP9 hardware decoder).
The decoder doesn't error, it succeeds but output NV12 black frames.
So we wouldn't be able to fix this case anyway
Assignee | ||
Comment 19•6 years ago
|
||
Can reproduce with an Intel HD 630
Assignee | ||
Comment 20•6 years ago
|
||
Both Edge and Chrome also with the Intel HD 630 shows the same graphic corruption as in the provided screenshot. As with comment 18. Decoding doesn't fail, it just returns a garbage image.
Assignee | ||
Comment 21•6 years ago
|
||
For know will only be used with Windows WMF decoders.
Assignee | ||
Comment 22•6 years ago
|
||
Continuing on the infrastructure provided by bug 1363668 we will now forcibly disable hardware decoding if the first frame failed to decode with a hardware accelerated decoder.
Depends on D7615
Assignee | ||
Comment 23•6 years ago
|
||
Depends on D7616
Assignee | ||
Comment 24•6 years ago
|
||
The Windows VP9 hardware decoder currently do not support anything else than profile 0 and 2 (YUV420) and return garbage when decoding.
We error on those streams allowing to fall back on the ffvp9 software decoder.
Depends on D7647
Assignee | ||
Comment 25•6 years ago
|
||
We'll need to handle EnumSet in ipdl at some stage.
Depends on D7648
Comment 26•6 years ago
|
||
Pushed by jyavenard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/49dc3475d6f3
P1. Add option to disable hardware decoding. r=bryce
https://hg.mozilla.org/integration/autoland/rev/ad7f2511596c
P2. When first frame decoding failed with hardware decoder, fall back to software decoding r=bryce
https://hg.mozilla.org/integration/autoland/rev/d0b359a2a15a
P3. Add method to read a VP9 profile from a VP9 bitstream r=TD-Linux
https://hg.mozilla.org/integration/autoland/rev/415c0a43a240
P4. Don't attempt to use Windows VP9 decoder for profile 1 and 3. r=bryce
https://hg.mozilla.org/integration/autoland/rev/ce1b5017a90e
P5. Pass the disallow HW decoder flag to remote video decoder. r=mattwoodrow
Comment 27•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/49dc3475d6f3
https://hg.mozilla.org/mozilla-central/rev/ad7f2511596c
https://hg.mozilla.org/mozilla-central/rev/d0b359a2a15a
https://hg.mozilla.org/mozilla-central/rev/415c0a43a240
https://hg.mozilla.org/mozilla-central/rev/ce1b5017a90e
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox64:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in
before you can comment on or make changes to this bug.
Description
•