适用场景
- 业务场景:DVPP图像处理
- 适用处理器:昇腾310B AI处理器
- 处理器形态:RC
现象描述
调用VPC功能接口返回0xA0078003,即HI_ERR_VPC_ILLEGAL_PARAM,参数超出合法范围。查看日志有类似如下报错信息:
日志信息(1):
width should be in [10, 32768], width is 654321
日志信息(2):
crop width[300] or height[300] is greater than input width[224] or height[224]
日志信息(3):
flip mode[5] not supported, support mode [0, 1, 2]
日志信息(4):
buffer size(50176) is smaller than need buffer size(95264) when format is 1
日志信息(5):
buffer address is null
可能原因
针对上面日志信息分析,可能存在以下对应原因:
- 日志信息(1):VPC缩放宽大于输出宽,
- 日志信息(2):VPC抠图的输出宽大于输入宽或者输出高大于输入高
- 日志信息(3):输入的缩放算法不正确
- 日志信息(4):图片内存大小不够
- 日志信息(5):图片地址校验失败
定位思路
- 根据日志描述的错误信息,找到VPC对应的配置参数,根据提示进行修改。
- 根据日志描述的错误信息,参考《应用软件开发指南(C&C++)》中DVPP接口章节VPC参数的约束修改。
处理步骤
根据提示的错误信息进行修改:
- 如果为日志信息(1),修改resize宽,使其小于等于输出宽。
- 如果为日志信息(2),修改抠图宽,使其小于输入宽。
- 如果为日志信息(3),修改缩放算法为昇腾310B AI处理器支持的类型。
- 如果为日志信息(4),需要按照格式申请足够的内存,并正确配置buffer_size。
- 如果为日志信息(5),使用hi_mpi_dvpp_malloc或acldvppMalloc 申请图片地址。