This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Parallel RGB666 output for LCD on DM6446

I have configured my video window1 to accept 16bits per pixel in YUV4:2:2 format. The image to be displayed doesnt have any colour components and is a grayscale image. My capture driver accepts 8 bit grayscale data only. I manipulate to make it in YUV4:2:2 format by copying 0x80 in place of U and V data and on my composite video driven CRT  display, i get a grayscale image.

The same system has to now support image on a Digital LCD which takes RGB666 format as input. I didnt do any change on the number of pixels and my manipulation of converting 8-bit grayscale to 16bit YUV4:2:2 data continues here also. But i am getting colour shades of yellow and green on the displayed image on the digital LCD.I am suspecting on whether the VPBE would be able to convert 16bit YUV4:2:2 data to RGB666 digital output or not. Please help me to resolve this.

 

 

  • Hi,

    I am not sure if I've understood your 2nd paragraph.

    1. Your input is RGB666 now (and this is pure gray color, so RGB should be equal?)

    2. Why do you still have 8-bit gray scale here?

    3. If your video is on VID0, YUV422 gets upconverted to YUV444 in OSD, then convert to RGB666 if you choose so.

  • Hi,

    I am not sure if I've understood your 2nd paragraph.

    1. Your input is RGB666 now (and this is pure gray color, so RGB should be equal?)

    2. Why do you still have 8-bit gray scale here?

    3. If your video is on VID0, YUV422 gets upconverted to YUV444 in OSD, then convert to RGB666 if you choose so.

  • Hi Paul,

    I will try to make it more clear for you.

    I am using Video Window 1 for displaying a grayscale image. The video window is configured for accepting YUV4:2:2 interleaved data.Each pixel is 16-bits wide in the SDRAM. I have only luminance (Y) data from the capture side and so for storing the data in YUV4:2:2 format in the SDRAM, i fill the U and V components with 0x80 so that i get a grayscale image on the display device. I was getting a grayscale image on my composite video driven CRT monitor. But with an RGB666 driven digital LCD display, i am not getting an exactly grayscale image. Some shades of chroma gets in to the image and makes it non-grayscale.I hope, this would clarify your queries.Please help me to solve the issue.

     

     

  • Shiras,

    Thank you for the clarification. I understand now.

    I suspect this is due to the finite precision YUV to RGB conversion.

    Could you please do one thing, output in YUV mode instead of RGB mode, and let me konw whether you are able to see the correct chroma vlaue.

     

     

  • Hi Paul,

    [I suspect this is due to the finite precision YUV to RGB conversion.] Is there a way to correct it through any register configurations?

    [Could you please do one thing, output in YUV mode instead of RGB mode] In Digital display interface, other than Parallel RGB,8 and 16 bit versions of YCbCr output mode is supported.I think this is the one you have asked me to do?But my Digital LCD device supports only RGB666 input and so i have to configure VPBE for RGB666 format output. I dont think the display would work on YCbCr output from VPBE.It may need a YcbCr input supported Digital LCD, which i dont have. Is there any other way to test this, other than by seeing it on a display device?

    [and let me konw whether you are able to see the correct chroma vlaue] I dont need chroma values to be evident on the display. I just need to get a grayscale image on the digital LCD without any chroma shades.

  • I will ask design for SW workarounds.

    For YUV mode, I am not asking to you to display. I was suggesting that you use a logic analyzer to capture the luma/chroma data.

  • Do you think the problem is related to RGB conversion mentioned in section 4.4.4.7.1 of DM6446 VPBE user guide(SPRUE37C)? If i play around the contents of registers DRGBX0-DRGBX4, will it help?Currently for RGB conversion,VPBE is using the default values of DRGBX0-DRGBX4 registers.Which are the situations when the user have to play around these values?

  • Hi Paul,

    I am taking RGB666 pins (at 1.8V level) from the VPBE and level converting it to 3.3V level and then passing it to the TI part-TFP410PAP for converting RGB signals to DVI signals and this drives my LCD display. I have previously told that my LCD is driven directly by RGB666 signals. This is not correct.it is driven by DVI signals from the TFP410PAP chip.

    Do you think something can go wrong while signals get converted in TFP410PAP chip?

    I had one more observation, when i write 0x10 to Y and 0x80 to U and V, i get a black colour on the display. When i write 0x7F to Y and 0x80 to U and V,i get a a yellowish colour on the display.

    Also, i had a look at the YUV to RGB conversion matrix equation at section 6.2.56 (DRGBX0 register description) in the DM6446 VPBE user guide(SPRUE37C). I had put the above Y,U and V values in this equation( keeping default coefficient values) and the resulting RGB combination is giving a different colour than what is observed on the display.

    For example, if i put 0x7F for Y and 0x80 for U and V, with the default cofficient values, i am getting a value of 111 for R,G and B which would give a grey shade.But what is observed on the LCD is a yellowish shade for these YUV values. 

    Is something striking you with this observation?

  • Hi Paul,
    This problem is resolved now. It was due to the pull down resistor value of pins - COUT3/DSP_BT( for making ARM boots DSP) and COUT1/BTSEL1 ( for making BOOT from EMIFA). It was pulled down with a 33 ohms resistor and when it was replaced with 1K, the problem got resolved.The same pins are used to output some RGB bits after bootup.
    Thanks for the support.
  • Thank you for the update Shiras