0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00

Merge pull request #1666 from derrod/nvenc-fix

obs-ffmpeg: Fix constant QP mode in new NVENC
This commit is contained in:
Jim 2019-02-16 20:52:10 -08:00 committed by GitHub
commit d93d2b9467
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -445,19 +445,14 @@ static bool init_encoder(struct nvenc_data *enc, obs_data_t *settings)
? NV_ENC_PARAMS_RC_VBR_HQ
: NV_ENC_PARAMS_RC_VBR;
if (astrcmpi(rc, "cqp") == 0) {
config->rcParams.targetQuality = cqp;
config->rcParams.averageBitRate = 0;
config->rcParams.maxBitRate = 0;
enc->can_change_bitrate = false;
if (astrcmpi(rc, "cqp") == 0 || astrcmpi(rc, "lossless") == 0) {
if (astrcmpi(rc, "lossless") == 0)
cqp = 0;
} else if (astrcmpi(rc, "lossless") == 0) {
config->rcParams.rateControlMode = NV_ENC_PARAMS_RC_CONSTQP;
config->rcParams.constQP.qpInterP = 0;
config->rcParams.constQP.qpInterB = 0;
config->rcParams.constQP.qpIntra = 0;
config->rcParams.averageBitRate = 0;
config->rcParams.maxBitRate = 0;
config->rcParams.constQP.qpInterP = cqp;
config->rcParams.constQP.qpInterB = cqp;
config->rcParams.constQP.qpIntra = cqp;
enc->can_change_bitrate = false;
} else if (astrcmpi(rc, "vbr") != 0) { /* CBR by default */