acldvppJpegGetImageInfo
性能指标说明
性能指标说明(Atlas 200/500 A2推理产品)
JPEGD性能指标是基于硬件解码的性能,JPEGD硬件解码不支持3个SOS的图片解码,对于硬件不支持的格式,会使用软件解码,软件解码性能参考为1080P 15fps。JPEGD解码的输出图片如果涉及旋转,则性能指标低于软件解码的参考值,例如对于1080P的图片,性能指标低于15fps。
以下性能数据,是基于一个stream上下发10个异步媒体数据处理任务后,执行一次aclrtSynchronizeStream接口。
1080p指分辨率为1920*1080的图片;4K指分辨率为3840*2160的图片。单个Device的基本场景性能指标参考如下(1路对应一个通道,一个通道对应一个线程):
| 场景举例 | 总帧率 |
|---|---|
| 1080p*n路(1≤n≤2) | n*256fps |
| 1080p*n路(n>2) | 512fps |
| 4k*n路(1≤n≤2) | n*64fps |
| 4k*n路(n>2) | 128fps |
父主题: JPEGD功能
acldvppJpegDecodeAsync
函数功能
解码.jpg、.jpeg、.JPG、.JPEG图片,异步接口。
函数原型
aclError acldvppJpegDecodeAsync(acldvppChannelDesc *channelDesc,
const void *data,
uint32_t size,
acldvppPicDesc *outputDesc,
aclrtStream stream)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| channelDesc | 输入 | 通道描述信息的指针。 与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。 |
| data | 输入 | 输入图片内存地址的指针。 |
| size | 输入 | 输入图片的实际数据大小,单位Byte。 |
| outputDesc | 输入&输出 | 输出图片信息的指针。 outputDesc参数作为输入时,需要用户调用如下接口: - 调用acldvppCreatePicDesc接口创建图片描述信息。 - 调用acldvppSetPicDesc系列接口设置输出图片的内存地址、内存大小、格式、widthStride、heightStride。 - 输出图片的内存大小可提前调用acldvppJpegPredictDecSize接口预估。 - JPEG原图的宽、高可通过acldvppJpegGetImageInfo/acldvppJpegGetImageInfoV2接口获取。 - 输出图片格式、输出图片的宽高对齐要求,请参见功能及约束说明。 outputDesc参数作为输出时,用户可以从内存地址中获取解码后的输出图片数据、可以调用acldvppGetPicDesc系列接口获取输出图片的宽/高。 (说明:、 Atlas 200/500 A2推理产品 上,如果解码后的输出图片数据需要在后续操作(例如,使用VPC实现抠图、缩放等功能)中使用,建议在解码后调用 acldvppGetPicDesc系列接口 获取输出图片的宽/高,因为解码过程中可能会对输出图片的宽高执行对齐操作,例如,jpeg(444) 源码的图片解码成YUV420SP格式的输出图片时,当jpeg(444) 源码图片的宽/高为奇数时,解码出来的YUV420SP格式的输出图片的宽/高理论上应该为奇数,但是YUV420SP格式本身要求图片的宽/高都为偶数,这时JPEGD会对奇数宽/高做向下2对齐的操作。) |
| stream | 输入 | 指定Stream。 |
返回值说明
返回0表示任务下发成功,返回非0表示任务下发失败。
参考资源
接口调用流程及示例,参见JPEGD图像解码。
父主题: JPEGD功能
acldvppJpegGetImageInfo
函数功能
从存放JPEG图片数据的内存中读取JPEG图片的宽、高、颜色通道个数。
该接口会检查图片格式是否支持解码,如果遇到不支持的码流则该接口会返回ACL_ERROR_UNSUPPORTED_JPEG错误码,该错误码的详细描述请参见aclError。
函数原型
aclError acldvppJpegGetImageInfo(const void *data,
uint32_t size,
uint32_t *width,
uint32_t *height,
int32_t *components)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| data | 输入 | 存放JPEG图片数据的内存地址指针。 |
| size | 输入 | 内存大小,单位为Byte。 |
| width | 输出 | 图片宽的指针。 |
| height | 输出 | 图片高的指针。 |
| components | 输出 | 颜色通道个数的指针。 |
返回值说明
返回0表示获取信息成功,返回非0表示获取信息失败。
父主题: JPEGD功能
acldvppJpegGetImageInfoV2
函数功能
从存放JPEG图片数据的内存中读取JPEG图片的宽、高、颜色通道个数、JPEG原图编码格式。
该接口会检查图片格式是否支持解码,如果遇到不支持的码流则该接口会返回ACL_ERROR_UNSUPPORTED_JPEG错误码,该错误码的详细描述请参见aclError。
函数原型
aclError acldvppJpegGetImageInfoV2(const void *data,
uint32_t size,
uint32_t *width,
uint32_t *height,
int32_t *components**,**
acldvppJpegFormat *format**)**
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| data | 输入 | 存放JPEG图片数据的内存地址指针。 |
| size | 输入 | 内存大小,单位为Byte。 |
| width | 输出 | 图片宽的指针。 |
| height | 输出 | 图片高的指针。 |
| components | 输出 | 颜色通道个数的指针。 |
| format | 输出 | JPEG原图编码格式的指针。 |
返回值说明
返回0表示获取信息成功,返回非0表示获取信息失败。
父主题: JPEGD功能
acldvppJpegPredictDecSize
函数功能
根据存放JPEG图片数据的内存预估JPEG图片解码后所需的输出内存的大小。
函数原型
aclError acldvppJpegPredictDecSize(const void *data,
uint32_t dataSize,
acldvppPixelFormat outputPixelFormat,
uint32_t *decSize)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| data | 输入 | 存放JPEG图片数据的内存地址指针。 |
| size | 输入 | 内存大小,单位为Byte。 |
| outputPixelFormat | 输入 | 解码后的输出图片的格式。 |
| decSize | 输出 | 预估JPEG图片解码后所需输出内存大小的指针,单位为Byte。 |
返回值说明
返回0表示获取信息成功,返回非0表示获取信息失败。
参考资源
接口调用流程及示例,参见JPEGD图像解码。
父主题: JPEGD功能
在线提单