---
title: hi_venc_h264_vbr_param
description: "定义H264协议编码通道VBR码率控制模式的高级参数。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_1514.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_1514.html
indexId: f506f69bb428811249d225a2948755670518b31aeeefffbd4b026a98dd2e792f105
---
# 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\_pos | VBR开始调整Qp时的码率相对于最大码率的比例。 取值范围：[50, 100]。 默认值：90。 |
| min\_i\_proportion | 预留参数，暂不支持。 |
| max\_i\_proportion | 最大IP帧码率的比值。 取值范围：[1,100]。 该参数默认值为100。 |
| max\_reencode\_times | 每帧重编码次数。0 表示不进行重编码。 取值范围：[0, 3]。 默认值：2。 |
| qpmap\_en | 预留参数，暂不支持。 |
| 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。 |
