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:

VFACTOR = round 2 20 × YMEMSIZE YSIZE

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.