Post Go back to editing

ADV7610 in auto mode for video adjustment.

Hi,

In my application I get HDMI from PC graphics card.

Everythig is fine untill I try to use CP CSC in Auto mode for Video Adjustment (brightness, contrast etc).

When Video Adjustment is enabled through CP,(0x3E), attempt to control brightness causes wrong colors in output.

Here is my setup:

IO,(0x02) = 0xF2

output color space = RGB

input color space = color space reported by HDMI block

IO,(0x03) = 0x40

data format and pixel bus configuration = 24 bit 4:4:4 SDR mode.

CP,(0x68) = 0xF0

CP is configured in automatic mode

CP,(0x3E) = 0x80

Video Adjustment Enable

Reading HDMI,(0x53) I get RGB_FULL code for color space sent to DPP and CP.

It's said "By default the CP CSC will be automatically enabled in the case that either a color-space

conversion or video-adjustments... " So I believe that CP is ON for Video Adjustments

But, when I read CSC_COEFF_SEL_RB[3:0] CP,(0xF4) I get code 0001 which is  YPbPr 601 to RGB

This is correlated to what I observe when trying to adjust brightness - looks like CP treats input as YPbPr, not as RGB.

Attempt to force input color space to RGB Full IO,(0x02) = 0x12 gives the same result.

Also I can not find correct code from the list of RB codes which corresponds to my case - No color conversion but video adjustment.

Perhaps something wrong in my understnading, please help.

P.S.

In the script I found following : 98 02 F5 ; Auto CSC, RGB out, Set op_656 bit

but RGB_OUT is bit 1 in IO_REG_02

Thank you.

Parents
  • Hi Matt,

    CP_BRIGHTNESS[7:0] Address CP, 0x3C

    My script for ADV 7610 is like this:

    98 FB 68 ; HDMI

    98 FD 44 ; CP

    98 01 05 ; Prim_Mode =101b HDMI-GR

    98 02 F2 ; Auto CSC, RGB out

    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 40 ; Power up part

    98 14 6E ; Max Drive Strength

    98 15 80 ; Disable Tristate of Pins

    68 00 00 ; Set HDMI Input Port A

    68 83 FE ; Enable clock terminator for port A

    44 BA 00 ; Disable HDMI FreeRun

    44 68 F0 ; CP CSC configured in automatic mode

    44 3E 80, Video Adjustment Enable

    So, when I adjust brightness with 0x3C register with either of input (RGB or YCbCr) - I have green tint on RGB output.

    When I try to adjust brightness with RGB input using CP_MODE_GAIN_ADJ like you suggested  - there is no green tint, but it looks like contrast adjustment, not brightness (black level is not changed).

Reply
  • Hi Matt,

    CP_BRIGHTNESS[7:0] Address CP, 0x3C

    My script for ADV 7610 is like this:

    98 FB 68 ; HDMI

    98 FD 44 ; CP

    98 01 05 ; Prim_Mode =101b HDMI-GR

    98 02 F2 ; Auto CSC, RGB out

    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 40 ; Power up part

    98 14 6E ; Max Drive Strength

    98 15 80 ; Disable Tristate of Pins

    68 00 00 ; Set HDMI Input Port A

    68 83 FE ; Enable clock terminator for port A

    44 BA 00 ; Disable HDMI FreeRun

    44 68 F0 ; CP CSC configured in automatic mode

    44 3E 80, Video Adjustment Enable

    So, when I adjust brightness with 0x3C register with either of input (RGB or YCbCr) - I have green tint on RGB output.

    When I try to adjust brightness with RGB input using CP_MODE_GAIN_ADJ like you suggested  - there is no green tint, but it looks like contrast adjustment, not brightness (black level is not changed).

Children
No Data