SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Each LCD output supports a look up table to perform gamma correction on the display output.
Figure 13-79 shows the internal architecture of the gamma table for LCD1 output.
The gamma table is split into three memories of 256 × 8-bit entries and indexed by the R/G/B component data.
When performing gamma correction, the selected encoded pixel values based on the color keys by the overlay manager from the video or graphics paths are sent to the gamma curve table. Each component of encoded pixel value is used as a pointer to index 1 out of 256 × 24-bit gamma curve entries in the table. Each 8-bit component is replaced with the 8-bit table value corresponding to R, G, or B component. The table is loaded by software. It is possible to load only part of the table. For each access to the table, the 24-bit value is associated with index in the table by concatenating the 24-bit value (LSB of 32-bit access) and the 8-bit index value (MSB of the 32-bit access).
The sequence to load the gamma table is:
SW needs to ensure that there is no visible effect when modifying the table, since it is not under HW control.
For LCD1 output the usage of the gamma table is activated by setting DISPC_CONFIG1[3] PALETTEGAMMATABLE register bit to 0x1.
For LCD2 and LCD3 outputs, the associated gamma tables are enabled by setting DISPC_CONFIG1[9] GAMATABLEENABLE register bit to 0x1.
Figure 13-80 describes the format of one of the gamma curve values in the memory.