JPEGD功能
功能说明
实现.jpg、.jpeg、.JPG、.JPEG图片的解码,对于硬件不支持的格式,会使用软件解码。
解码后,输出如下格式的图片:
jpeg(444) -> yuv444 / yuv420半平面V在前U在后。
jpeg(422) -> yuv422 / yuv420半平面V在前U在后。
jpeg(420) -> yuv420半平面V在前U在后。
jpeg(400) -> yuv420,uv数据采用0 x 80填充。
- JPEGD由于编程规范要求驼峰风格命名方式,原内核风格的入参和出参继续支持,同时提供新的驼峰风格参数供调用方使用,所以JPEGD暂时支持两套参数供用户使用,推荐使用驼峰风格参数。
- 若图片内EOI(End Of Image,标记代码为0XFFD9)之后,还有用户自定义的数据,则JPEGD在对图片进行解码时,会直接清零EOI之后的8字节数据,若用户需要保留这些自定义的数据,则将图片数据读入内存之后,需要提前备份这部分数据,再传给JPEGD处理。
若需要查看图片内EOI之后是否存在自定义数据,可以使用二进制查看工具打开图片查看,例如下图中的FFD9标记符之后就存在自定义数据。
约束说明
- 关于输入图片的约束:
- 最大分辨率:8192 * 8192,最小分辨率:32 * 32
- 只支持Huffman编码,码流的colorspace为YUV,码流的subsample为444/422/420/400;
- 不支持算术编码;
- 不支持渐进JPEG格式;
- 不支持JPEG2000格式;
- 关于硬件约束:
- 最多支持4张Huffman表,其中包括2 张DC(直流)表和2 张AC(交流)表;
- 最多支持3张量化表;
- 只支持8bit采样精度;
- 只支持对顺序式编码的图片进行解码;
- 只支持基于DCT(Discrete Cosine Transform)变换的JPEG 格式解码;
- 只支持一个SOS(Start of Scan)标志的图片解码。
- 关于软件约束:
- 支持3个SOS标志的图片解码;
- 支持mcu(Minimum Coded Unit)数据不足的异常图片解码。
性能指标说明
JPEGD性能指标是基于硬件解码的性能,JPEGD硬件解码不支持3个SOS的图片解码,对于硬件不支持的格式,会使用软件解码,软件解码性能参考为1080P*1路 15fps。
场景举例 |
总帧率 |
---|---|
1080p * 1路 |
128fps |
1080p * n路(n>=2) |
256fps |
4k * 1路 |
32fps |
4k * n路(n>=2) |
64fps |