[Intel-gfx] HDMI colour space and depth questions (YCbCr, xvYCC, Deep Colour)

Kennet B├Ąckman kennet.backman at gmail.com
Mon Apr 9 02:18:36 CEST 2012

Paul Owen <paul <at> starstreak.net> writes:

> intel_reg_read 0x70008 (PIPEACONF): 0xC0000000 / bits 26 and 13 aren't set
> intel_reg_read 0x70180 (DSPACNTR) : 0xD8004400 / bit 25 isn't set
> intel_reg_write 0x70008 0xC4002000
> intel_reg_write 0x70180 0xDA004400
> Seems to have the desired effect - that is video seems to have the
> correct colour range - this is by eye since my TV doesn't seem to
> report the actual input range anywhere. Running just the first command
> seems to raise the brightness/decrease the contrast (or just raise
> gamma - not sure) - the second brings it back down - so both as you
> say are needed. Changing refresh seems to knock out the effect of the
> second command. Re-running that second command fixes it once more.
> I've posted on the XBMC forum in the hope others can try this to see
> what effect it has.

Hello. I have been playing around with these registers and the steps above do
not work for me. However, I found a slightly different way to change the color
range that works for me. Bit 13 (e.g. color range select) needs to be set and
also the enable-bit must be toggled for change to take effect.

Write-sequence to change from full range:
intel_reg_write 0x70008 0x40002000 (disable)
intel_reg_write 0x70008 0xC0002000 (enable again)

And to go back to full range:
intel_reg_write 0x70008 0x40000000 (disable)
intel_reg_write 0x70008 0xC0000000 (enable with full color range)

Be aware that the console goes black when the pipe is disabled. The best is
perhaps to test this via a remote connection.

Hopefully this will be of use to others as well.

By the way. There is a test pattern in XBMC that can be used to verify that this
works. It's the one with black and white rectangles and flashing circles. If you
can see all 4 flashing circles (2 white and 2 black) you have a good setting.


More information about the Intel-gfx mailing list