函数:vdec_get_channel_desc_ref_frame_num
函数: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 | |
YUV420SP NV21 8bit |
父主题: VENC功能
在线提单