Closed Bug 1437334 Opened 2 years ago Closed 2 years ago

Videos playback corruption when NV12 is enabled

Categories

(Core :: Graphics: Layers, defect, P3)

55 Branch
All
Windows 10
defect

Tracking

()

VERIFIED FIXED
mozilla62
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- fixed
firefox58 --- wontfix
firefox59 --- wontfix
firefox60 --- wontfix
firefox61 --- fixed
firefox62 --- fixed

People

(Reporter: yfdyh000, Assigned: sotaro)

References

Details

(Keywords: regression, Whiteboard: [gfx-noted])

Attachments

(5 files)

Attached file about_support_raw
STR:
Open the https://v.vzuu.com/video/945711004210950144, play it.


Actual results:
I will soon see a large area of ​​the the graphics corruption on the video.


Regression range:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=9a09749bb23088cd008d05194c5abe8c4f1fb838&tochange=0d4603ebe97ee5e364be000ebfa5e5121be17e11

0d4603ebe97e	Bas Schouten — Bug 1340398 - Part 3: Use NV12 format by default. r=mattwoodrow


Extra information:
* I see a completely green screen on the video if set media.wmf.use-sync-texture to false on 58.0.2 x86.
* I see the "NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004)" errors and won't play if set media.wmf.use-sync-texture & media.wmf.use-nv12-format to false on 58.0.2 x86.
* This video looks to playback normally if set media.wmf.use-nv12-format to false only.

* I have seen the corruption on other video sites.
Attached video corruption status
(In reply to YF (Yang) from comment #0)
> * I have seen the corruption on other video sites.

Not tested for media.wmf.use-nv12-format to false. Just shows it is not a problem for very few videos.
Component: Audio/Video: Playback → Graphics: Layers
Flags: needinfo?(bas)
These are decoder artifacts, not rendering artifacts. It would be very strange if this patch was actually responsible, fwiw, I can't reproduce the problem on any of my 3 machines.

Do you see this problem in Edge as well?
Flags: needinfo?(bas) → needinfo?(yfdyh000)
No, work fine in Chrome & Edge. This issue does not happen when hardware acceleration is off (Compositing is Basic).
Flags: needinfo?(yfdyh000)
It seems that graphics driver seems to have a problem. It seems necessary to block nv12 usage like Bug 1352016.
YF, can you check the problem with latest graphics driver?
Flags: needinfo?(yfdyh000)
I am using the latest driver for my graphics device.
Flags: needinfo?(yfdyh000)
Can we have STR?
Flags: needinfo?(yfdyh000)
The STR on comment 0 is still available.
Flags: needinfo?(yfdyh000)
Should we block nv12 on this driver even though it's the newest?
Flags: needinfo?(sotaro.ikeda.g)
Whiteboard: [gfx-noted]
Yea, we need to block it. attachment 8950041 [details] says that driver date was "5-19-2016". The driver might not be updated recently for the PC.
Assignee: nobody → sotaro.ikeda.g
Flags: needinfo?(sotaro.ikeda.g)
YF (Yang), does the problem still happen? Can you attach current about:support? Thanks!
Flags: needinfo?(yfdyh000)
For now, blocking for NV12 is handled at DXVA2Manager::IsNV12Supported(). But it seems better to be handled at GfxInfo::GetGfxDriverInfo()
  https://dxr.mozilla.org/mozilla-central/source/widget/windows/GfxInfo.cpp#1011
With the link, "adapterDeviceID": "0x0102" means "HD Graphics 2000(Sandy Bridge)".
  https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units
(In reply to Sotaro Ikeda [:sotaro] from comment #12)
> YF (Yang), does the problem still happen? Can you attach current
> about:support? Thanks!

Yes, the problem still happen, no change in Nightly 20180511220149.

In addition, Intel has stopped updating drivers for this graphics card model.
Flags: needinfo?(yfdyh000)
(In reply to YF (Yang) from comment #17)
> Created attachment 8975257 [details]
> about_support_raw 20180511220149
> 
> (In reply to Sotaro Ikeda [:sotaro] from comment #12)
> > YF (Yang), does the problem still happen? Can you attach current
> > about:support? Thanks!
> 
> Yes, the problem still happen, no change in Nightly 20180511220149.
> 
> In addition, Intel has stopped updating drivers for this graphics card model.

Thanks! Yea, attachment 8975257 [details] and attachment 8950041 [details] have same driver.
Attachment #8974927 - Flags: review?(jmuizelaar)
Attachment #8974927 - Flags: review?(jmuizelaar) → review+
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/46f0e465153f
Block DX NV12 on SandyBridge for old graphics drivers r=jrmuizel
https://hg.mozilla.org/mozilla-central/rev/46f0e465153f
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
https://v.vzuu.com/video/945711004210950144 now work fine in Nightly 62.0a1 20180519220058, this issue has been fixed.
Status: RESOLVED → VERIFIED
Thanks for the confirmation!
Is this something you wanted to let ride the trains or did you want to nominate it for backport?
Flags: needinfo?(sotaro.ikeda.g)
I am going to nominate it.
Flags: needinfo?(sotaro.ikeda.g)
Blocks: 1340398
Comment on attachment 8974927 [details] [diff] [review]
patch - Block DX NV12 on  SandyBridge for old graphics drivers

Approval Request Comment
[Feature/Bug causing the regression]:Bug 1340398
[User impact if declined]:Video playback could be broken on PCs that use intel SandyBridge.
[Is this code covered by automated tests?]:Yes.
[Has the fix been verified in Nightly?]:Yes.
[Needs manual test from QE? If yes, steps to reproduce]: No.
[List of other uplifts needed for the feature/fix]: None
[Is the change risky?]: unlikely.
[Why is the change risky/not risky?]: It just revert to old behavior on intel SandyBridge.
[String changes made/needed]: None.
Attachment #8974927 - Flags: approval-mozilla-beta?
Comment on attachment 8974927 [details] [diff] [review]
patch - Block DX NV12 on  SandyBridge for old graphics drivers

Fix for broken NV12 playback on older SandyBridge systems. Approved for 61.0b8. I think we should take this for ESR 60.1 also.
Attachment #8974927 - Flags: approval-mozilla-esr60+
Attachment #8974927 - Flags: approval-mozilla-beta?
Attachment #8974927 - Flags: approval-mozilla-beta+
Sotaro, can you please provide a rebased patch for ESR60 uplift? The patch doesn't graft cleanly.
Flags: needinfo?(sotaro.ikeda.g)
Crated patch for esr60.
Flags: needinfo?(sotaro.ikeda.g)
Attachment #8980175 - Flags: review+
We're hitting assertion failures on debug builds the in esr60 uplift because that doesn't have bug 1455696.  Can I get a rubberstamp on https://hg.mozilla.org/try/rev/7d4787d005e0200baf1293aed4c10adfc5d72795?
Flags: needinfo?(jmuizelaar)
Yes. That looks good to me.
Flags: needinfo?(jmuizelaar)
Depends on: 1498162
You need to log in before you can comment on or make changes to this bug.