JPEGE功能及约束说明
功能说明
JPEGE(JPEG Encoder)将YUV格式图片编码成JPEG压缩格式的图片文件,例如*.jpg。
图片分辨率约束
图片格式、宽高对齐、内存约束
实现JPEGE图片编码功能时:
- 需调用acldvppMalloc接口申请Device上的输入、输出内存,调用acldvppFree接口释放输入、输出内存,这部分内存的生命周期由用户自行管理。
- 输入内存的大小是指存放输入图片的内存大小,请参见下表中的计算公式。
- 输出内存的大小就是指实际的编码后图片所占用的大小,可调用acldvppJpegPredictEncSize接口预估输出内存大小。
- 支持的输入图片格式如下表所示。
输入图片格式的定义请参见acldvppPixelFormat。
- 输入图片宽stride、高stride的要求如下表所示。
宽stride、高stride等概念请参见基本概念。
- 输出图片格式为JPEG压缩格式的图片文件,例如*.jpg。只支持huffman编码,不支持算术编码,不支持渐进编码。
输入图片格式 |
输入图片宽、高对齐要求 |
输入图片宽stride、高stride要求 |
输入图片内存要求 |
|---|---|---|---|
YUV420SP NV12 8bit YUV420SP NV21 8bit |
宽2对齐 高2对齐 |
宽stride为宽16对齐后的值,兼容对齐到16的倍数如128(按128对齐时,性能更优)。 高stride支持以下两种配置:配置为与输入图片的高度相同的数值;或配置为输入图片的高度向上对齐到16的数值(最小为32),当JPEGD的输出图片直接作为JPEGE的输入(JPEGD输出图片高度是向上对齐到16的),可使用该对齐方式。 |
内存大小(单位Byte)= 宽stride * 高stride * 3/2 |
YUV422Packed YUYV 8bit YUV422Packed UYVY 8bit YUV422Packed YVYU 8bit YUV422Packed VYUY 8bit |
宽2对齐 高无对齐要求 |
宽stride为宽的两倍再16对齐后的值。 高stride支持以下两种配置:配置为与输入图片的高度相同的数值;或配置为输入图片的高度向上对齐到16的数值(最小为32),当JPEGD的输出图片直接作为JPEGE的输入(JPEGD输出图片高度是向上对齐到16的),可使用该对齐方式。 |
内存大小(单位Byte)= 宽stride * 高stride |
父主题: JPEGE图片编码功能