VDEC功能及约束说明
Atlas 200/300/500 推理产品上,不支持本章中的VDEC功能。
Atlas 训练系列产品上,不支持本章中的VDEC功能。
功能说明
VDEC(Video Decoder)实现视频的解码。
分辨率约束
- 输入码流分辨率:
版本
分辨率范围
Atlas 推理系列产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
最大分辨率4096*4096,最小分辨率128*128。
Atlas 200I/500 A2推理产品
对于H264输入码流,最大分辨率8192*8192,最小分辨率128*128。
对于H265输入码流,最大分辨率5400*8192,最小分辨率128*128。
- 输出图片分辨率:
版本
分辨率范围
Atlas 推理系列产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
最大分辨率4096*4096,最小分辨率10*6。
Atlas 200I/500 A2推理产品
输出图片最大分辨率8192*8192;当输入码流宽度小于或等于4096时,输出图片最小分辨率为10*6,当输入码流宽度大于4096时,输出图片最小分辨率为128*128。
内存申请/释放接口说明
输入内存的大小就是指实际的输入码流所占用的大小,输出内存的大小参见表1中的计算公式。
版本 |
内存申请/释放接口 |
---|---|
Atlas 推理系列产品 |
VDEC视频解码时,调用hi_mpi_dvpp_malloc\hi_mpi_dvpp_free接口申请\释放Device上的输入、输出内存,这部分内存的生命周期由用户自行管理。 |
Atlas A2训练系列产品/Atlas 800I A2推理产品 Atlas 200I/500 A2推理产品 |
VDEC视频解码时,支持以下两种内存申请接口:
注意:调用hi_mpi_dvpp_malloc接口申请的内存为媒体数据处理的专用内存,但专用内存的地址空间有限,若关注内存规划或内存资源有限时,建议调用aclrtMalloc接口申请内存。 |
码流/图片格式、宽高对齐、内存约束
- 输入码流格式
- H264 bp/mp/hp level5.1 YUV420编码的码流,当前只支持annex-B的裸码流。
- H265 8/10bit level5.1 YUV420编码的码流,当前只支持annex-B的裸码流。
- 输出图片要求:
表1 码流/图片格式、宽高对齐、内存大小约束 输出图片格式
输出图片宽、高对齐要求
输出图片宽stride、高stride、内存大小要求
Atlas 推理系列产品
输出图片宽stride、高stride、内存大小要求
Atlas 200I/500 A2推理产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
YUV420SP NV12 8bit
宽2对齐
高2对齐
宽stride为宽16对齐后的值,最小32,最大16384。
高stride为高2对齐后的值,最小6,最大16384。
内存大小(单位Byte)≥ 宽stride * 高stride * 3/2
宽stride无对齐要求,与宽相同即可,最小10,最大24576。
高stride无对齐要求,与高相同即可,最小6,最大24576。
内存大小(单位Byte)≥ 宽stride * 高stride * 3/2
YUV420SP NV21 8bit
宽2对齐
高2对齐
RGB888
无对齐要求
宽stride为宽16对齐后再乘以3的值,最小48,最大16384。
高stride无对齐要求,最小6,最大16384。
内存大小(单位Byte)≥ 宽stride * 高stride
宽stride为宽乘以3的值,最小30,最大24576。
高stride无对齐要求,最小6,最大16384。
内存大小(单位Byte)≥ 宽stride * 高stride
BGR888
无对齐要求
输出图片格式的定义请参见hi_pixel_format,宽stride、高stride等概念请参见基本概念。
其它约束
- Atlas A2训练系列产品/Atlas 800I A2推理产品,若输出图片格式为YUV420SP NV12 10bit或YUV420SP NV21 10bit,使用VDEC功能时,不支持缩放图片、色域转换。
- VDEC只支持对按帧输入码流进行解码。
- 若码流中有坏帧、缺帧等情况,解码器VDEC解码时会将该帧标记为解码失败,并上报异常。
- 通过隔行扫描方式编码出来的码流,VDEC仅支持解码H264 8bit编码的码流。
- 同时配置按帧发送码流与按解码序输出,可以达到快速解码和快速输出的目的,但这种场景不支持解码含有B帧的码流。