Skip to main content

hi_venc_h264_cvbr_param

hi_venc_h264_vbr_param

说明

定义H264协议编码通道VBR码率控制模式的高级参数。

定义

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_u32 max_qp;
hi_u32 min_qp;
hi_u32 max_i_qp;
hi_u32 min_i_qp;
} hi_venc_h264_vbr_param;

成员

max_qp、min_qp用于控制图像的质量范围,max_bit_rate用于钳位码率统计时间内的最大编码码率,chg_pos用于控制开始调整QP的码率基准线。

当编码码率大于max_bit_rate*chg_pos时,图像QP会逐步向max_qp调整,如果图像QP达到max_qp,QP会被钳位到最大值,max_bit_rate的钳位效果失效,编码码率有可能会超出max_bit_rate。

当编码码率小于max_bit_rate*chg_pos时,图像QP会逐步向min_qp调整,如果图像QP达到min_qp,此时编码的码率已经达到最大值,而且图像质量最好。

max_bit_rate参数在创建VENC通道时设置,是hi_venc_chn_attr.rc_attr结构体内的成员变量。

成员名称描述
chg_posVBR开始调整Qp时的码率相对于最大码率的比例。 取值范围:[50, 100]。 默认值:90。
min_i_proportion预留参数,暂不支持。
max_i_proportion最大IP帧码率的比值。 取值范围:[1,100]。 该参数默认值为100。
max_reencode_times每帧重编码次数。0 表示不进行重编码。 取值范围:[0, 3]。 默认值:2。
qpmap_en预留参数,暂不支持。
max_qpP、B帧的最大QP。取值范围:[0, 51]。 默认值:51。
min_qpP、B帧的最小QP。 取值范围:[0, max_qp]。 默认值:24。
max_i_qpI帧的最大QP。 取值范围:[0, 51]。 默认值:51。
min_i_qpI帧的最小QP。 取值范围:[0, max_i_qp]。 默认值:24。

父主题: VENC视频/JPEGE图像编码

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范围内码率控制将失效。

:::note 说明 max_bit_rate参数在创建VENC通道时设置,是hi_venc_chn_attr.rc_attr结构体内的成员变量。 :::

成员名称描述
chg_posAVBR开始调整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_qpP、B帧的最大QP。 取值范围:[0, 51]。 默认值:51。
min_qpP、B帧的最小QP。 取值范围:[0, max_qp]。 默认值:24。
max_i_qpI帧的最大QP。 取值范围:[0, 51]。 默认值:51。
min_i_qpI帧的最小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预留参数,暂不支持。

父主题: VENC视频/JPEGE图像编码

hi_venc_h264_qvbr_param

说明

定义H264协议编码通道QVBR码率控制模式的高级参数。

定义

typedef struct {
hi_u32 max_i_proportion;
hi_u32 min_i_proportion;
hi_s32 max_reencode_times;
hi_bool qpmap_en;
hi_u32 max_qp;
hi_u32 min_qp;
hi_u32 max_i_qp;
hi_u32 min_i_qp;
hi_s32 max_bit_percent;
hi_s32 min_bit_percent;
hi_s32 max_psnr_fluctuate;
hi_s32 min_psnr_fluctuate;
} hi_venc_h264_qvbr_param;

成员

当实时统计的PSNR小于max_psnr_fluctuate时,适当增加目标码率,最大码率=target_bit_rate* max_bit_percent。

当实时统计的PSNR大于max_psnr_fluctuate时,适当减小目标码率,最小码率=target_bit_rate* min_bit_percent。

根据当前PSNR的不同,目标码率会在最大码率和最小码率间调整,当PSNR值范围超过[min_psnr_fluctuate-4,max_psnr_fluctuate+4]∩[20,40]时,PSNR不再起作用,码率会在最大码率和最小码率间调整。

max_qp,min_qp用于控制图像的质量范围,码率控制以QP钳位为最高优先级,超出min_qp,max_qp范围内码率控制将失效。

码率浮动上下限的优先级高于PSNR的优先级,例如,当码率浮动到上限依然不能满足PSNR要求,则码率不会再继续上调。

:::note 说明 target_bit_rate参数在创建VENC通道时设置,是hi_venc_chn_attr.rc_attr结构体内的成员变量。 :::

成员名称描述
min_i_proportion预留参数,暂不支持。
max_i_proportion最大IP帧码率的比值。 取值范围:[1,100]。 默认值:100。
max_reencode_times每帧重编码次数。0表示不进行重编码。 取值范围:[0, 3]。 默认值:2。
qpmap_en预留参数,暂不支持。
max_qpP、B帧的最大QP。 取值范围:[min_qp, 51]。 默认值:51。
min_qpP、B帧的最小QP。 取值范围:[0, 51]。 默认值:16。
max_i_qpI帧的最大QP。 取值范围:[min_i_qp, 51]。 默认值:51。
min_i_qpI帧的最小QP。 取值范围:[0, 51]。 默认值:16。
max_bit_percent码率百分比上限。 取值范围:[min_bit_percent, 180]。 默认值:110。
min_bit_percent码率百分比下限。 取值范围:[30, 180]。 默认值:45。
max_psnr_fluctuatePsnr上限。 取值范围:[min_psnr_fluctuate, 40]。 默认值:40。
min_psnr_fluctuatePsnr下限。 取值范围:[18, 40]。 默认值:23。

父主题: VENC视频/JPEGE图像编码

hi_venc_h264_cvbr_param

说明

定义H264协议编码通道CVBR码率控制模式的高级参数。

定义

typedef struct {
hi_u32 max_i_proportion;
hi_u32 min_i_proportion;
hi_s32 max_reencode_times;
hi_bool qpmap_en;
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 max_qp_delta;
hi_u32 extra_bit_percent;
hi_u32 long_term_stats_time_unit;
hi_bool save_bitrate_en;
} hi_venc_h264_cvbr_param;

成员

成员名称描述
min_i_proportion预留参数,暂不支持。
max_i_proportion最大IP帧码率的比值。 取值范围:[1,100]。 默认值:100。
max_reencode_times每帧重编码次数。0 表示不进行重编码。 取值范围:[0, 3]。 默认值:2。
qpmap_en预留参数,暂不支持。
max_qpP、B帧的最大QP。 取值范围:[min_qp, 51]。 默认值:47。
min_qpP、B帧的最小QP。 取值范围:[0, 51]。 默认值:22。
max_i_qpI帧的最大QP。 取值范围:[min_i_qp, 51]。 默认值:47。
min_i_qpI帧的最小QP。 取值范围:[0, 51]。 默认值:20。
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。
max_qp_delta帧级QP最大值和CU级QP最大值的差值。 I帧,帧级QP最大值 = max_i_qp - max_qp_delta P、B 帧:帧级QP最大值= max_qp - max_qp_delta 取值范围:[0, 4]。 默认值:0。
extra_bit_percent编码器输出码流最大透支bit 数百分比。 在码率不足时,为保证图像质量,编码器会通过透支一定的bit数以提升图像质量,这部分透支的码率会在编码压力较小时进行偿还。 取值范围:[0, 1000]。 默认值:5。
long_term_stats_time_unit码率长期统计时间参数(long_term_stats_time)的单位,本变量单位是秒(s),如配置long_term_stats_time_unit = 60,long_term_stats_time =3,代表长期统计时间为3 分钟。 取值范围:[1, 1800]。 默认值:60。
save_bitrate_en预留参数,暂不支持。

父主题: VENC视频/JPEGE图像编码

hi_venc_h265_vbr_param

说明

定义H265协议编码通道VBR码率控制模式的高级参数。

定义

typedef struct {
hi_s32 chg_pos;
hi_u32 max_i_proportion;
hi_u32 min_i_proportion;
hi_s32 max_reencode_times;
hi_u32 max_qp;
hi_u32 min_qp;
hi_u32 max_i_qp;
hi_u32 min_i_qp;
hi_bool qpmap_en;
hi_venc_rc_qpmap_mode qpmap_mode;
}hi_venc_h265_vbr_param;

成员

max_qp、min_qp用于控制图像的质量范围,max_bit_rate用于钳位码率统计时间内的最大编码码率,chg_pos用于控制开始调整QP的码率基准线。

当编码码率大于max_bit_rate*chg_pos时,图像QP会逐步向max_qp调整,如果图像QP达到max_qp,QP会被钳位到最大值,max_bit_rate的钳位效果失效,编码码率有可能会超出max_bit_rate。

当编码码率小于max_bit_rate*chg_pos时,图像QP会逐步向min_qp调整,如果图像QP达到min_qp,此时编码的码率已经达到最大值,而且图像质量最好。

:::note 说明 max_bit_rate参数在创建VENC通道时设置,是hi_venc_chn_attr.rc_attr结构体内的成员变量。 :::

成员名称描述
chg_pos开始调整Qp时的码率相对于最大码率的比例。 取值范围:[50, 100]。 默认值:90。
max_i_proportion最大IP 帧码率的比值。 取值范围:[1,100]。 该参数默认值为100。
min_i_proportion预留参数,暂不支持。
max_reencode_times每帧重编码次数。0 表示不进行重编码。 取值范围:[0, 3]。 默认值:2。
max_qpP帧的最大QP。 取值范围:[0, 51]。 默认值:51。
min_qpP帧的最小QP。 取值范围:[0, max_qp]。 默认值:24。
max_i_qpI帧的最大QP。 取值范围:[0, 51]。 默认值:51。
min_i_qpI帧的最小QP。 取值范围:[0, max_i_qp]。 默认值:24。
qpmap_en预留参数,暂不支持。
qpmap_mode预留参数,暂不支持。

父主题: VENC视频/JPEGE图像编码

hi_venc_h265_avbr_param

说明

定义H265协议编码通道AVBR码率控制模式的高级参数。

定义

typedef struct {
hi_s32 chg_pos;
hi_u32 max_i_proportion;
hi_u32 min_i_proportion;
hi_s32 max_reencode_times;
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 qpmap_en;
hi_venc_rc_qpmap_mode qpmap_mode;
}hi_venc_h265_avbr_param;

成员

max_bit_rate表示运动场景下的最大码率,max_bit_rate*chg_pos*min_still_percent 表示静止情况下的最小码率。

根据运动程度的不同,目标码率会在最大码率和最小码率间调整。max_qp,min_qp用于控制图像的质量范围,码率控制以QP钳位为最高优先级,超出min_qp,max_qp范围内码率控制将失效。

:::note 说明 max_bit_rate参数在创建VENC通道时设置,是hi_venc_chn_attr.rc_attr结构体内的成员变量。 :::

成员名称描述
chg_pos开始调整Qp 时的码率相对于最大码率的比例。 取值范围:[50, 100]。 默认值:65。
min_i_proportion预留参数,暂不支持。
max_i_proportion最大IP帧码率的比值。 取值范围:[1,100]。 默认值:100。
max_reencode_times每帧重编码次数。0 表示不进行重编码。 取值范围:[0, 3]。 默认值:2。
min_still_percent静止状态下目标码率的最小百分比。此变量设置为100,AVBR 将不会在判别为静止时主动调低目标码率。 取值范围:[5, 100]。 默认值:25。
max_still_qp静止场景I帧QP的最大值。 取值范围:[min_i_qp, max_i_qp]。 默认值:35。
min_still_psnr预留参数,暂不支持。
max_qpP帧的最大QP。 取值范围:[0, 51]。 默认值:51。
min_qpP帧的最小QP。 取值范围:[0, max_qp]。 默认值:24。
max_i_qpI帧的最大QP。 取值范围:[0, 51]。 默认值:51。
min_i_qpI帧的最小QP。 取值范围:[0, max_i_qp]。 默认值:24。
min_qp_delta帧级QP最小值和CU级QP最小值的差值。 I帧:FrameLevelMinQp = min_qp_delta + min_i_qp P、B 帧:FrameLevelMinQp= min_qp_delta+min_qp 取值范围:[0, 4]; 默认值:0。
motion_sensitivity运动敏感度。 取值范围:[0, 100]。 默认值:100。
qpmap_en预留参数,暂不支持。
qpmap_mode预留参数,暂不支持。

父主题: VENC视频/JPEGE图像编码

hi_venc_h265_qvbr_param

说明

定义H265协议编码通道QVBR码率控制模式的高级参数。

定义

typedef struct {
hi_u32 max_i_proportion;
hi_u32 min_i_proportion;
hi_s32 max_reencode_times;
hi_bool qpmap_en;
hi_venc_rc_qpmap_mode qpmap_mode;
hi_u32 max_qp;
hi_u32 min_qp;
hi_u32 max_i_qp;
hi_u32 min_i_qp;
hi_s32 max_bit_percent;
hi_s32 min_bit_percent;
hi_s32 max_psnr_fluctuate;
hi_s32 min_psnr_fluctuate;
} hi_venc_h265_qvbr_param;

成员

当实时统计的PSNR小于max_psnr_fluctuate时,适当增加目标码率,最大码率=target_bit_rate* max_bit_percent。

当实时统计的PSNR大于max_psnr_fluctuate时,适当减小目标码率,最小码率=target_bit_rate* min_bit_percent。

根据当前PSNR的不同,目标码率会在最大码率和最小码率间调整,当PSNR值范围超过[min_psnr_fluctuate-4,max_psnr_fluctuate+4]∩[20,40]时,PSNR不再起作用,码率会在最大码率和最小码率间调整。

max_qp,min_qp用于控制图像的质量范围,码率控制以QP钳位为最高优先级,超出min_qp,max_qp范围内码率控制将失效。

码率浮动上下限的优先级高于PSNR的优先级,例如,当码率浮动到上限依然不能满足PSNR要求,则码率不会再继续上调。

:::note 说明 target_bit_rate参数在创建VENC通道时设置,是hi_venc_chn_attr.rc_attr结构体内的成员变量。 :::

成员名称描述
min_i_proportion预留参数,暂不支持。
max_i_proportion最大IP 帧码率的比值。 取值范围:[1,100]。 默认值:100。
max_reencode_times每帧重编码次数。0 表示不进行重编码。 取值范围:[0, 3]。 默认值:2。
qpmap_en预留参数,暂不支持。
qpmap_mode预留参数,暂不支持。
max_qpP、B帧的最大QP。 取值范围:[min_qp, 51]。 默认值:51。
min_qpP、B帧的最小QP。 取值范围:[0, 51]。 默认值:16。
max_i_qpI帧的最大QP。 取值范围:[min_i_qp, 51]。 默认值:51。
min_i_qpI帧的最小QP。 取值范围:[0, 51]。 默认值:16。
max_bit_percent码率百分比上限。 取值范围:[min_bit_percent, 180]。 默认值:110。
min_bit_percent码率百分比下限。 取值范围:[30, 180]。 默认值:45。
max_psnr_fluctuatePsnr上限。 取值范围:[min_psnr_fluctuate, 40]。 默认值:40。
min_psnr_fluctuatePsnr下限。 取值范围:[18, 40]。 默认值:23。

父主题: VENC视频/JPEGE图像编码

在线提单