6.2.6.13.3 Vertical Scaler
LCDC_HEOCFG4.YMEMSIZE indicates the vertical size minus one of the image in the system memory. LCDC_HEOCFG3.YSIZE contains the vertical size minus one of the window.
For the YCbCr upsampling process, the vertical scaler is composed of two channels. The first channel processes A and Y components (alpha/luma), the second channel processes Cb and Cr (chroma). This allows different scaling configurations for both channels. In modes other than YCbCr 4:2:2 or YCbCr 4:2:0, both channels must be configured similarly to preserve image integrity.
LCDC_HEOCFG23.VXSYEN LCDC_HEOCFG23.VXSCEN, respectively for Alpha/Luma and chroma channels, are used to activate the scaler. The scaling factors are programmed in LCDC_HEOCFG24.VXSYFACT and LCDC_HEOCFG25.VXSCFACT, respectively for alpha/luma and chroma channels.
Use the following equation to calculate the VFACTOR value:
The VXSYFACT and VXSCFACT fields values are 24 bits wide (4-bit integer part, 20-bit fractional part), hence the vertical downsampling capacity is limited to 16.0.
When YCbCr 4:2:0 formats are used with resampling of the output window, the VXSCFACT field value has to consider the chroma upsampling by taking the half of VFACTOR.
When YCbCr 4:2:2, or YCbCr 4:2:0 formats are used without resampling the output window, then the LCDC_HEOCFG23.VXSYEN and LCDC_HEOCFG23.VXSCEN can be set to zero. The scaler engine is then internally configured to process chroma upsampling without any configuration of LCDC_HEOCFG24 and LCDC_HEOCFG25.
When Interlaced mode is used, the vertical scaler must be enabled and configured as detailed in Interlaced YCbCr 4:2:0, Chroma Upsampling (cosited), Top/Bottom Interpolation, With Window Resampling Configuration.
Scaler Use Cases gives register values according to the context.