Colorspace adjustment

David Harks dave at
Fri Oct 17 16:36:10 PDT 2014


In the proprietary driver, it’s possible to set the colorspace used for output, with 4 possible options on my hardware: YCbCr 4:4:4, YCbCr 2:2:2, RGB Limited, and RGB Full. For a system I’m working on, we have been using the YCbCr 4:4:4 color space for compatibility reasons with some of the devices we output to, and I’d like to get the same feature going on the radeon driver.

From what I’ve read (, this feature isn’t yet part of the radeon driver, but since it seems to be a register setting it may be possible to add. So I took a look at the code in dce5_crtc_load_lut() and modified it to use NI_OUTPUT_CSC_YCBCR_709, compiled, and tried it.

It didn’t seem to change the output at all.

So I grabbed a copy of radeontool, and tried to see if I could inspect the registers to see if my changes were taking effect, but I think I’m missing something because the values I get don’t seem to be what I’d expect:

 avivotool regmatch 0x68f0 # NI_OUTPUT_CSC_CONTROL + radeon_crtc->crtc_offset
0x68f0	0x01000020 (16777248)

I would expect the output to be something with 0x33, since (NI_OUTPUT_CSC_GRPH_MODE(NI_OUTPUT_CSC_YCBCR_709) | NI_OUTPUT_CSC_OVL_MODE(NI_OUTPUT_CSC_YCBCR_709)) should be 0x33.

Is there some other register I might need to touch in order to make these changes take effect? Any pointers to what else I should be looking for?


David Harks <dave at>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the xorg-driver-ati mailing list