---
title: SetEncodeParam
description: "设置编码参数。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2400/armnative/kunpengcpsvideo_16_0099.html
sourcePath: /source/zh/kunpengboostkithistory/2400/armnative/kunpengcpsvideo_16_0099.html
indexId: 4333700268ecfcc5b8c50732c2e768260b979dc122b2f0ecb5e1ee7458e9707677
---
# SetEncodeParam

#### 函数功能

设置编码参数。


#### 约束说明

NA


#### 函数原型

int32_t SetEncodeParam(EncodeParamT params[], uint32_t num) = 0


#### 参数说明

| 字段名称 | 输入/输出 | 字段类型 | 字段描述 |
| --- | --- | --- | --- |
| params | 输入 | EncodeParamT[] | 要设置的编码参数的列表。 |
| num | 输入 | uint32\_t | 要设置编码参数的数量。 |


EncodeParamT的相关定义如下：```
enum EncodeParamIndex : uint32_t {
    ENCODE_PARAM_NONE,
    ENCODE_PARAM_RATE_CONTROL, //设置码控方式
    ENCODE_PARAM_BITRATE, //设置码率
    ENCODE_PARAM_FRAMERATE, //设置帧率
    ENCODE_PARAM_GOPSIZE, //设置gopsize
    ENCODE_PARAM_PROFILE, //设置profile
    ENCODE_PARAM_KEYFRAME, //设置关键帧
    ENCODE_PARAM_STREAM_WIDTH,//设置出流宽度
    ENCODE_PARAM_STREAM_HEIGHT,//设置出流高度
    ENCODE_PARAM_MAX
};
struct EncodeParamBase {
    explicit EncodeParamBase(EncodeParamIndex index) : id(index) {}
    EncodeParamIndex id;
};
struct EncodeParamRateControl : public EncodeParamBase {
    EncodeParamRateControl() : EncodeParamBase(ENCODE_PARAM_RATE_CONTROL) {}
    uint32_t rateControl = 0;
};
struct EncodeParamBitRate : public EncodeParamBase {
    EncodeParamBitRate() : EncodeParamBase(ENCODE_PARAM_BITRATE) {}
    uint32_t bitRate = 0;
};
struct EncodeParamFrameRate : public EncodeParamBase {
    EncodeParamFrameRate() : EncodeParamBase(ENCODE_PARAM_FRAMERATE) {}
    uint32_t frameRate;
};
struct EncodeParamGopsize : public EncodeParamBase {
    EncodeParamGopsize() : EncodeParamBase(ENCODE_PARAM_GOPSIZE) {}
    uint32_t gopSize;
};
struct EncodeParamProfile : public EncodeParamBase {
    EncodeParamProfile() : EncodeParamBase(ENCODE_PARAM_PROFILE) {}
    uint32_t profile;
};
struct EncodeParamKeyframe : public EncodeParamBase {
    EncodeParamKeyframe() : EncodeParamBase(ENCODE_PARAM_KEYFRAME) {}
    uint32_t n;
};
struct EncodeParamStreamWidth : public EncodeParamBase {
    EncodeParamStreamWidth() : EncodeParamBase(ENCODE_PARAM_STREAM_WIDTH) {}
    uint32_t streamWidth;
};
struct EncodeParamStreamHeight : public EncodeParamBase {
    EncodeParamStreamHeight() : EncodeParamBase(ENCODE_PARAM_STREAM_HEIGHT) {}
    uint32_t streamHeight;
};
using EncodeParamT = EncodeParamBase *;
```


#### 返回值说明

数据类型：GpuEncoderErrorCode

取值如下：

- OK：设置编码参数成功。
- ERR_NEED_RESET：需要调用Reset接口后编码参数才能生效。
- 其他：设置编码参数失败。
