PNGD功能
功能及约束说明
功能及约束说明
PNGD(PNG decoder)功能:实现PNG格式图片的硬件解码。
- PNGD输入的约束:
- 输入图片分辨率:
最大分辨率4096 * 4096,最小分辨率32 * 32。
- 输入图片格式:
RGBA、RGB、GRAY、AGRAY。
- 输入内存:
- 输入内存首地址要求128对齐。调用acldvppMalloc接口/acldvppFree接口申请或释放内存。
- 输入内存的大小就是指实际的输入图片所占用的大小。
- 输入图片分辨率:
- PNGD输出的约束:
- 输出图片格式:
RGBA、RGB。
如果输入格式为GRAY,则输出会转码为RGB;如果输入格式为AGRAY,则输出会转码为RGB或RGBA。
- 输出内存:
- 输出内存的大小可调用acldvppPngPredictDecSize接口获取。
- 输出内存首地址要求128对齐。调用acldvppMalloc接口/acldvppFree接口申请或释放内存。
- 输出图片的宽stride、高stride对齐要求:
- 输出图片的widthStride(对齐后的宽度),若输出格式为RGB,则输出图片宽先128对齐后再*3,若输出格式为RGBA,则输出图片宽先128对齐后再*4。
- 输出图片的heightStride(对齐后的高度),对齐到16。
- 输出图片格式:
性能指标说明(昇腾310 AI处理器)
1080p指分辨率为1920*1080的图片;4K指分辨率为3840*2160的图片。单个Device的基本场景性能指标参考如下:
场景举例 |
总帧率 |
---|---|
1080p * n路(1≤n≤5) |
n*4fps |
1080p * n路(n≥ 6) |
24fps |
4k * n路(1≤n≤5) |
n*1fps |
4k * n路(n≥ 6) |
6fps |
性能指标说明(昇腾910 AI处理器)
1080p指分辨率为1920*1080的图片;4K指分辨率为3840*2160的图片。单个Device的基本场景性能指标参考如下:
场景举例 |
总帧率 |
---|---|
1080p * n路(1≤n≤24) |
n*4fps |
1080p * n路(n>24) |
96fps |
4k * n路(1≤n≤24) |
n*1fps |
4k * n路(n>24) |
24fps |
acldvppPngDecodeAsync
函数功能
解码png图片,异步接口。
功能 |
输入图片格式 |
输出图片格式 |
---|---|---|
调用本接口时将输出图片格式设置为PIXEL_FORMAT_UNKNOWN 表示不指定输出图片格式,输出图片格式与输入图片格式一致 |
RGB/GRAY |
RGB |
调用本接口时将输出图片格式设置为PIXEL_FORMAT_UNKNOWN 表示不指定输出图片格式,输出图片格式与输入图片格式一致 |
RGBA/AGRAY |
RGBA |
调用本接口时将输出图片格式设置为PIXEL_FORMAT_RGB_888,表示指定输出图片格式,将输入图片格式转换为输出图片格式 |
RGB/RGBA/GRAY/AGRAY |
RGB |
函数原型
aclError acldvppPngDecodeAsync(acldvppChannelDesc *channelDesc,
const void *data,
uint32_t size,
acldvppPicDesc *outputDesc,
aclrtStream stream)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
channelDesc |
输入 |
指定通道描述信息,与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。 |
data |
输入 |
输入图片的内存地址。 |
size |
输入 |
输入图片的实际数据大小,单位Byte。 |
outputDesc |
输入&输出 |
输出图片信息。 outputDesc参数作为输入时,需要用户调用如下接口:
outputDesc参数作为输出时,用户可以从内存地址中获取解码后的输出图片数据。 |
stream |
输入 |
指定Stream。 |
返回值说明
返回0表示任务下发成功,返回非0表示任务下发失败。
acldvppPngGetImageInfo
函数功能
从存放png图片数据的内存中读取png图片的宽、高。
函数原型
aclError acldvppPngGetImageInfo(const void *data,
uint32_t dataSize,
uint32_t *width,
uint32_t *height,
int32_t *components)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
data |
输入 |
存放png图片数据的内存的地址。 |
dataSize |
输入 |
内存大小,单位为Byte。 |
width |
输出 |
图片的宽。 |
height |
输出 |
图片的高。 |
components |
输出 |
颜色通道个数。 |
返回值说明
返回0表示成功,返回其它值表示失败。
acldvppPngPredictDecSize
函数功能
根据存放png图片数据的内存计算出png图片解码后所需的输出内存的大小。
函数原型
aclError acldvppPngPredictDecSize(const void *data,
uint32_t dataSize,
acldvppPixelFormat outputPixelFormat,
uint32_t *decSize)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
data |
输入 |
存放png图片数据的内存的地址。 |
size |
输入 |
内存大小,单位为Byte。 |
outputPixelFormat |
输入 |
解码后的输出图片的格式,支持设置如下格式:
|
decSize |
输出 |
png图片解码后所需的输出内存的大小,单位为Byte。 |
返回值说明
返回0表示成功,返回其它值表示失败。