New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 775021 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Incorrect video colors

Reported by lenne.he...@theoplayer.com, Oct 16 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

Steps to reproduce the problem:
Drag the provided mp4 file into the chrome browser

What is the expected behavior?
Correct color rendering

What went wrong?
Incorrect color rendering

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 61.0.3163.100  Channel: canary
OS Version: 10.0
Flash Version: 

- Renders correctly on Chrome on MacOS
- Does not render correctly on Chrome on Windows 10
- Renders correctly on other browsers/platforms (firefox, VLC, Internet Explorer ...)
- Works when hardware acceleration is disabled
- Works when Color correct rendering is disabled in chrome://flags
- Also broken on Chrome canary (63.0.3239.7) on Windows 10. The Color correct rendering flag does not seem to be available there
- Might be related to:
https://bugs.chromium.org/p/chromium/issues/detail?id=770575
 
video.mp4
1.6 MB View Download
incorrect-colors.png
844 KB View Download
Labels: Needs-Triage-M61
Cc: hubbe@chromium.org ccameron@chromium.org
Components: -Blink>Media Internals>Media>Video
Owner: hubbe@chromium.org
Status: Assigned (was: Unconfirmed)
This renders incorrectly with non-GMB software decode (hence just Windows). I can repro on Mac with some surgery.

In FFmpegVideoDecoder::GetVideoBuffer, codec_context->colorspace is AVCOL_SPC_RGB. This then gets translated to gfx::ColorSpace::MatrixID::RGB, which has no YUV to RGB conversion, hence the pink frames.

I can imagine this being one of three things
 A. decode shouldn't be setting codec_context->colorspace to AVCOL_SPC_RGB
 B. we shouldn't interpret AVCOL_SPC_RGB as gfx::ColorSpace::MatrixID::RGB
 C. everything is fine and this particular mp4 file is invalid

hubbe, what are your thoughts on this?

Comment 4 by hubbe@chromium.org, Oct 17 2017

Status: WontFix (was: Assigned)
The answer is C - everything is fine and this particular mp4 file is invalid

(Well, it's not invalid, but it's supposed to look like that.)

Using this command:  ffprobe -show_streams video.mp4 | grep color

shows the following:

color_range=tv
color_space=GBR   <---- GBR means RGB, but the video is actually YUV
color_transfer=bt709
color_primaries=bt709


Thanks!
Adding link to issue 806941

Sign in to add a comment