The uyvy2iyuv
function converts a UYVY (YUV 4:2:2) single-channel
image to the IYUV format. The outputs of the functions are separate Y,
U, and V planes. UYVY is sub sampled format. One set of UYVY value gives
two Y values and one U and V value each.
API Syntax
template<int SRC_T, int DST_T, int ROWS, int COLS, int NPC=1, int XFCVDEPTH_IN = _XFCVDEPTH_DEFAULT, int XFCVDEPTH_OUT_0 = _XFCVDEPTH_DEFAULT, int XFCVDEPTH_OUT_1 = _XFCVDEPTH_DEFAULT, int XFCVDEPTH_OUT_2 = _XFCVDEPTH_DEFAULT>
void uyvy2iyuv(xf::cv::Mat<SRC_T, ROWS, COLS, NPC, XFCVDEPTH_IN> & _src, xf::cv::Mat<DST_T, ROWS, COLS, NPC, XFCVDEPTH_OUT_0> & _y_image,xf::cv::Mat<DST_T, ROWS/4, COLS, NPC, XFCVDEPTH_OUT_1> & _u_image, xf::cv::Mat<DST_T, ROWS/4, COLS, NPC, XFCVDEPTH_OUT_2> & _v_image)
Parameter Descriptions
The following table describes the template and the function parameters.
Parameter | Description |
---|---|
SRC_T | Input pixel type. Only 16-bit, unsigned, 1-channel is supported (XF_16UC1). |
DST_T | Output pixel type. Only 8-bit, unsigned, 1-channel is supported (XF_8UC1). |
ROWS | Maximum height of input and output image. |
COLS | Maximum width of input and output image. Must be a multiple of 8 for 8 pixel mode. |
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. |
XFCVDEPTH_IN | Depth of input image |
XFCVDEPTH_OUT_0 | Depth of output image |
XFCVDEPTH_OUT_1 | Depth of output image |
XFCVDEPTH_OUT_2 | Depth of output image |
_src | Input image of size (ROWS, COLS). |
_y_image | Output Y plane of size (ROWS, COLS). |
_u_image | Output U plane of size (ROWS/4, COLS). |
_v_image | Output V plane of size (ROWS/4, COLS). |
Resource Utilization
The following table summarizes the resource utilization of UYVY to IYUV for different configurations, generated using Vivado HLS 2019.1 tool for the Xczu9eg-ffvb1156-1-i-es1 FPGA, to process a HD (1080x1920) image.
Table uyvy2iyuv Function Resource Utilization Summary
Operating Mode Operating Frequency (MHz) Utilization Estimate BRAM_18K DSP_48Es FF LUT CLB 1 Pixel 300 0 0 835 494 139 8 Pixel 150 0 0 1428 740 209
Performance Estimate
The following table summarizes the performance of UYVY to IYUV for different configurations, as generated using Vivado HLS 2019.1 tool for the Xczu9eg-ffvb1156-1-i-es1, to process a grayscale HD (1080x1920) image.
Operating Mode | Latency Estimate |
---|---|
Max Latency (ms) | |
1 pixel operation (300 MHz) | 6.9 |
8 pixel operation (150 MHz) | 1.7 |
UYVY to RGBA
The uyvy2rgba
function converts a UYVY (YUV 4:2:2) single-channel
image to a 4-channel RGBA image. UYVY is sub sampled format, 1set of
UYVY value gives 2 RGBA pixel values. UYVY is represented in 16-bit
values where as RGBA is represented in 32-bit values.
API Syntax
template<int SRC_T, int DST_T, int ROWS, int COLS, int NPC=1, int XFCVDEPTH_IN = _XFCVDEPTH_DEFAULT, int XFCVDEPTH_OUT = _XFCVDEPTH_DEFAULT>
void uyvy2rgba(xf::cv::Mat<SRC_T, ROWS, COLS, NPC, XFCVDEPTH_IN> & _src, xf::cv::Mat<DST_T, ROWS, COLS, NPC, XFCVDEPTH_OUT> & _dst)
Parameter Descriptions
The following table describes the template and the function parameters.
Parameter | Description |
---|---|
SRC_T | Input pixel type. Only 16-bit, unsigned, 1-channel is supported (XF_16UC1). |
DST_T | Output pixel type. Only 8-bit, unsigned, 1-channel is supported (XF_8UC1). |
ROWS | Maximum height of input and output image. |
COLS | Maximum width of input and output image. Must be a multiple of 8 for 8 pixel mode. |
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. |
XFCVDEPTH_IN | Depth of input image |
XFCVDEPTH_OUT | Depth of output image |
_src | Input image of size (ROWS, COLS). |
_dst | Output image of size (ROWS, COLS). |
Resource Utilization
The following table summarizes the resource utilization of UYVY to RGBA for different configurations, generated using Vivado HLS 2019.1 tool for the Xczu9eg-ffvb1156-1-i-es1 FPGA, to process a HD (1080x1920) image.
Operating Mode | Operating Frequency (MHz) | Utilization Estimate | ||||
---|---|---|---|---|---|---|
BRAM_18K | DSP_48Es | FF | LUT | CLB | ||
1 Pixel | 300 | 0 | 6 | 773 | 704 | 160 |
Performance Estimate
The following table summarizes the performance of UYVY to RGBA for different configurations, as generated using Vivado HLS 2019.1 tool for the Xczu9eg-ffvb1156-1-i-es1, to process a grayscale HD (1080x1920) image.
Operating Mode | Latency Estimate |
---|---|
Max Latency (ms) | |
1 pixel operation (300 MHz) | 6.8 |