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++)