下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

acl.himpi.venc_create_chn

c函数原型

hi_s32 hi_mpi_venc_create_chn(hi_venc_chn chn, const hi_venc_chn_attr *attr);

Python函数

ret = acl.himpi.venc_create_chn(chn, attr)

函数功能

创建编码通道。

Atlas 200/300/500 推理产品,当前版本不支持该接口。

Atlas 训练系列产品,当前版本不支持该接口。

输入说明

chn:int,编码通道号。
  • Atlas 推理系列产品,编码通道号的取值范围:[0, 256),JPEGE功能和VENC功能共用通道,且通道总数最多256。
  • Atlas A2训练系列产品,编码通道号的取值范围:[0, 256),JPEGE功能通道总数最多256。
  • Atlas 200I/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
说明:

对于Atlas 推理系列产品,昇腾虚拟化实例(Ascend Virtual Instance)场景下,VENC通道和JPEGE通道总数 = ( 被分配的VENC硬件单元+JPEGE硬件单元数量之和 / VENC硬件单元+JPEGE硬件单元总数之和 ) * 256,如果通道总数不为整数,则向下取整。

对于Atlas A2训练系列产品,昇腾虚拟化实例(Ascend Virtual Instance)场景下,JPEGE通道总数最多256。

对于Atlas 200I/500 A2推理产品,昇腾虚拟化实例(Ascend Virtual Instance)场景下,VENC通道 = ( 被分配的VENC硬件单元 / VENC硬件单元 ) * 128,如果通道总数不为整数,则向下取整。JPEGE的通道数不随算力影响,但JPEGE+VENC的总通道数最大128。

昇腾虚拟化实例(Ascend Virtual Instance)的详细描述,以及各场景下的算力资源规格请参见《昇腾虚拟化实例(AVI)用户指南》

attr:dict,编码通道属性字典,具体请参见hi_venc_chn_attr

返回值说明

ret:int,错误码。

约束说明

  • 单个Device上的通道号不能超出最大的通道号范围。
  • 编码通道属性由三部分组成,编码器属性、码率控制器属性和帧结构类型属性,帧结构类型属性简称GOP(Group of Pictures )类型属性。
  • 编码器属性必须设置编码码流Buffer深度、获取码流方式、编码profile等,表1详细描述了各种协议的各项属性的特性。
  • 推荐的编码宽高为:3840 * 2160(4k)、1920 * 1080(1080P)、1280 * 720(720P)。
  • H.264/H.265编码帧存由YHeaderSize、CHeaderSize、YSize、CSize、PmeSize、PmeInfoSize和TmvSize共同构成,编码器默认根据最大宽高计算帧存进行内存分配,在设置通道宽高时需保证根据通道宽高计算的每一部分帧存大小都不能大于最大宽高计算的帧存大小。
  • 码率控制器属性中的输入/输出帧率(src_frame_rate/dst_frame_rate)是用于配合编码过程中的码率(bit_rate)分配,不是最终的播放器显示帧率,若想要设置显示帧率请参考acl.himpi.venc_set_h264_vuiacl.himpi.venc_set_h265_vui接口。

    建议用户将码控帧率与显示帧率设置一致,否则播放时的码率可能与用户设置的编码码率不同,播放时的码率会随着所设置的显示帧率而变化。

参考资源

接口调用流程,参见JPEGE图片编码VENC视频编码

参考信息

表1 编码器属性的约束

编码协议

编码方式

码流 Buffer 深度

获取码流模式

编码 profile

H.264

Frame

  • mini_buf_mode = 0时,Buffer ≥ max_pic_width * max_pic_height * 3/4。
  • mini_buf_mode = 1时,Buffer ≥ 32 * 1024 Byte。

Frame/Slice

Baseline

Mainprofile

Highprofile

JPEG

Frame

  • mini_buf_mode = 0时,如果原图格式为YUV420,Buffer最小值为原图宽16对齐 * 原图高16对齐 * 3/2。如果原图格式为YUV422 Packed,Buffer最小值为原图宽16对齐 * 原图高16对齐 * 2
  • mini_buf_mode = 1时,Buffer ≥ 32 * 1024 Byte。

Frame/Ecs

Baseline

H.265

Frame

  • mini_buf_mode = 0时,Buffer ≥ max_pic_width * max_pic_height * 3/4。
  • mini_buf_mode = 1时,Buffer ≥ 32 * 1024 Byte。

Frame/Slice

Main profile

Main 10 profile(暂不支持)

  • mini_buf_mode = 0时,Buffer ≥ max_pic_width * max_pic_height * (3/4) * (5/4)。
  • mini_buf_mode = 1时,Buffer ≥ 32 * 1024 Byte

Frame/Slice

Main 10 profile(暂不支持)

搜索结果
找到“0”个结果

当前产品无相关内容

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