RGBA to NV12

ThexFrgba2nv12function converts a 4-channel RGBA image to NV12 (4:2:0) format. The function outputs Y plane and interleaved UV plane separately. NV12 holds the subsampled data, Y is sampled for every RGBA pixel and U, V are sampled once for 2row and 2columns (2x2) pixels. UV plane is of (rows/2)*(columns/2) size as U and V values are interleaved.

API Syntax

template  void xFrgba2nv12(xF::Mat & _src, xF::Mat & _y, xF::Mat & _uv)

Parameter Descriptions

The following table describes the template and the function parameters.

Table 1.xFrgba2nv12 Function Parameter Descriptions
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, 2-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 NV12 for different configurations, generated usingVivado HLS 2017.1tool for theXilinx Xczu9eg-ffvb1156-1-i-es1FPGA, to process a HD (1080x1920) image.

Table 2.xFrgba2nv12 Function Resource Utilization Summary
Operating Mode

Operating Frequency

(MHz)

Utilization Estimate
BRAM_18K DSP_48Es FF LUT CLB
1pixel 300 0 9 802 452 128

Performance Estimate

The following table summarizes the performance of RGBA to NV12 for different configurations, as generated usingVivado HLS 2017.1tool for theXilinx Xczu9eg-ffvb1156-1-i-es1, to process a grayscale HD (1080x1920) image.

Table 3.xFrgba2nv12 Function Performance Estimate Summary
Operating Mode Latency Estimate
Max Latency (ms)
1 pixel operation(300Mhz) 1.8