RGBA to NV21
ThexFrgba2nv21
function converts a 4-channel RGBA image to NV21 (4:2:0) format. The function outputs Y plane and interleaved VU plane separately. NV21 holds subsampled data, Y is sampled for every RGBA pixel and U, V are sampled once for 2 row and 2 columns (2x2) RGBA pixels. UV plane is of (rows/2)*(columns/2) size as V and U values are interleaved.
API Syntax
template void xFrgba2nv21(xF::Mat & _src, xF::Mat & _y, xF::Mat & _uv)
Parameter Descriptions
The following table describes the template and the function parameters.
Parameter | Description |
---|---|
SRC_T | Input pixel type. Only 8-bit, unsigned, 4-channel is supported (XF_8UC4). |
Y_T | Output pixel type. Only 8-bit, unsigned, 1-channel is supported (XF_8UC1). |
UV_T | Output pixel type. Only 8-bit, unsigned, 1-channel is supported (XF_8UC2). |
ROWS | Maximum height of input and output image (must be a multiple of 8). |
COLS | Maximum width of input and output image (must be a multiple of 8). |
NPC | Number of pixels to be processed per cycle; possible options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 pixel operations respectively. |
_src | Input RGBA image of size (ROWS, COLS). |
_y | Output Y image of size (ROWS, COLS). |
_uv | Output UV image of size (ROWS/2, COLS/2). |
Resource Utilization
The following table summarizes the resource utilization of RGBA to NV21 for different configurations, generated usingVivado HLS 2017.1tool for theXilinx Xczu9eg-ffvb1156-1-i-es1FPGA, to process a HD (1080x1920) image.
Operating Mode | Operating Frequency (MHz) |
Utilization Estimate | ||||
---|---|---|---|---|---|---|
BRAM_18K | DSP_48Es | FF | LUT | CLB | ||
1pixel | 300 | 0 | 9 | 802 | 453 | 131 |
Performance Estimate
The following table summarizes the performance of RGBA to NV21 for different configurations, as generated usingVivado HLS 2017.1tool for theXilinx Xczu9eg-ffvb1156-1-i-es1, to process a grayscale HD (1080x1920) image.
Operating Mode | Latency Estimate |
---|---|
Max Latency(ms) | |
1 pixel operation(300Mhz) | 1.89 |