hi_venc_h264_avbr_param
说明
定义H264协议编码通道AVBR码率控制模式的高级参数。
定义
typedef struct { hi_s32 chg_pos; hi_u32 max_i_proportion; hi_u32 min_i_proportion; hi_s32 max_reencode_times; hi_bool qpmap_en; hi_s32 min_still_percent; hi_u32 max_still_qp; hi_u32 min_still_psnr; hi_u32 max_qp; hi_u32 min_qp; hi_u32 max_i_qp; hi_u32 min_i_qp; hi_u32 min_qp_delta; hi_u32 motion_sensitivity; hi_bool save_bitrate_en; }hi_venc_h264_avbr_param;
成员
max_bit_rate表示运动场景下的最大码率,max_bit_rate*chg_pos*min_still_percent 表示静止情况下的最小码率。
根据运动程度的不同,目标码率会在最大码率和最小码率间调整。max_qp,min_qp用于控制图像的质量范围,码率控制以QP钳位为最高优先级,超出min_qp,max_qp范围内码率控制将失效。
max_bit_rate参数在创建VENC通道时设置,是hi_venc_chn_attr.rc_attr结构体内的成员变量。
成员名称 |
描述 |
---|---|
chg_pos |
AVBR开始调整Qp时的码率相对于最大码率的比例。 取值范围:[50, 100]。 默认值:65。 |
min_i_proportion |
预留参数,暂不支持。 |
max_i_proportion |
最大IP帧码率的比值。 取值范围:[1,100]。 默认值:100。 |
max_reencode_times |
每帧重编码次数。0 表示不进行重编码。 取值范围:[0, 3]。 默认值:2。 |
qpmap_en |
预留参数,暂不支持。 |
min_still_percent |
静止状态下目标码率的最小百分比。此变量设置为100,AVBR将不会在判别为静止时主动调低目标码率。 取值范围:[5, 100]。 默认值:25。 |
max_still_qp |
静止场景I帧QP的最大值。 取值范围:[min_i_qp, max_i_qp]。 默认值:35。 |
min_still_psnr |
预留参数,暂不支持。 |
max_qp |
P、B帧的最大QP。 取值范围:[0, 51]。 默认值:51。 |
min_qp |
P、B帧的最小QP。 取值范围:[0, max_qp]。 默认值:24。 |
max_i_qp |
I帧的最大QP。 取值范围:[0, 51]。 默认值:51。 |
min_i_qp |
I帧的最小QP。 取值范围:[0, max_i_qp]。 默认值:24。 |
min_qp_delta |
帧级QP最小值和CU级QP最小值的差值。 I帧,帧级QP最小值= min_qp_delta + min_i_qp P、B帧,帧级QP最小值= min_qp_delta+min_qp 取值范围:[0, 4]; 默认值:0。 |
motion_sensitivity |
运动敏感度。 取值范围:[0, 100]。 默认值:100。 |
save_bitrate_en |
预留参数,暂不支持。 |