acl.himpi.venc_set_ref_param

c函数原型

hi_s32 hi_mpi_venc_set_ref_param(hi_venc_chn chn, const hi_venc_ref_param *ref_param)

Python函数

ret = acl.himpi.venc_set_ref_param(chn, ref_param)

函数功能

设置H.264/H.265编码通道高级跳帧参考参数,用于改变帧间参考关系。关于高级跳帧模式的详细说明请参见高级跳帧模式说明

输入说明

  • chn:int,编码通道号。

    编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。

  • ref_param:dict,H.264/H.265编码通道高级跳帧参考参数字典。参见hi_venc_ref_param

返回值说明

ret:int,错误码。

约束说明

  • 创建H.264/H.265协议编码通道时,默认跳帧参考模式是1倍跳帧参考模式。如果用户需要修改编码通道的跳帧参考,建议在创建通道之后,启动编码之前调用此接口,减少在编码过程中调用的次数。
  • 本接口在编码过程中被调用时,等到下一个I帧时生效。
  • 如果用户设置1倍跳帧参考模式,对应的配置为:pred_en=HI_TRUE, enhance=0 ,base =1;如果设置2倍跳帧参考模式,对应的配置为: pred_en= HI_TRUE,enhance=1, base = 1;如果设置 4 倍跳帧参考模式,对应的配置为: pred_en =HI_TRUE, enhance = 1, base = 2。
  • 如果用户设置通道的Gop Mode为HI_VENC_GOP_MODE_DUAL_P时,sp_interval只支持设置为sp_interval = (enhance+1 )*base,其中,当 sp_interval 不为0时, pred _en只支持设置为 HI_TRUE。
  • 如果用户设置通道的Gop Mode为HI_VENC_GOP_MODE_SMART_P时,pred_en只支持设置为HI_TRUE 。
  • 如果用户设置通道的Gop Mode为HI_VENC_GOP_MODE_BIPREDB时,enhance必须等于b_frame_num 。

高级跳帧模式说明

高级跳帧参考模式涉及3 个参数:base、enhance 和pred_en,其含义请参考hi_venc_ref_param。高级跳帧参考模式示意图如下图所示。