acldvppJpegPredictDecSize
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功能
功能及约束说明
功能说明
JPEGE(JPEG Encoder)将YUV格式图片编码成JPEG压缩格式的图片文件,例如*.jpg。
图片分辨率约束
-
输入图片分辨率:
版本 分辨率范围 Atlas 200/500 A2推理产品 最大分辨率:16384*16384,最小分辨率:32*32。 -
输出图片分辨率
JPEGE只对图片编码,不会改变图片分辨率,因此输出与输入的图片分辨率保持一致。
图片格式、宽高对齐、内存约束
实现JPEGE图片编码功能时,需调用acldvppMalloc接口申请Device上的输入、输出内存,调用acldvppFree接口释放输入、输出内存,这部分内存的生命周期由用户自行管理。
- 输入内存的大小请参见下表中的计算公式。
- 输出内存的大小就是指实际的编码后图片所占用的大小,可调用acldvppJpegPredictEncSize接口预估输出内存大小。
:::note 说明 输入图片格式的定义请参见acldvppPixelFormat,宽stride、高stride等概念请参见基本概念。 :::
表1 图片格式、宽高对齐、内存大小约束
输入图片格式 | 输入图片宽、高对齐要求 | 输入图片宽stride、高stride、内存大小要求 | 输出图片格式 |
|---|---|---|---|
YUV420SP NV12 8bit | 宽2对齐 高2对齐 | 宽stride为宽16对齐后的值,兼容对齐到16的倍数如128(按128对齐时,性能更优)。 高stride支持以下两种配置: 内存大小(单位Byte)= 宽stride * 高stride * 3/2 | JPEG压缩格式的图片文件,例如*.jpg。 只支持huffman编码,不支持算术编码,不支持渐进编码。 |
YUV420SP NV21 8bit | |||
YUV422Packed YUYV 8bit | 宽2对齐 高无对齐要求 | 宽stride为宽的两倍再16对齐后的值。 高stride支持以下两种配置: 内存大小(单位Byte)= 宽stride * 高stride | |
YUV422Packed UYVY 8bit | |||
YUV422Packed YVYU 8bit | |||
YUV422Packed VYUY 8bit |
父主题: JPEGE功能
性能指标说明
性能指标说明(Atlas 200/500 A2推理产品)
以下性能数据,是基于一个stream上下发10个异步媒体数据处理任务后,执行一次aclrtSynchronizeStream接口。
1080p指分辨率为1920*1080的图片;4K指分辨率为3840*2160的图片。单个Device的基本场景性能指标参考如下(1路对应一个通道,一个通道对应一个线程):
| 场景举例(输入图片格式:YUV420 8bit) | 总帧率 |
|---|---|
| 1080p*n路 | 256fps |
| 4k*n路 | 64fps |
父主题: JPEGE功能
acldvppJpegEncodeAsync
函数功能
将YUV格式图片编码成.jpg图片,异步接口。
函数原型
aclError acldvppJpegEncodeAsync(****acldvppChannelDesc *channelDesc,
acldvppPicDesc *inputDesc,
const void *data,
uint32_t *size,
acldvppJpegeConfig *config,
aclrtStream stream);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| channelDesc | 输入 | 通道描述信息的指针。 与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。 |
| inputDesc | 输入 | 输入图片描述信息的指针。 - 调用acldvppCreatePicDesc接口创建图片描述信息。 - 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,图片格式、宽、高等)。 输入图片分辨率(≤通道的最大宽度*高度)、图像格式的要求,请参见功能及约束说明。 |
| data | 输出 | 输出内存地址的指针,存放编码后的数据。 |
| size | 输入&输出 | 输出内存大小的指针,单位Byte。 size作为输入参数时,可提前调用acldvppJpegPredictEncSize接口预估输出内存大小。 size作为输出参数时,表示实际输出内存大小,可能与调用acldvppJpegPredictEncSize接口预估的内存大小存在差异,如果用户需要取用编码后的数据,请使用实际输出内存大小。 |
| config | 输入 | 图片编码配置数据的指针。 调用acldvppCreateJpegeConfig接口创建图片编码配置数据,调用acldvppSetJpegeConfigLevel接口设置编码配置数据。 |
| stream | 输入 | 指定Stream。 |
返回值说明
返回0表示任务下发成功,返回非0表示任务下发失败。
参考资源
接口调用流程及示例,参见JPEGE图片编码。
父主题: JPEGE功能
在线提单