跳到主要内容

函数:vdec_get_channel_desc_out_mode

函数:vdec_get_channel_desc_out_pic_width

C函数原型uint32_t aclvdecGetChannelDescOutPicWidth(const aclvdecChannelDesc *channelDesc);
Python函数out_pic_width = acl.media.vdec_get_channel_desc_out_pic_width(vdec_channel_desc)
函数功能获取视频解码处理通道描述信息的属性:图片宽度。
输入说明vdec_channel_desc:int,vdec通道描述地址对象, 表示视频数据解码处理通道的描述信息。
返回值说明out_pic_width:int,图片宽度。

父主题: VDEC功能

函数:vdec_get_channel_desc_out_pic_height

C函数原型uint32_t aclvdecGetChannelDescOutPicHeight(const aclvdecChannelDesc *channelDesc);
Python函数out_pic_height = acl.media.vdec_get_channel_desc_out_pic_height(vdec_channel_desc)
函数功能获取视频解码处理通道描述信息的属性:图片高度。
输入说明vdec_channel_desc:int,vdec通道描述地址对象, 表示视频数据解码处理通道的描述信息。
返回值说明out_pic_height:int,图片高度。

父主题: VDEC功能

函数:vdec_get_channel_desc_ref_frame_num

C函数原型uint32_t aclvdecGetChannelDescRefFrameNum(const aclvdecChannelDesc *channelDesc)
Python函数ref_frame_num = acl.media.vdec_get_channel_desc_ref_frame_num(vdec_channel_desc)
函数功能获取视频解码处理通道描述信息的属性:参考帧数量。
输入说明vdec_channel_desc:int,vdec通道描述地址对象, 表示视频数据解码处理通道的描述信息。
返回值说明ref_frame_num:int,参考帧数量,取值范围[0, 16]。

父主题: VDEC功能

函数:vdec_get_channel_desc_out_mode

C函数原型uint32_t aclvdecGetChannelDescOutMode(const aclvdecChannelDesc *channelDesc)
Python函数out_mode = acl.media.vdec_get_channel_desc_out_mode(vdec_channel_desc)
函数功能获取视频解码处理通道的描述信息:是否实时出帧。
输入说明vdec_channel_desc:int,vdec通道描述地址对象, 表示视频数据解码处理通道的描述信息。
返回值说明out_mode:int,设置是否实时出帧(即发送一帧解码一帧,无需依赖后续帧的传入)。 取值范围如下:
- 0:默认出帧模式,由于解码过程中存在缓存帧,无法实时输出,因此VDEC需要在收到码流中的多帧数据后,才开始输出解码结果。
- 1:快速出帧模式,VDEC获取码流中的一帧数据后,就开始实时输出解码结果。只支持简单参考关系的H264/H265标准码流(无长期参考帧,无B帧)。

父主题: VDEC功能

函数:vdec_get_channel_desc_bit_depth

C函数原型uint32_t aclvdecGetChannelDescBitDepth(const aclvdecChannelDesc *channelDesc)
Python函数desc_bit_depth = acl.media.vdec_get_channel_desc_bit_depth(vdec_channel_desc)
函数功能获取视频解码处理通道的描述信息。
输入说明vdec_channel_desc:int,表示视频解码数据处理通道的描述信息。
返回值说明desc_bit_depth:int,视频位宽。 取值范围如下:
- 0:8-bit
- 1: 10-bit

父主题: VDEC功能

功能及约束说明

功能说明

VENC(Video Encoder)将YUV420SP NV12/NV21-8bit图片数据编码成H264/H265格式的视频码流。

不支持单进程多线程场景。

分辨率约束

  • 输入图片分辨率:

    昇腾AI处理器分辨率范围
    Atlas 200/500 A2推理产品最大分辨率8192*8192,最小分辨率114*114。
  • 输出码流分辨率

    VENC只对图片编码,不会改变图片分辨率,因此输出与输入的图片分辨率保持一致。

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

实现VENC视频编码功能时:

  • 输入内存

    需调用acl.media.dvpp_malloc接口申请Device上的输入内存,调用acl.media.dvpp_free接口释放输入内存,这部分内存的生命周期由用户自行管理。内存大小参见下表中的计算公式。

  • 输出内存

    不需要用户管理输出内存,由系统管理内存。

:::note 说明 输入图片格式的定义请参见acldvppPixelFormat,宽stride、高stride等概念请参见基本概念。 :::

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

输入图片格式

输入图片宽、高对齐要求

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

输出码流格式

YUV420SP NV12 8bit

宽2对齐

高2对齐

宽stride为宽16对齐后的值。

高stride无需设置。

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

  • H264 BP/MP/HP
  • H265 MP(仅支持Slice码流)

YUV420SP NV21 8bit

父主题: VENC功能

性能指标说明

性能指标说明

单个Device的基本场景性能指标参考如下(1路对应一个通道,一个通道对应一个线程):

720p指分辨率为1280*720的图片;1080p指分辨率为1920*1080的图片;4K指分辨率为3840*2160的图片。

场景举例总帧率
720p*n路(1≤n≤3)n*400fps
720p*n路(n>3)1200fps
1080p*n路(1≤n≤3)n*200fps
1080p*n路(n>3)600fps
4k*n路(1≤n≤3)n*50fps
4k*n路(n>3)150fps

注:其它分辨率可以等量估算。

父主题: VENC功能

在线提单