acldvppJpegDecodeAsync
函数功能
解码.jpg、.jpeg、.JPG、.JPEG图片,异步接口。
约束说明
本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,aclrtSynchronizeStream)确保任务已执行完成。
函数原型
aclError acldvppJpegDecodeAsync(acldvppChannelDesc *channelDesc,
const void *data,
uint32_t size,
acldvppPicDesc *outputDesc,
aclrtStream stream)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
channelDesc |
输入 |
通道描述信息的指针。 与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。 |
data |
输入 |
输入图片内存地址的指针。 |
size |
输入 |
输入图片的实际数据大小,单位Byte。 |
outputDesc |
输入&输出 |
输出图片信息的指针。 outputDesc参数作为输入时,需要用户调用如下接口:
outputDesc参数作为输出时,用户可以从内存地址中获取解码后的输出图片数据、可以调用acldvppGetPicDesc系列接口获取输出图片的宽/高。
说明:
Atlas 推理系列产品(Ascend 310P处理器)、Atlas 200I/500 A2推理产品、Atlas A2训练系列产品上,如果解码后的输出图片数据需要在后续操作(例如,使用VPC实现抠图、缩放等功能)中使用,建议在解码后调用acldvppGetPicDesc系列接口获取输出图片的宽/高,因为解码过程中可能会对输出图片的宽高执行对齐操作,例如,jpeg(444) 源码的图片解码成YUV420SP格式的输出图片时,当jpeg(444) 源码图片的宽/高为奇数时,解码出来的YUV420SP格式的输出图片的宽/高理论上应该为奇数,但是YUV420SP格式本身要求图片的宽/高都为偶数,这时JPEGD会对奇数宽/高做向下2对齐的操作。 |
stream |
输入 |
指定Stream。 |
返回值说明
返回0表示任务下发成功,返回非0表示任务下发失败。
参考资源
接口调用流程及示例,参见JPEGD图像解码。