# hi_mpi_vpc_rotate

#### 函数功能

对输入图片做90度/180度/270度操作，输出图片宽高也要随旋转角度置换。


#### 约束说明

| 版本 | 约束 |
| --- | --- |
| Atlas 200/500 A2推理产品 | 输入、输出图片分辨率的取值范围为：10\*6~4096\*8192。 支持如下输入图片格式（输出图片格式与输入保持一致）： 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 |


#### 函数原型

hi_s32 hi_mpi_vpc_rotate(hi_vpc_chn chn, const hi_rotate_param* rotate_param, hi_u32* task_id, hi_s32 milli_sec)


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| chn | 输入 | 图片处理通道号。 Atlas 200/500 A2推理产品，该参数的取值范围：[0, 128)，通道总数最多128。 |
| rotate\_param | 输入 | 旋转信息。 在hi\_rotate\_param结构体内配置输入、输出图片信息，以及旋转参数。 |
| milli\_sec | 输入 | 超时时间配置，单位是毫秒，取值范围如下： \-1：阻塞方式 0：非阻塞方式 >0：超时方式，配置具体的超时时间。超时时间受操作系统影响，一般偏差在操作系统的一个时间片内，例如，操作系统的一个时间片为4ms，用户设置的milli\_sec参数值为1，则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下，超时时间仍可能存在波动。 |
| task\_id | 输出 | 任务ID的指针，用来区分任务。 |


#### 返回值说明

- 0：成功
- 非0：失败，  VPC图像处理返回码
