ADV7612 input output color range

Hello.

I use ADV7612 to capture RGB video in DVI mode with no AVI InfoFrame. Video datapath is ADV7612--> FPGA-->Display. Then I use vivado hareware manager to capture the video from ADV7612.

Question:

ADV7612 ouput color is 0x10 less than input color, just like another customer ak100's question "ADV7611 RGB mode: input and output color not matching" at https://ez.analog.com/video/f/q-a/10664/adv7611-rgb-mode-input-and-output-color-not-matching/29900#29900   or VianneyZ's question "ADV7611 RGB Full range when no Infoframe" at https://ez.analog.com/video/f/q-a/6013/adv7611-rgb-full-range-when-no-infoframe .But I don't understand how they solve it. 

Here is my FPGA capture figure:

figure1

About the figure1 above, ADV7612's input is 32 steps gray bar. Figure 1: I set input and output RGB range 0~255, but ADV7612 only output clor 0~239(0xef),and gray 0 last 2 steps. 

figure2

About the figure2 above, ADV7612's input is 32 steps gray bar. Figure 2: I set input and output RGB range 16~235, but ADV7612 only output clor 16~219(0xdb),and gray 16 last 2 steps. 

How shoud I config the ADV7612 registers, so the input and output color can be the same and can be full range 0~255?

Top Replies

Parents
  • 0
    •  Analog Employees 
    on Dec 11, 2019 1:44 PM 11 months ago

    Hi,

     Please make sure below register configuration are configured according to RGB full range,
              ALT _ DATA _ SAT, IO, Address 0x02[0] ---0
              RGB_OUT, 0x02[1] --- 1
              OP_656_RANGE, IO, Address 0x02[2] ---0
              ALT_GAMMA, IO, Address 0x02[3] ---0
              INP_COLOR_SPACE[3:0], IO, Address 0x02[7:4] ---0001

    Note: If your input is RGB in DVI mode, then the output color space should be 0-255.

    Thanks,

    Poornima

  • Hello,thanks for helping!

    Below is my full configuration (except EDID).

    IO REG 0x98,0xf4,0x80, //CEC addr
    IO REG 0x98,0xf5,0x7c, // INFORFRAME addr
    IO REG 0x98,0xf8,0x4c, // DPLL addr
    IO REG 0x98,0xf9,0x64, // KSV addr
    IO REG 0x98,0xfa,0x6c, // EDID addr
    IO REG 0x98,0xfb,0x68, // HDMI addr
    IO REG 0x98,0xfd,0x44, // CP Addr
    IO REG 0x98,0x00,0x06, // VID :free_run SXGA
    IO REG 0x98,0x01,0x05, // PRIM_MODE : free_run v_freq:60hz, PRIM_MODE :HDMI-CP
    IO REG 0x98,0x02,0x12, // RGB_OUT, I also tried 0xf0, 0xf2
    IO REG 0x98,0x03,0x40, // 24-bit 4:4:4 SDR mode;
    IO REG 0x98,0x04,0x62, // 28.6MHz clk,pin select R/G/B
    IO REG 0x98,0x05,0x28, // DE output select; ???
    IO REG 0x98,0x06,0xa6, // Vsyn output ;
    IO REG 0x98,0x0b,0x44, // power up cp,xtal; ???
    IO REG 0x98,0x0c,0x42, // power up chip,control cp core;
    IO REG 0x98,0x14,0x7f, // 4x drive strength
    IO REG 0x98,0x15,0xb0, //
    IO REG 0x98,0x19,0x80, //bit[7] LLC_DLL_EN:1--Enable,0--Disable; bit[4:0] LLC_DLL_PHASE--0
    IO REG 0x98,0x33,0x40 //bit[6] LLC_DLL_MUX:0--bypass,1--Muxes the DLL output on LLC output

    CP REG 0x44,0xba,0x01, //bit0--HDMI_FRUN_EN(1--enable)
    CP REG 0x44,0xbf,0x16, //enable different color output
    CP REG 0x44,0xc0,0x80, // light green
    CP REG 0x44,0xc1,0x0,
    CP REG 0x44,0xc2,0x0,
    //CP REG 0x44,0x52,0x80, // CSC_SCALAR,I also tried this, has no use
    //CP REG 0x44,0x73,0xd0, // I also tried this, has no use
    //CP REG 0x44,0x69,0x14, // bit[4] MAN_CP_CSC_EN,I also tried this, has no use
    //CP REG 0x44,0x68,0x00, // CSC_COEFF_SEL[3:0], I also tried this, has no use
    CP REG 0X44,0xc1,0x01,
    CP REG 0X44,0xc2,0x01,
    CP REG 0X44,0xc3,0x01,
    CP REG 0X44,0xc4,0x01,
    CP REG 0X44,0xc5,0x01,
    CP REG 0X44,0xc6,0x01,
    CP REG 0X44,0xc7,0x01,
    CP REG 0X44,0xc8,0x01,
    CP REG 0X44,0xc9,0x01,
    CP REG 0X44,0xca,0x01,
    CP REG 0X44,0xcb,0x01,
    CP REG 0X44,0xcc,0x01

    KSV REG 0x64,0x40,0x81 // Dsiable HDCP1.1 features

    HDMI REG 0x68,0x9b,0x03,
    HDMI REG 0x68,0x00,0x08, // [3:0]-- 1000: PORT A;0001:PROT B
    HDMI REG 0x68,0x02,0x03,
    HDMI REG 0x68,0x48,0x40,
    HDMI REG 0x68,0x83,0xfc, // CLOCK_TERMA_DISABLE/CLOCK_TERMB_DISABLE:enable
    HDMI REG 0x68,0x6f,0x0c,
    HDMI REG 0x68,0x85,0x1f,
    HDMI REG 0x68,0x87,0x70,
    HDMI REG 0x68,0x57,0xda,
    HDMI REG 0x68,0x58,0x01,
    HDMI REG 0x68,0x03,0x98,
    HDMI REG 0x68,0x4c,0x44,
    HDMI REG 0x68,0x75,0x10,
    HDMI REG 0x68,0x1a,0x8a,
    HDMI REG 0x68,0x8d,0x04,
    HDMI REG 0x68,0x8e,0x1e,
    HDMI REG 0x68,0x90,0x04,
    HDMI REG 0x68,0x91,0x1e,
    HDMI REG 0x68,0x96,0x01,
    HDMI REG 0x68,0x47,0x06,
    HDMI REG 0x68,0x6c,0xa4

    Some configuration I read back is:
    CP REG 0x44,0xF4 is 0x0 // CSC is bypassed whenever CSC is auto or manually
    IO REG 0x98,0x60 is 0x0 // no AVI infoframe
    HDMI REG 0x68,0x05 bit[7] is 0 // DVI Mode Detected
    HDMI REG 0x68,0x53 is 0x0 // colorspace in AVI infoframe is RGB_LIMITED
    HDMI REG 0x68,0x47 is 0x0 // I set this to 0x6, but readback is 0x0

    Can you check it?

    Thanks.

  • +1
    •  Analog Employees 
    on Dec 13, 2019 2:39 PM 11 months ago in reply to EngineerP

    Hi,

     Please crosscheck with below attached reference script for DVI In and DVI Out.

     

    DVI_In_DVI_Out.txt
    Script to configure the ADV7610 and the ADV7511 on the EVAL-ADV7610EBZ:
    
    :6-1f Port A 1080p60 DVI in, RGB444 to ADV7511, DVI out:
    
    98 FF 80 ; I2C reset
    
    98 F4 80 ; CEC
    
    98 F5 7C ; INFOFRAME
    
    98 F8 4C ; DPLL
    
    98 F9 64 ; KSV
    
    98 FA 6C ; EDID
    
    98 FB 68 ; HDMI
    
    98 FD 44 ; CP
    
    98 01 06 ; Prim_Mode =110b HDMI-GR
    
    98 02 F7 ; Auto CSC, RGB out, bit description is incorrect
    
    98 03 40 ; 24 bit SDR 444 Mode 0
    
    98 05 28 ; AV Codes Off
    
    98 06 A6 ; Invert VS,HS pins
    
    98 0B 44 ; Power up part
    
    98 0C 42 ; Power up part
    
    98 14 3F ; Max Drive Strength
    
    98 15 80 ; Disable Tristate of Pins
    
    98 19 83 ; LLC DLL phase
    
    98 33 40 ; LLC DLL enable
    
    44 BA 01 ; Set HDMI FreeRun
    
    64 40 81 ; Disable HDCP 1.1 features
    
    68 9B 03 ; ADI recommended setting
    
    68 C1 01 ; ADI recommended setting
    
    68 C2 01 ; ADI recommended setting
    
    68 C3 01 ; ADI recommended setting
    
    68 C4 01 ; ADI recommended setting
    
    68 C5 01 ; ADI recommended setting
    
    68 C6 01 ; ADI recommended setting
    
    68 C7 01 ; ADI recommended setting
    
    68 C8 01 ; ADI recommended setting
    
    68 C9 01 ; ADI recommended setting
    
    68 CA 01 ; ADI recommended setting
    
    68 CB 01 ; ADI recommended setting
    
    68 CC 01 ; ADI recommended setting
    
    68 00 00 ; Set HDMI Input Port A
    
    68 83 FE ; Enable clock terminator for port A
    
    68 6F 08 ; ADI recommended setting
    
    68 85 1F ; ADI recommended setting
    
    68 87 70 ; ADI recommended setting
    
    68 8D 04 ; LFG
    
    68 8E 1E ; HFG
    
    68 1A 8A ; unmute audio
    
    68 57 DA ; ADI recommended setting
    
    68 58 01 ; ADI recommended setting
    
    68 75 10 ; DDC drive strength
    
    72 01 00 ; Set N Value(6144)
    
    72 02 18 ; Set N Value(6144)
    
    72 03 00 ; Set N Value(6144)
    
    72 15 00 ; 24-bit, 444 YPrPb input
    
    72 16 60 ; YPrPb 444
    
    72 18 46 ; CSC disabled
    
    72 40 80 ; General Control packet enable
    
    72 41 10 ; Power down control
    
    72 48 08 ; Data right justified
    
    72 49 A8 ; Set Dither_mode - 12-to-10 bit
    
    72 4C 00 ; 8 bit Output
    
    72 55 00 ; Set RGB in AVinfo Frame
    
    72 56 08 ; Set active format Aspect
    
    72 96 20 ; HPD Interrupt clear
    
    72 98 03 ; ADI Recommended Write
    
    72 99 02 ; ADI Recommended Write
    
    72 9C 30 ; PLL Filter R1 Value
    
    72 9D 61 ; Set clock divide
    
    72 A2 A4 ; ADI Recommended Write
    
    72 A3 A4 ; ADI Recommended Write
    
    72 A5 44 ; ADI Recommended Write
    
    72 AB 40 ; ADI Recommended Write
    
    72 AF 16 ; Set HDMI Mode
    
    72 BA 60 ; No clock delay
    
    72 D1 FF ; ADI Recommended Write
    
    72 DE 9C ; ADI Recommended Write
    
    72 E4 60 ; VCO_Swing_Reference_Voltage
    
    72 FA 7D ; Nbr of times to search for good phase

      

    Thanks,

    Poornima

  • Hi,

    Sorry I come back so late.I have test my board with your configration and the DVI out is same with DVI in.

    I still have two question about IO reg 0x2.

    1.whats the differents between IO reg config as 0xF7 and 0xF2?I thought ALT_DATA_SAT only reverses OP_656_RANGE decision, so ALT_DATA_SAT=0 and OP_656_RANGE=0 is same with ALT_DATA_SAT=1 and OP_656_RANGE=1, but it is not, why?

    2,My DVI input is RGB full range. When I set IO reg 0x2 as 0x17, DVI out is not full range,set 0x2 as 0x07 or 0xf7, DVI out is full range. Is adv7612 manual about INP_COLOR_SPACE wrong?

    Thanks.

  • 0
    •  Analog Employees 
    on Dec 30, 2019 1:26 PM 10 months ago in reply to EngineerP

    Hi,

     The same behaviour is observed for HDMI IN/OUT also ?

    Thanks,

    Poornima

  • Hi,

    I don't have HDMI input  interface board so I can't test HDMI IN/OUT.

    With DVI IN/OUT, I got different result when  IO REG 0x2 config as 0xF7 and 0xF2. 0xF7 is full range. I can't understand the diferent.

    Also I don't understand UG216 Table51 "Analog modes", dose it consist DVI mode?

    Thanks for your help.

  • 0
    •  Analog Employees 
    on Jan 6, 2020 2:30 PM 10 months ago in reply to EngineerP

    Hi,

      0xF2, 0xF7 -  Auto CSC, RGB out, Enables full range output (both setting are only used for full range output). DVI is usually full range of 0-255.

      Output color space is determined the control bit OP_656_RANGE.
         ALT_DATA_SAT - A control to disable the data saturater that limits the output range independently of OP_656_RANGE. This bit is used to support extended data range modes.
       OP_656_RANGE - A control to set the output range of the digital data
     Note : If your input is full range means (0 to 255) -OP_656_RANGE bit is 0 its output is full range
          If your input is limited range means (0 to 235) -OP_656_RANGE bit is 0 its output is also full range

    Thanks,

    Poornima

Reply
  • 0
    •  Analog Employees 
    on Jan 6, 2020 2:30 PM 10 months ago in reply to EngineerP

    Hi,

      0xF2, 0xF7 -  Auto CSC, RGB out, Enables full range output (both setting are only used for full range output). DVI is usually full range of 0-255.

      Output color space is determined the control bit OP_656_RANGE.
         ALT_DATA_SAT - A control to disable the data saturater that limits the output range independently of OP_656_RANGE. This bit is used to support extended data range modes.
       OP_656_RANGE - A control to set the output range of the digital data
     Note : If your input is full range means (0 to 255) -OP_656_RANGE bit is 0 its output is full range
          If your input is limited range means (0 to 235) -OP_656_RANGE bit is 0 its output is also full range

    Thanks,

    Poornima

Children
No Data