文档
注册

hi_venc_rc_param

说明

定义编码通道码率控制器的高级参数。

定义

typedef struct {
    hi_u32 threshold_i[HI_VENC_TEXTURE_THRESHOLD_SIZE];
    hi_u32 threshold_p[HI_VENC_TEXTURE_THRESHOLD_SIZE];
    hi_u32 threshold_b[HI_VENC_TEXTURE_THRESHOLD_SIZE];
    hi_u32 direction;
    hi_u32 row_qp_delta;
    hi_s32 first_frame_start_qp;
    hi_venc_scene_chg_detect scene_chg_detect;
    union {
        hi_venc_h264_cbr_param h264_cbr_param;
        hi_venc_h264_vbr_param h264_vbr_param;
        hi_venc_h264_avbr_param h264_avbr_param;
        hi_venc_h264_qvbr_param h264_qvbr_param;
        hi_venc_h264_cvbr_param h264_cvbr_param;
        hi_venc_h265_cbr_param h265_cbr_param;
        hi_venc_h265_vbr_param h265_vbr_param;
        hi_venc_h265_avbr_param h265_avbr_param;
        hi_venc_h265_qvbr_param h265_qvbr_param;
        hi_venc_h265_cvbr_param h265_cvbr_param;
        hi_venc_mjpeg_cbr_param mjpeg_cbr_param;
        hi_venc_mjpeg_vbr_param mjpeg_vbr_param;
     };
}hi_venc_rc_param;

成员

成员名称

描述

threshold_i

I帧宏块级码率控制的Madi(用于度量当前帧的空域纹理复杂度)门限。

取值范围:[0, 255]。

默认值:[0,0,0,0,3,3,5,5,8,8,8,15,15,20,25,25]。

减方向的数值设置为0,表示关闭当前级;加方向的数值设置为255,表示关闭当前级。

threshold_p

P帧宏块级码率控制的Madi门限。

取值范围:[0, 255]。

默认值:[0,0,0,0,3,3,5,5,8,8,8,15,15,20,25,25]。

减方向的数值设置为0,表示关闭当前级;加方向的数值设置为255,表示关闭当前级。

threshold_b

B帧宏块级码率控制的Madi门限。

取值范围:[0, 255]。

默认值:[0,0,0,0,3,3,5,5,8,8,8,15,15,20,25,25]。

减方向的数值设置为0,表示关闭当前级;加方向的数值设置为255,表示关闭当前级。

direction

在基于纹理宏块级码率控制时,用于控制加减方向。

取值范围:[0, 16]。

默认值:8。

举例,direction=7 表示threshold_i、threshold_p、threshold_b的前7个参数用于 QP减方向;后9个参数用于QP加方向。

row_qp_delta

行级码率控制调节幅度是一帧内行级调节的最大范围,其中行级以宏块行为单位。调节幅度越大,允许行级调整的QP范围越大,码率越平稳。对于图像复杂度分布不均匀的场景,行级码率控制调节幅度设置过大会带来图像质量不均匀。

取值范围:[0, 10],设置为0表示关闭基于行的宏块级码率控制。

默认值:1。

first_frame_start_qp

设置第一帧的起始Qp值,CBR/VBR/AVBR/QVBR/CVBR模式下,该参数有效。此处第一帧的含义是:通道创建,GOP模式切换,RC模式切换,或分辨率切换后,序列的第一个IDR帧。需要注意如果第一帧编码完成后判定为重编,重编的帧不是第一帧,不受 first_frame_start_qp的约束。

取值范围:[MinIQP, MaxIQP]和-1。MinIQP参数值、MaxIQP参数值在码率控制模式的高级参数结构体内设置。

默认值:-1。如果为-1,则第一帧的起始QP由编码器内部计算,如果为其它合法值则由用户通过该参数设置第一帧的起始QP。

在低码率、少量运动场景下,如果编码效果不好,可以通过降低该参数值来提升图像质量和效果,例如,在“352*288分辨率,帧率25fps,GOP=50”场景下,将first_frame_start_qp设置为32,同时将max_reencode_times参数设置为0(表示不重编码,该参数是以下码率控制模式高级参数之一)。

scene_chg_detect

场景检测相关的控制参数,自适应检测当前编码场景是否发生变化,使能后会改善场景切换时的码率波动,VBR/AVBR/QVBR/CVBR 有效。使能场景切换检测时可使能自适应插入IDR帧,在场景切换时编码IDR帧,需要注意关闭重编后检测场景切换会失效。该参数建议与编码场景模式的SCENE_0模式配合使用。

h264_cbr_param

H.264通道CBR(Constant Bit Rate)码率控制模式高级参数。

h264_vbr_param

H.264通道VBR(Variable Bit Rate)码率控制模式高级参数。

h264_avbr_param

H.264通道AVBR(Adaptive Variable Bit Rate)码率控制模式高级参数。

h264_qvbr_param

H.264通道QVBR (Quality Variable Bit Rate)码率控制模式高级参数。

h264_cvbr_param

H.264通道CVBR (Constrained Variable Bit Rate)码率控制模式高级参数。

h265_cbr_param

H.265通道CBR(Constant Bit Rate)码率控制模式高级参数。

h265_vbr_param

H.265通道VBR(Variable Bit Rate)码率控制模式高级参数。

h265_avbr_param

H.265通道AVBR(Adaptive Variable Bit Rate)码率控制模式高级参数。

h265_qvbr_param

H.265通道QVBR (Quality Variable Bit Rate)码率控制模式高级参数。

h265_cvbr_param

H.265通道CVBR (Constrained Variable Bit Rate)码率控制模式高级参数。

mjpeg_cbr_param

MJPEG通道CBR(Constant Bit Rate)码率控制模式高级参数。预留参数,暂不支持。

mjpeg_vbr_param

MJPEG通道VBR(Variable Bit Rate)码率控制模式高级参数。预留参数,暂不支持。

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

当前产品无相关内容

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