---
title: hi_venc_rc_param
description: "定义编码通道码率控制器的高级参数。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_1512.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_1512.html
indexId: a50ef4808494d043464753b9180c51c9481d532b2e4f5cfec8d18509bd5fc580105
---
# 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）码率控制模式高级参数。预留参数，暂不支持。 |
