hi_mpi_vpc_batch_crop_resize_paste

函数功能

hi_mpi_vpc_crop_resize_paste的扩展接口,支持一次处理多张输入图片。可输入多张原图,从每张原图中抠一张或多张子图缩放并贴图到每张目标图上,目标图片的数量与子图数量保持一致。异步接口。

昇腾310 AI处理器,当前版本该接口预留。

约束说明

由于hi_vpc_crop_resize_paste_region结构体内容比较丰富,使用者可以自由组合功能。但存在一些约束,例如:

函数原型

hi_s32 hi_mpi_vpc_batch_crop_resize_paste (hi_vpc_chn chn, const hi_vpc_pic_info *source_pic[], hi_u32 pic_num, hi_vpc_crop_resize_paste_region crop_resize_paste_info[], hi_u32 count[], hi_u32 *task_id, hi_s32 milli_sec)

参数说明

参数名

输入/输出

说明

chn

输入

图片处理通道号,取值范围:[0, 256),通道总数最多256。
typedef hi_s32 hi_vpc_chn;

source_pic

输入

原始图片信息的指针数组。

输入图片分辨率在10*6~4096*4096(包括4096)范围内时,支持约束说明处说明的输入图片格式。

输入图片的宽或高在4096~8192(包括8192)范围内时,输入图片格式支持hi_pixel_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_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

pic_num

输入

原始图片数量,与source_pic数组长度、count数组长度保持一致。

crop_resize_paste_info

输入

抠图缩放并贴图信息结构体数组,需要用户设置抠图、缩放、贴图信息以及目标图片的内存地址,VPC将抠图缩放贴图后的结果数据存放在用户指定的内存地址中。

count

输入

每张原图抠图缩放贴图的图片数量,数组内第一个元素的值表示第一张原图的抠图缩放贴图的图片数量,第二个元素的值表示第二张原图的抠图缩放贴图的图片数量,以此类推。count数组内元素值之和等于crop_resize_paste_info数组的长度。count数组内元素值之和的取值范围[1,256]。

milli_sec

输入

超时时间配置,单位是毫秒,取值范围如下:
  • -1:阻塞方式
  • 0:非阻塞方式
  • >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。

task_id

输出

此次任务分配的ID,用来区分任务。

返回值说明