10 scaled outputs independently mapped to 1 or 2
processing threads (any number up to 10 scaler outputs can be mapped to one
thread, while the remaining scaler outputs can be mapped to the other
thread)
Two
input sub-channels (primary and secondary) per thread to support 1 or 2-plane input
sources
Programmable scaling engine:
Pyramid or intra-octave scale generation
1x ~ x/4 image downscaling
1x generic separable convolution filtering
On-the-fly (OTF) or memory-to-memory (M2M) operation with line buffers in SL2 (thus, frame width not constrained by internal line buffer width).
Polyphase filters:
5-tap separable filter kernel structure
Programmable kernel sizes for vertical/horizontal filter (3, 4, or 5)
Polyphase implementation with support of 64 or 32 phases
Independent programming of vertical/horizontal filters with initial phase programming option
Filter Coefficients (shared by all scalers):
Coefficients in signed 10-bit number (typically 1-bit integer with 8 fractional bits)
Programmable Coefficient shift size to set precision of coefficient number (shift size represents the fractional bit width)
2 dedicated sets of 5-tap single phase filter coefficients (for example, Gaussian) for Pyramid (Octave) generation or custom convolution filtering.
4 sets of 5-tap x 32 phase coefficients
Two can be combined to support 5-tap x 64-phase filters
First can be configured to hold additional 5-tap single-phase convolution filters for non-resizing application.
Input/output format support:
Each thread can support the following input
source formats:
Primary sub-channel: One plane (uniform or interleaved format - Y, CbCr
interleaved, R)
Secondary sub-channel: One plane
(uniform Y or interleaved CbCr, GB interleaved) with option to extract CbCr data
from YUV422 source data read by primary channel
Each Input channel supports 8/12-bit pixel data
in 8/12/16-bit pixel container with programmable LSB/MSB alignment
Each Output channel supports 8/12-bit pixel data
in 8/12/16-bit pixel container with programmable LSB/MSB alignment
Luma dedicated output channels (chan
0/2/4/6) can support YUV422 interleaved output (8/12-bit in 8/12/16-bit container per
component) by combining Y with UV data from the Chroma dedicated output channels (chan
1/3/5/7)
Performance:
1 cycle/pixel per plane
Input line skip for thread performing only pyramid-generation (50% less processing time)
Other features:
Programmable Input and Output Regio of Interest (ROI) (or clipping) for each scaler
Support for Vertical and Horizontal edge Padding (replication) for both luma/chroma data plane inputs
Functional Safety Support: CRC frame data signature capture on all output channels for fault detection in the data path.