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.

VPBE bit to bit map for LCD display

We are using a VGA size LCD display on a DM6446-based board with stock LogicPD driver.  When test the screen by writing 16-bit (RGB565) color values directly to frame buffer, we find the values are different than those measured from LCD input:

colour    [R5:R0][G5:G0][B5:B0]
0xffff => 11101X 111011 11101X
0x0000 => 00000X 000000 00000X
0x39c7 => 00100X 001001 00100X
0x07e0 => 00000X 111010 00000X
0x0400 => 00000X 011100 00000X
0x0200 => 00000X 001100 00000X
0x0100 => 00000X 000011 00000X
0x0080 => 00000X 000001 00000X
0x0040 => 00000X 000001 00000X
0x0020 => 00000X 000000 00000X


The X is because B0 and R0 are configured for PWM1/2 and not as B0/R0. Is it possible to bypass all the VPBE conversions and send the same bits in frame buffer to LCD?

  • Hi David,

    To summarize what you meant:

    data output from the VPBE pins doesn't match value in the memory buffer. data in memory buffer is RGB565, and data output mode is also RGB565. Because there is internal color space conversion to YUV from RGB, which might have caused this difference, you want to know whether this conversion can be bypassed.

    Please correct me if I misunderstood you.

    Unfortunately, this conversion cannot be bypassed. Are you sure this is due to the conversion though? BTW, you are using OSDWIN0 in this case? Why do you need the value to be exactly identical?

     

  • Paul, thanks for your reply and the better descripiton of the issue.  Yes, we use fb0 (OSDWIN0).  Actually, we are doing the LCD color tuning and notice the gray level output is not exactly same as we expect (see on computer monitor), so we check the input (framebuffer) and output (LCD pins), which are both RGB, and find the differences.  The difference is quite noticeable in the color testing but kind of ok in picture playback.  If there is no way to make a bit to bit copy, how much difference should we expect made by the VPBE engine?  Is there any way/parameters to compensate it?

  • I will let design team commenting on the amount of difference and whether there is any setting we cdan use to compensate this.