SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The CPR unit can be used to correct the LCD output colorimetry in case of nonpure white backlight.
The CPR is enabled by setting the DISPC_CONFIGo[15] CPR bit to 0x1. The coefficients are programmed in the following registers:
The CPR can be selected for active matrix panel. The logic is integrated after the LCD overlay manager and the gamma correction, and before the spatial/temporal dithering. The CPR can be selected to correct the nonpure white backlight of the LCD module by using a programmable matrix to convert the 24-bit RGB pixel value into a new 24-bit RGB pixel value. The matrix is programmed through a set of nine 10-bit signed coefficients. The output of the calculation is clipped to [0:255]. The CPR is processed by the equation shown in Figure 11-81. Table 11-85 lists all coefficients with their respective bit field registers for settings.
Registers | Bit Field | Color Phase Rotation | RGB to YUV |
---|---|---|---|
DISPC_CPRo_COEF_R | RR | Rr | Yr |
RG | Rg | Yg | |
RB | Rb | Yb | |
DISPC_CPRo_COEF_G | GR | Gr | Cbr |
GG | Gg | Cbg | |
GB | Gb | Cbb | |
DISPC_CPRo_COEF_B | BR | Br | Crr |
BG | Bg | Crg | |
BB | Bb | Crb |
Figure 11-82 shows the CPR macro-architecture.
CPR is kept as 8 bit output. For the optional 10 bit BT.656-4 format, zero is simply added as 2 LSBs.