A question came up recently with our use of the ADV7612 chip along with the API library. Until now, we have been running the chip with the colour space converter (CSC) enabled as well as auto range with the output format set to full range.
We have an issue whereby we would like to turn off all of the processing performed by the ADV7612 such that the data we receive from the chip represents the exact bits that are on the wire. Starting with a simple case of RGB input to RGB output, full range signal, which I think is the easiest since the CSC likely doesn’t need to be turned off, I found (using a Quantum Data analyzer to monitor the HDMI link, I can get the exact same values out of the ADV7612 as I see on the HDMI link with one exception: This is that the low and high end values are always clipped to 1 and 254 for 8-bit, 4 and 1019 for 10-bit, and 16 and 4079 for 12-bit.
By way of example to clarify, suppose I start with an 8-bit ramp that I can see on the QD analyzer goes from 0 to 255. On the ADV7612, I get values 1, 1, 2, 3, …, 253, 254, 254 instead of the expected 0, 1, 2, 3, …, 253, 254, 255. I have experimented with the registers around CSC manual control as well as output range, but am unable to get the full output range I desire.
Can you therefore please provide a concise list of the required settings that differ from the ADV7612 default values to enable this mode. Is this clipping perhaps a feature of certain output interface pixel modes?