SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The averaging filter acts as an anti-aliasing low-pass filter for the horizontal pixel decimator. Usually, when horizontal pixel decimation is enabled (IPIPEIF_CFG1[1] DECIM), the averaging filter must also be enabled to avoid aliasing artifacts. The averaging filter can be enabled by setting the IPIPEIF_CFG1[7] AVGFILT bit. It operates on every other pixel (same color) in RAW Bayer input or every Y component in YCbCr data in the following equation:
output = (input[i – 1] + 2 × input[i] + input[i + 1]) >> 2
The averaging filter operates on every other pixel (same color) in RAW Bayer input or YUV data.
If the data is YUV4:2:2, the option to average and decimate is given under the conditions listed in Table 9-178.
IPIPEIF_CFG1[3:2] INPSRC2 | IPIPEIF_CFG2[3] YUV16 | Comments |
---|---|---|
0 | 1 | YUV4:2:2 data is coming from the ISIF module. Averager and decimation is possible on the data path to the IPIPE module. |
1 | 1 | YUV4:2:2 data is read from SDRAM. Averager and decimation is possible on the data path to the IPIPE module. |
3 | YUV4:2:2 data is read from SDRAM. Averager and decimation is possible on the data path to the IPIPE module. | |
Other value | Other value | For YUV4:2:2 data, averager and decimation is not possible on the data path to the IPIPE module. |
The averager implements a (1, 2, 1) FIR filter on Luma and Chroma. The following registers have a part in the behavior of the YUV data averaging and decimation: