hi_mpi_vpc_rotate

Applicability

Product

Supported

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

Atlas inference product

Atlas training product

Function Description

Rotates the input image by 90°, 180°, or 270°.

Prototype

hi_s32 hi_mpi_vpc_rotate(hi_vpc_chn chn, const hi_rotate_param* rotate_param, 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.

Atlas A3 training product/Atlas A3 inference product: The value range is [0, 256). The maximum number of channels is 256.

Atlas A2 training product/Atlas A2 inference product: The value range is [0, 256). The maximum number of channels is 256.

Atlas 200I/500 A2 inference product: The value range is [0, 128). The maximum number of channels is 128.

rotate_param

Input

Rotation information.

Configure the input and output image information and rotation parameters in the hi_rotate_param structure.

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.

task_id

Output

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

Returns

Restrictions

Model

Restrictions

Atlas 200I/500 A2 inference product

  • The input and output image resolutions must be in the range of [10 × 6, 4096 × 8192].
  • The following input image formats are supported (the output image format is the same as the input image format):
    HI_PIXEL_FORMAT_YUV_400 = 0,               // YUV400 8bit
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1,    // YUV420SP NV12 8bit   
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2,    // YUV420SP NV21 8bit 
    HI_PIXEL_FORMAT_YUV_PACKED_444 = 11,      // YUV444 Package  8bit
    HI_PIXEL_FORMAT_RGB_888 = 12,             // RGB888
    HI_PIXEL_FORMAT_BGR_888 = 13,             // BGR888
    HI_PIXEL_FORMAT_YVU_PACKED_444 = 58,       // YVU444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888_PLANAR = 69,       // RGB888 Planar
    HI_PIXEL_FORMAT_BGR_888_PLANAR = 70,       // BGR888 Planar

Atlas 350 Accelerator Card

Atlas A3 training product/Atlas A3 inference product

Atlas A2 training product/Atlas A2 inference product

  • The input and output image resolutions must be in the range of [10 × 6, 4096 × 8192].
  • The following input image formats are supported (the output image format is the same as the input image format):
    HI_PIXEL_FORMAT_YUV_400 = 0,               // YUV400 8bit
    HI_PIXEL_FORMAT_YUV_PACKED_444 = 11,      // YUV444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888 = 12,             // RGB888
    HI_PIXEL_FORMAT_BGR_888 = 13,             // BGR888
    HI_PIXEL_FORMAT_YVU_PACKED_444 = 58,       // YVU444 Package 8bit
    HI_PIXEL_FORMAT_YUV400_FP32 = 138,         // YUV400 Package. Each pixel is represented by a float32 number.
    HI_PIXEL_FORMAT_RGB_888_FP32 = 1012,       // RGB888 Package. Each pixel is represented by a float32 number.
    HI_PIXEL_FORMAT_BGR_888_FP32 = 1013,       // BGR888 Package. Each pixel is represented by a float32 number.