RPi2 Limited color range? White clipping
#1
Just received an RPi2 today, and In installed OpenElec 5.95.2 (Kodi 15 Beta 2)

I had my TV calibrated for my previous media player, I prefer 16 to at least 244 be showing.

The RPi2 is only outputting 16-234, is it possible to adjust/edit this configuration? I'd like to display above white.
TV controls do not get around this as the RPi2 is only outputting 16-234.

I am using the same input and cabling as the previous media player that had a much larger range.
I've seen this problem mentioned by a few others elsewhere on the net, but never a solution.

Is the RPi2 capable of outputting a higher range?

I am familiar with SSH and editing linux text files if needed.
Reply
#2
http://elinux.org/RPiconfig

Have a look at the option hdmi_pixel_encoding.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#3
Thanks for that, I tried both of these separately with no luck displaying above 235. Any other ideas, is anything needed in addition to one of these lines?
I also bumped the GPU mem to 320, and verified with your bcmstat.sh script.

hdmi_pixel_encoding=2

hdmi_pixel_encoding=4
Reply
#4
also tried this, didn't help either

hdmi_group=2

and also

hdmi_group=2
hdmi_pixel_encoding=2
Reply
#5
I also tried hdmi_mode=16 as per the link. It did not help
Oddly enough, I am not sure 16 is the correct mode/resolution listed.

# tvservice -m DMT
Group DMT has 10 modes:
mode 4: 640x480 @ 60Hz 4:3, clock:25MHz progressive
mode 6: 640x480 @ 75Hz 4:3, clock:31MHz progressive
mode 9: 800x600 @ 60Hz 4:3, clock:40MHz progressive
mode 10: 800x600 @ 72Hz 4:3, clock:50MHz progressive
mode 11: 800x600 @ 75Hz 4:3, clock:49MHz progressive
mode 16: 1024x768 @ 60Hz 4:3, clock:65MHz progressive
mode 17: 1024x768 @ 70Hz 4:3, clock:75MHz progressive
mode 18: 1024x768 @ 75Hz 4:3, clock:78MHz progressive
mode 28: 1280x800 @ 60Hz 16:10, clock:83MHz progressive
mode 85: 1280x720 @ 60Hz 16:9, clock:74MHz progressive

For some reason, RPi2 is not detecting the proper DMT modes

It sees CEA

# tvservice -m CEA
Group CEA has 12 modes:
mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive
mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive
mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive
mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced
(prefer) mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive
mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive
mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive
mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced
mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive
mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive

But CEA does not provide full range that I get from other input devices.
And forcing a DMT mode does not correct the color range either
Reply
#6
# tvservice -s
state 0x12001a [HDMI CEA (16) RGB lim 16:9], 1920x1080 @ 60.00Hz, progressive

Shows RGB limited.
Reply
#7
I used the following

hdmi_group=1
hdmi_mode=16
hdmi_pixel_encoding=2

and that put it into full color mode

tvservice -s
state 0x12001a [HDMI CEA (16) RGB full 16:9], 1920x1080 @ 60.00Hz, progressive

Also tried encoding=4

tvservice -s
state 0x12001a [HDMI CEA (16) YCbCr444 full 16:9], 1920x1080 @ 60.00Hz, progressive

Unfortunately the problem remains, nothing above 235. My guess is that the RPi is just not capable?

Similar issue talked about here http://forum.osmc.tv/showthread.php?tid=9368
Reply
#8
When hdmi_pixel_encoding =2, RPi2 can absolutely output RGB Full Range. In the pictures below, you can see the actual RGB bit values directly read from the output. (90% - 229, 95% - 242, 100% - 255).

watch gallery
Reply
#9
and the only change you made to the config.txt is hdmi_pixel_encoding =2 ?

That sure isn't working for me, I'll try a different display tomorrow
Reply
#10
(2015-07-07, 05:51)J_E_F_F Wrote: and the only change you made to the config.txt is hdmi_pixel_encoding =2 ?
That sure isn't working for me, I'll try a different display tomorrow
That is the only change that I made. Have you checked the black level settings on your TV?
Reply
#11
@J_E_F_F honestly I think you are barking up the wrong tree.

Almost all videos are encoded limited range (16-235).
Almost all TV's will default to limited range (16-235). (in TV style CEA modes like 720p and 1080p).

If a fully black pixel is encoded in a video it will appear fully black on TV with a level of 16.
If a fully white pixel is encoded in a video it will appear fully white on TV with a level of 235.

You appear to be trying to display incorrect colour levels by seeking this elusive "blacker than black".
It is perfect (within one lsb) as it is. If you manage to achieve any noticeable change it will only be by making other colours wrong.
Reply
#12
I'm actually fine with black at 16, I am wanting above white colors, above 235 which is used at times.
Reply
#13
No. Levels above 235 should not exist in video files.

601 is the default for SD videos. It is a limited range (16-235) format. 16 is complete black. 235 is complete white.
709 is the default for HD videos. It is a limited range (16-235) format. 16 is complete black. 235 is complete white.

When calibrating a display,
Quote:What about 0-16 flashing? Well all proper video rips and iso rips have no colour information from 0-16 and above 235. If you turn up the brightness higher you will not see any extra detail in movies, and the black will become greyish, you also might loose details at the white end, because brightness is too high.

235 is as white as you can get, and with standard video encodes you should not exceed that (and if done it should be clipped at pure white).
Reply
#14
Some blu-ray content is encoded above 235, as are some computer games and such http://referencehometheater.com/2014/com...s-limited/

I'm not trying to watch a movie with above white per se, but I am trying to calibrate my TV to the Openelec/RPi2 output with a video file encoded with above 235 levels.

I did more testing this morning, and used another TV just to be sure. Took another source that outputs 0-255 with the same file, everything displays as it should.
I also tried VLC and MWP to output the file, same results as the RPi2, clipping above 235. Odd that an old school WDTV+ outputs 0-255 along with my Blu Ray player, but nothing PC based seems to.
Reply
#15
Have to bring this back up, it still bugs me.
Did more testing, same results, RPi2 fails to display the test videos properly, a WDTV+, blu ray player, and PC hooked via HDMI all display properly (i.e. I can induce TV setting errors to display below black and above white, as incorrect as that may be) and the RPi2 cannot. What can be done to make the RPi2 display these sample clips correctly? (tried using the exact the same HDMI port and cable, no change) I have tried all RPi2 builds from OpenElec 5.95.2 (Kodi 15 Beta 2)
up to and through Millhouse build #0306 with no noticeable improvement.

https://www.dropbox.com/s/30kfddzw09lznz...g.mp4?dl=0
(should be able to adjust backlight+brightness to display all bars as a test)

https://www.dropbox.com/s/utmwnygdq7xgtv...g.mp4?dl=0
(should be able to adjust contrast to display all bars as a test)
Reply

Logout Mark Read Team Forum Stats Members Help
RPi2 Limited color range? White clipping0