AnsweredAssumed Answered

Bit-perfect transfer from ADV7511 to ADV7611

Question asked by milosoftware on Oct 10, 2017
Latest reply on Oct 16, 2017 by larsc

We have ADV7511 and ADV7611 on a board, connected to a Zynq module. Both have a 24-bit bus.

 

What I'm trying to accomplish is a bit-perfect loopback using these chips, so I connected a HDMI cable from the output to the input.

 

If I capture frames, the result is reasonably close, but not perfect.

 

There's some color model scaling happening. For a black screen, the "adi_axi_hdmi" block sends out a "0x101010" pattern. For a fully white screen it's "0xf0ebf0". So apparently the RGB colors are mapped in a 0x10..0xF0 range (except green which seems to get a slightly smaller range?) which is something well known from the analog days.

 

I found the adi_axi_hdmi IP has a AXI_HDMI_CTRL_FULL_RANGE bit in the control register at offset 0x44, but it doesn't have any effect and it also does not "stick". The bit is reset if I read it back, i.e.

 

# devmem 0xa0030044 32 0x7
# devmem 0xa0030044

0x00000005

 

On the monitor it's also noticable that "black" is not completely dark but slightly lighter than when there's no input. Is there a way to make the HDMI output use the full range?

 

 

Another thing is that some pixels have errors. So of the 2 million grabbed pixels, about a 100 are way off.

Outcomes