hi_mpi_vpc_convert_color_to_yuv420
Applicability
Product |
Supported |
|---|---|
Atlas 350 Accelerator Card |
√ |
√ |
|
√ |
|
√ |
|
√ |
|
☓ |
Function Description
Converts the image format to YUV420SP or YVU420SP. This API is asynchronous.
Prototype
hi_s32 hi_mpi_vpc_convert_color_to_yuv420(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_pic_info *dest_pic, hi_u32 *task_id, hi_s32 milli_sec)
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
chn |
Input |
Channel ID for image processing. Atlas 350 Accelerator Card: The value range is [0, 256). The maximum number of channels is 256. |
source_pic |
Input |
Pointer to the source image information. |
dest_pic |
Input |
Pointer to the destination image information. You must specify the width, height, width stride, height stride, buffer address, buffer size, and format of the output image.
|
task_id |
Output |
Pointer to the task ID, which is used to identify a task. |
milli_sec |
Input |
Timeout interval (ms).
|
Returns
- 0: success
- Other values: failure. For details, see VPC Return Codes.
Restrictions
- This API is compatible with the format conversion API of the old AI processor version. In the compatibility scenario, the input and output image formats are as follows. In the compatibility scenario, the output binary files are the same.
- Input image format: YUV420 semi-planar/YVU420 semi-planar/YUV422 semi-planar/YVU422 semi-planar/YUV444 packed /YUV444 semi-planar/YVU444 semi-planar
- Output formats: YUV420SP/YVU420SP
- In the preceding input and output image formats, the binary output of this API is different from that of the hi_mpi_vpc_convert_color API.
- Requirements on the input resolution:
Model
Restriction
Atlas inference product Input image resolution: [10 × 6, 4096 × 4096].
Atlas 350 Accelerator Card
Atlas A3 training product /Atlas A3 inference product Atlas A2 training product /Atlas A2 inference product Atlas 200I/500 A2 inference product Input image resolution: [10 × 6, 4096 × 8192].
- The input image format supports the following enumerated values of hi_pixel_format:
HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit HI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bit HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bit HI_PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5, // YUV444SP 8bit HI_PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6, // YVU444SP 8bit HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bit HI_PIXEL_FORMAT_UYVY_PACKED_422 = 8, // YUV422Packed UYVY 8bit HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bit HI_PIXEL_FORMAT_VYUY_PACKED_422 = 10, // YUV422Packed VYUY 8bit HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444Packed 8bit HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888 HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888 HI_PIXEL_FORMAT_ARGB_8888 = 14, // ARGB8888 HI_PIXEL_FORMAT_ABGR_8888 = 15, // ABGR8888 HI_PIXEL_FORMAT_RGBA_8888 = 16, // RGBA8888 HI_PIXEL_FORMAT_BGRA_8888 = 17, // BGRA8888 HI_PIXEL_FORMAT_YUV_SEMIPLANAR_440 = 1000, // YUV440SP 8bit HI_PIXEL_FORMAT_YVU_SEMIPLANAR_440 = 1001, // YVU440SP 8bit
- The output image format supports the following enumerated values of hi_pixel_format. If other image formats are set, the API returns a failure message.
HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit
- For details about the restrictions on the width and height alignment and buffer size of each image format, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.