SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The antiflicker filter processes the graphics data to remove some of the vertical flicker. It is based on a 3-tap FIR filter with fixed coefficients. For each pixel to be output from the graphics pipeline, the pixel above and below the current line must be read from the DMA graphics FIFO. Therefore, three lines of pixels must be stored in the DMA graphics FIFO.
The antiflickering equations for A, R, G, and B components are:
Aout(x,y) = 0.25 × Ain(x,y – 1) + 0.5 × Ain(x,y) + 0.25 × Ain(x,y + 1)
Rout(x,y) = 0.25 × Rin(x,y – 1) + 0.5 × Rin(x,y) + 0.25 × Rin(x,y + 1)
Gout(x,y) = 0.25 × Gin(x,y – 1) + 0.5 × Gin(x,y) + 0.25 × Gin(x,y + 1)
Bout(x,y) = 0.25 × Bin(x,y – 1) + 0.5 × Bin(x,y) + 0.25 × Bin(x,y + 1)
For the first line of processing, because there is no pixel above, the value (x,y) is duplicated.
Out(x,y) = 0.25 × In(x,y) + 0.5 × In(x,y) + 0.25 × In(x,y + 1)
For the last line of processing, because there is no pixel below, the value (x,y) is duplicated.
Out(x,y) = 0.25 × In(x,y–1) + 0.5 × In(x,y) + 0.25 × In(x,y)
Antiflicker filtering is supported only in RGB formats.
Antiflickering is not supported for pictures with fewer than two lines. In this case, the user must disable the antiflickering processing.
By default, the antiflicker filtering is disabled. It can be enabled by setting the DISPC_GFX_ATTRIBUTES[24] ANTIFLICKER bit to 0x1.