Post Go back to editing

[ADV7482] How to use CP_BRIGHTNESS[7:0] in RGB output mode?

Hi

My customer would like to adjust CP_BRIGHTNESS register in ADV7482 in RGB output mode.

But unfortunately it does not work well.

If set 0x3C(CP_BRIGHTNESS) = 0x14, whole image was getting green when original image was gray scale.

brightness should affects only luminance, not color.

I also found similar Question on this EZ below.

https://ez.analog.com/video/f/q-a/7957/adv7610-in-auto-mode-for-video-adjustment/13207#13207

but a conclusion of this post was not solved its problem.

CP_MODE_GAIN_ADJ will work like contrast, NOT brightness. (black level is not changed with CP_MODE_GAIN_ADJ)

My customer would like to know how to adjust brightness in RGB output mode.]

I checked all registers in CP block but there is no solution. 

Would you please advise me?

Customer's Condition:

 Input format YPbPr 709

 Output format RGB

 csc_coeff_sel[3:0]=1111:CP CSC configured in automatic mode.

 vid_adj_en=1:Enable color controls

 cp_inp_color_space[3:0]=1111:In HDMI/MHL mode, input color space depends on color space reported by HDMI/MHL block.

 cp_rgb_out=1:RGB color space output

 csc_coeff_sel_rb[3:0]=0011:YPbPr 709 to RGB

Thanks, 

BR

Nishimoto.

Parents
  • Hi,

     By configuring the OP_656_RANGE between 0 & 1, We can increase or decrease the brightness.
     For example:
      By setting "OP_656_RANGE to 0" and the display appears full brightness.
      To reduce the brightness, Set "OP_656_RANGE to 1".

    Please note, As per expert comment "The rule of thumb is to use GAIN ADJ for RGB streams and BRIGHTNESS for YPbPr stream. 

    Also ADV7511 must be set to the right AVI infoframe type so the monitor knows what it's working with.

    Thanks,

    Poornima

  • Hi PoornimaSubramani-san,

    Thank you for your reply.

    My understanding is below figure. is this correct?

    Their requirement is adjusting just "OFFSET"(both positive offset and negative offset) for luminance, not SLOPING or CLIPPING.

    Unfortunately I think both OP_656_RANGE and GAIN ADJ registers can not adjust offset.

    And I think to adjust offset for luminance in RGB domain, it has to adjust offset to R, G and B with same offset value.

    Do you have any other work around ?

    >Please note, As per expert comment "The rule of thumb is to use GAIN ADJ for RGB streams and BRIGHTNESS for YPbPr stream. 

    You mentioned that ADV748x CP_BRIGHTNESS can not support to offset for RGB stream? Really? 

    I could not find any description regarding above in your Hardware manual and Data sheet. 

    Customer also said CP_CONTRAST, CP_SATURATION and CP_HUE are working correct even in RGB output mode.

    Strangely, only CP_BRIGHTNESS doesn't work.

    maybe there is some hidden registers to use CP_BRIGHTNESS in RGB output mode...

    Do you have any idea?

    Thanks,

    Nishimoto.

Reply
  • Hi PoornimaSubramani-san,

    Thank you for your reply.

    My understanding is below figure. is this correct?

    Their requirement is adjusting just "OFFSET"(both positive offset and negative offset) for luminance, not SLOPING or CLIPPING.

    Unfortunately I think both OP_656_RANGE and GAIN ADJ registers can not adjust offset.

    And I think to adjust offset for luminance in RGB domain, it has to adjust offset to R, G and B with same offset value.

    Do you have any other work around ?

    >Please note, As per expert comment "The rule of thumb is to use GAIN ADJ for RGB streams and BRIGHTNESS for YPbPr stream. 

    You mentioned that ADV748x CP_BRIGHTNESS can not support to offset for RGB stream? Really? 

    I could not find any description regarding above in your Hardware manual and Data sheet. 

    Customer also said CP_CONTRAST, CP_SATURATION and CP_HUE are working correct even in RGB output mode.

    Strangely, only CP_BRIGHTNESS doesn't work.

    maybe there is some hidden registers to use CP_BRIGHTNESS in RGB output mode...

    Do you have any idea?

    Thanks,

    Nishimoto.

Children
  • Hi,

      By using "CP_OP_656_RANGE" setting you can able to see the luminance difference.

       When CP_OP_656_RANGE is set to 0, you can measure a Y value near 255 on the MIPI analyzer. When CP_OP_656_RANGE is set to 1, you can measure a Y value of 235 on the MIPI analyzer.

      For that ensure your source device whether RGB limited or full range is coming from the source.

      Please note, If you put an HDMI signal with component values within 16 and 235, then you will not see any difference when setting 'CP_OP_656_RANGE' between 0 & 1.   

    >Please note, As per expert comment "The rule of thumb is to use GAIN ADJ for RGB streams and BRIGHTNESS for YPbPr stream. 

         Please refer expert comment here for above statement https://ez.analog.com/video/f/q-a/12096/brightness-adjustment-on-adv7842-adv7511-eval-kit/35527#35527

    Thanks,

    Poornima

  • Hi

    I had referred expert comment. 

    An effect of GAIN ADJ is different from BRIGHTNESS control, GAIN ADJ can't be work around of BRIGHTNESS in RGB output mode.

    It is disappointing...  

    https://ez.analog.com/video/f/q-a/12096/brightness-adjustment-on-adv7842-adv7511-eval-kit/35527#35527

    Let me confirm for my understanding.

    ADV7482 does NOT work BRIGHTNESS control in RGB output mode, it's only in YPbPr domain.

    Is this right?

    As Jeff mentioned before, I would suggest your documents needs to update to reflect how CP block does work , too.

    I could not find its explanation on your document.

    Nishimoto.

  • Hi.

    As Jeff suggested, Please try to do the CP CSC for brightness and contrast adjustments for RGB output mode Instead of doing "GAIN ADJ"

    Please refer the CSC operation section in ADV7482 manuals.

    adv78xx_sdp_csc_conversions.zip

    Thanks,

    Poornima

  • Hi Poornima-san,

    I could not understand your advice...

    adv78xx_sdp_csc_coversions.zip is for SDP block.

    I'm asking you regarding HDMI CP CSC block.

    and I tried GAIN ADJ but it is not adjust OFFSET of Video stream...

    Anyway, My customer want to adjust its OFFSET.

    I found A_OFFSET (0x77[5:0],0x78[[7:4]) which can adjust OFFSET for A channel before Color Space Convert block on ADV7611 register map.

    is this available for ADV7482?

    Thanks

    Nishimoto.

  • Hi Hirotaka San,

           Please let me know, are you asking about below configuration registers of CP CSC block for Channel A,B,C.

            a4[12:0]  0x52 [4:0], 0x53 [7:0] 0x000 Offset for channel A
            b4[12:0]  0x59 [4:0], 0x5A [7:0] 0x000 Offset for channel B
            c4[12:0]  0x60 [4:0],  0x61 [7:0]  0x000 Offset for channel C  

    Please note the main inputs labeled In_A, In_B, and In_C come from the HDMI/MHL section & each input to the individual channels to the CP CSC is multiplied by a separate coefficient for each channel.
    The user may manually program the CSC using the coefficients outlined in Table 72 (ADV748x_HardwareManual.Pdf)

    Thanks,

    Poornima

  • Hi Poornima-san

    Thank you for your reply.

    >Please let me know, are you asking about below configuration registers of CP CSC block for Channel A,B,C.

    No. I'm not.

    My understanding is it is impossible to adjust offset for NEGATIVE with a4, b4 and c4.

    is this right?

    Customer hope to adjust offset both positive and negative like CP_BRIGHTNESS. 

    In addition, a4, b4 and c4 in CP CSC block requires manual CSC control.

    it makes customers software complex.

    Do you have any other work around for adjusting offset?

    Does A_OFFSET described on ADV76xx HW manuals work on ADV7482?

    we would like to try A_OFFSET.

    On ADV7482 HW manual, there is no description regarding A_OFFSET.

    Thanks

    Nishimoto.

  • Hi,

    My understanding is it is impossible to adjust offset for NEGATIVE with a4, b4 and c4.

    is this right?

       When referring the hardware manual it seems(Page 188), the coefficients can only be programmed in the range [-0.99 … +0.99] - Range is between positive and negative.

     Does A_OFFSET described on ADV76xx HW manuals work on ADV7482 ?

       These register settings are described in ADV7482 user guide.

    Thanks,

    Poornima