文档
注册

VDEC功能及约束说明

Atlas 200/300/500 推理产品上,该功能为预留功能,暂不支持。

Atlas 训练系列产品上,该功能为预留功能,暂不支持。

功能说明

VDEC(Video Decoder)实现视频的解码。

分辨率约束

  • 输入码流分辨率:

    最大分辨率4096*4096,最小分辨率128*128。

  • 输出图片分辨率:

    最大分辨率4096*4096,最小分辨率10*6。

码流/图片格式、宽高对齐、内存约束

实现VDEC视频解码功能时,输入或输出内存的生命周期由用户自行管理:

  • 输入内存。

    调用acl.himpi.dvpp_malloc接口/acl.himpi.dvpp_free接口申请/释放内存或调用acl.rt.malloc/acl.rt.free接口申请/释放内存,内存大小就是指实际的输入码流所占用的大小。

    调用acl.himpi.dvpp_malloc接口申请的内存为媒体数据处理的专用内存,但专用内存的地址空间有限,若关注内存规划或内存资源有限时,使用VDEC视频解码功能时,建议调用acl.rt.malloc接口申请内存。

  • 输出内存。

    需调用acl.himpi.dvpp_malloc接口申请Device上的输出内存,调用acl.himpi.dvpp_free接口释放输出内存,内存大小请参见下表中的计算公式。

  • 输入码流格式。
    • H264 bp/mp/hp level5.1 YUV420编码的码流,当前只支持annex-B的裸码流。
    • H265 8/10bit level5.1 YUV420编码的码流,当前只支持annex-B的裸码流。

输出图片格式的定义请参见hi_pixel_format,宽stride、高stride等概念请参见基本概念

表1 码流/图片格式、宽高对齐、内存大小约束

输出图片格式

输出图片宽、高对齐要求

输出图片宽stride、高stride、内存大小要求

YUV420SP NV12 8bit

宽2对齐

高2对齐

宽stride为宽16对齐后的值,最小32,最大16384。

高stride为高2对齐后的值,最小6,最大16384。

内存大小(单位Byte)≥ 宽stride * 高stride * 3/2

YUV420SP NV21 8bit

宽2对齐

高2对齐

宽stride为宽16对齐后的值,最小32,最大16384。

高stride为高2对齐后的值,最小6,最大16384。

内存大小(单位Byte)≥ 宽stride * 高stride * 3/2

RGB888

无对齐要求

宽stride为宽16对齐后再乘以3的值,最小48,最大16384。

高stride无对齐要求,最小6,最大16384。

内存大小(单位Byte)≥ 宽stride * 高stride

BGR888

无对齐要求

宽stride为宽16对齐后再乘以3的值,最小48,最大16384。

高stride无对齐要求,最小6,最大16384。

内存大小(单位Byte)≥ 宽stride * 高stride

其它约束

  • VDEC只支持对按帧输入码流进行解码。
  • 若码流中有坏帧、缺帧等情况,解码器VDEC解码时会将该帧标记为解码失败,并上报异常。
  • 通过隔行扫描方式编码出来的码流,VDEC仅支持解码H264 8bit编码的码流。
  • 同时配置按帧发送码流与按解码序输出,可以达到快速解码和快速输出的目的,但这种场景不支持解码含有B帧的码流。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词