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_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;
};
using EncodeParamT = EncodeParamBase *;
返回值说明
数据类型:GpuEncoderErrorCode
取值如下:
- OK:设置编码参数成功。
- ERR_NEED_RESET:需要调用Reset接口后编码参数才能生效。
- 其他:设置编码参数失败。
父主题: GPU加速接口(C&C++)