hi_mpi_vpc_convert_color_v2

The Atlas 200/300/500 Inference Product does not support this API.

The Atlas Training Series Product does not support this API.

Description

Converts the image format and sets the transparency of RGBA images based on the extended functions of hi_mpi_vpc_convert_color. This API is asynchronous.

Prototype

hi_s32 hi_mpi_vpc_convert_color_v2(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_pic_info *dest_pic, hi_csc_conf *conf, hi_u32 *task_id, hi_s32 milli_sec)

Parameters

Parameter

Input/Output

Description

chn

Input

Channel ID for image processing.

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.

  • The width and height of the output image must be the same as those of the input image. Otherwise, an error is reported.

    If the width or height of the output image is set to 0, VPC uses the width and height of the input image as the width and height of the output image respectively. In addition, VPC calculates the width stride and height stride based on the alignment requirements, which vary with the image format. For details, see Table 2.

  • The width stride and height stride of the output image must meet the alignment requirements, which vary with the image format. For details, see Table 2.

conf

Input

Pointer to the transparency of the output image.

Transparency is valid only for the following image formats:

PIXEL_FORMAT_ARGB_8888 = 14,
PIXEL_FORMAT_ABGR_8888 = 15,
PIXEL_FORMAT_RGBA_8888 = 16,
PIXEL_FORMAT_BGRA_8888 = 17,

task_id

Output

Pointer to the task ID, used to identify a task.

milli_sec

Input

Timeout interval (ms).
  • -1: blocking mode.
  • 0: non-blocking mode.
  • > 0: timeout interval (timeout mode). The timeout interval varies with the operating system. The deviation is generally within a time slice of an operating system. For example, if the time slice of an operating system is 4 ms and the value of milli_sec is set to 1, the actual timeout interval ranges from 1 ms to 5 ms. When the CPU load is high, the timeout interval may fluctuate.

Returns