Closed Bug 1138024 Opened 9 years ago Closed 9 years ago

HTML5 video on HDMI use dynamic range 16-235 instead of 0-255

Categories

(Core :: Audio/Video, defect)

36 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1161349

People

(Reporter: CoolCmd, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
Build ID: 20150222232811

Steps to reproduce:

windows 7, windows 8.1, nvidia 770GTX, drivers 340.52, 341.44, 347.52

1. plug hdmi monitor to nvideo video card.
2. open nvidia control panel. selected full dynamic range (0-255) for desktop.
3. open Firefox options. turn on hardware acceleration.
4. open https://vimeo.com/channels/staffpicks/119932781



Actual results:

video have low contrast because of using 16-235 dynamic range.


Expected results:

video must have 0-255 dynamic range, like in IE 11, Chrome 39, and Firefox with disabled hardware acceleration.
Component: Untriaged → Video/Audio
Product: Firefox → Core
I got the same issue, and it doesn't seem to be limited to HDMI: the issue occurs on my DVI monitor as well. Windows 7 x64, nVidia GPU.

My guess is that Firefox does not properly preserve information about which video levels (16-235 vs. 0-255) to use in the HTML5 video playback chain.

Here are some precise, unambiguous steps to reproduce:
- Go to https://www.youtube.com/watch?v=49tpIMDy9BE
- Using the developer tools or any other mechanism, change the background of the page near the player to pure black (background-color: black)
- Play the video.
- Notice that the black from the top and bottom black bars in the video (which are from the video stream itself) is different (lighter) compared to the black from the page background. This means the video levels are wrong: the 16-235 (studio/video levels) content in the video should have been expanded to 0-255 (PC levels) on playback, but wasn't.

This is a *severe* issue because it basically means anyone watching HTML5 video on Firefox will get a washed out, low-contrast picture compared to any other browser or video player (including Flash). This is becoming increasingly alarming as Youtube now appears to be rolling out HTML5 video to the Firefox release branch users.

Thankfully, there is a workaround: in the NVIDIA Control Panel, "Video", "Adjust video color settings", the issue can be fixed by checking "With the NVIDIA Settings" and selecting "Full (0-255)" for "Dynamic range". Obviously this is only a workaround, and the average Firefox user can't be expected to know that.

Whether that means this is a Firefox bug or a nVidia driver bug is an open question at this point. My guess is that Firefox is supposed to tell the driver (presumably through some video renderer option) that the content is 16-235 and therefore should be expanded to 0-255, but it looks like it's not doing that.
The issue definitely seems to be nVidia-specific - I can't reproduce on my laptop which uses an Intel IGP. By the way, I'm using Firefox 37.0.2.
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.