Purple flicker when playing video with AV1 codec with NVIDIA graphics card.
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
People
(Reporter: TheSkynet1337, Unassigned)
References
Details
Attachments
(2 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0
Steps to reproduce:
- Open a YouTube video.
- Make sure NVIDIA GPU is used for hardware acceleration.
- Make sure it uses av01.0.09M.08 or av01.0.08M.08 encoding(check Stats for nerds' codecs section).
- Move the mouse
Actual results:
The video flickers purple intermittently at seemingly random intervals.
Video of flickering: https://www.youtube.com/watch?v=AlHnb5pi6I4 (left side is a fresh profile in FF right side is a fresh Chrome install)
Expected results:
The video should play back normally without visual artifacts.
Reporter | ||
Comment 1•5 years ago
|
||
Things I have tried so far:
-Use Intel GPU instead of NVIDIA: No flickering when using no hardware acceleration or when using Intel GPU for hardware acceleration.
-Fresh profile and resetting Firefox: Flickering persists.
-Video playback using VP09 or avc1 do not flicker.
Windows version: Windows 10 1909(OS Build 18363.592)
NVIDIA driver version: 442.19
Updated•5 years ago
|
Comment 2•5 years ago
|
||
According to our discussion, it seems more a graphic issue. :jolin would post his assumption later.
Comment 3•5 years ago
|
||
FF doesn't use HW decoder for AV1 and the decoded contents should not be affected by GPU.
From the attached video it looks like the pixels are read (by compositor?) while the decoder is writing the buffer (or the other way around). In either case, access to the buffers seems not properly fenced. If it only happens only on Nvidia GPU but not Intel GPU, that could be a driver issue.
Reporter | ||
Comment 4•5 years ago
|
||
Watching back the video and doing some more testing I noticed that Chrome is dropping frames, according to the stats for nerds' Viewport/Frames row, when using av01.0.09M.08 or av01.0.08M.08.
So perhaps the issue is actually present on both FF and Chrome but Chrome is dropping the affected frames whilst FF displays them.
Comment 5•5 years ago
|
||
Could you try disabling webrender by flipping the pref gfx.webrender.force-disabled and see if it still happens?
Reporter | ||
Comment 6•5 years ago
|
||
After setting gfx.webrender.force-disabled to true I could not observe anymore flickering.
(In reply to TheSkynet1337 from comment #4)
Watching back the video and doing some more testing I noticed that Chrome is dropping frames, according to the stats for nerds' Viewport/Frames row, when using av01.0.09M.08 or av01.0.08M.08.
This was still the case though, with FF not reporting any dropped frames but Chrome steadily dropping frames whilst the mouse is moving.
Comment 7•5 years ago
|
||
HW acceleration with the Intel device in about:support should get WR based on driver version and device ID (it is on the allowed list). So I guess it is specific to NVIDIA.
Comment 8•5 years ago
|
||
TheSkynet1337, can you check if the problem still happens with latest Firefox release(73) and nightly? Thanks!
Reporter | ||
Comment 9•5 years ago
|
||
The problem persists on both 73.0 and 75.0a1 Nightly. The work-around of setting gfx.webrender.force-disabled also works on both.
I tested with a fresh profile in both instances.
Comment 10•5 years ago
|
||
Thank you for the checking!
When AV1 video playback happened, like the following, RenderBufferTextureHost is used for video rendering. From it, I wonder if RenderBufferTextureHost::Lock() was failed by some reasons.
Comment 11•5 years ago
|
||
It seems that GPUVideoTextureHost seems to have a problem that could cause this bug, though I could not reproduce the problem with default source.
WebRenderTextureHost tries to create RenderTextureHost. But when wrapped TextureHost is GPUVideoTextureHost, there could be a case that RenderTextureHost is not created. It could happen when wrapped TextureHost of GPUVideoTextureHost is not ready yet. It was added by Bug 1562616.
Comment 12•5 years ago
|
||
TheSkynet1337, can you check if the problem is addressed with latest nightly? Bug 1562616 addressed one possible cause of the problem. Thanks.
Reporter | ||
Comment 13•5 years ago
|
||
Reporter | ||
Comment 14•5 years ago
|
||
I can not reproduce the problem on Nightly version 75.0a1 with build ID 20200226092757.
I have attached the profile in case I made some changes since the last time I checked that could invalidate my results but it appears to me that the issue is resolved in the nightly build.
Comment 15•5 years ago
|
||
Good! Thank you for the checking.
Description
•