mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-19 05:40:56 +00:00
avcodec/nvenc: set idrPeriod to gopLength unconditionally
When intra_refresh is enabled, gopLength is equal to NVENC_INFINITE_GOPLENGTH. gopLength should be 1 at least. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
This commit is contained in:
parent
0d0c39832f
commit
7eeef72c67
@ -1191,11 +1191,7 @@ static av_cold int nvenc_setup_h264_config(AVCodecContext *avctx)
|
|||||||
h264->maxNumRefFrames = ctx->dpb_size;
|
h264->maxNumRefFrames = ctx->dpb_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx->intra_refresh) {
|
h264->idrPeriod = cc->gopLength;
|
||||||
h264->idrPeriod = NVENC_INFINITE_GOPLENGTH;
|
|
||||||
} else if (cc->gopLength > 0) {
|
|
||||||
h264->idrPeriod = cc->gopLength;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IS_CBR(cc->rcParams.rateControlMode)) {
|
if (IS_CBR(cc->rcParams.rateControlMode)) {
|
||||||
h264->outputBufferingPeriodSEI = 1;
|
h264->outputBufferingPeriodSEI = 1;
|
||||||
@ -1318,11 +1314,7 @@ static av_cold int nvenc_setup_hevc_config(AVCodecContext *avctx)
|
|||||||
hevc->maxNumRefFramesInDPB = ctx->dpb_size;
|
hevc->maxNumRefFramesInDPB = ctx->dpb_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx->intra_refresh) {
|
hevc->idrPeriod = cc->gopLength;
|
||||||
hevc->idrPeriod = NVENC_INFINITE_GOPLENGTH;
|
|
||||||
} else if (cc->gopLength > 0) {
|
|
||||||
hevc->idrPeriod = cc->gopLength;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IS_CBR(cc->rcParams.rateControlMode)) {
|
if (IS_CBR(cc->rcParams.rateControlMode)) {
|
||||||
hevc->outputBufferingPeriodSEI = 1;
|
hevc->outputBufferingPeriodSEI = 1;
|
||||||
@ -1418,12 +1410,10 @@ static av_cold int nvenc_setup_av1_config(AVCodecContext *avctx)
|
|||||||
av1->intraRefreshPeriod = cc->gopLength;
|
av1->intraRefreshPeriod = cc->gopLength;
|
||||||
av1->intraRefreshCnt = cc->gopLength - 1;
|
av1->intraRefreshCnt = cc->gopLength - 1;
|
||||||
cc->gopLength = NVENC_INFINITE_GOPLENGTH;
|
cc->gopLength = NVENC_INFINITE_GOPLENGTH;
|
||||||
|
|
||||||
av1->idrPeriod = NVENC_INFINITE_GOPLENGTH;
|
|
||||||
} else if (cc->gopLength > 0) {
|
|
||||||
av1->idrPeriod = cc->gopLength;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
av1->idrPeriod = cc->gopLength;
|
||||||
|
|
||||||
if (IS_CBR(cc->rcParams.rateControlMode)) {
|
if (IS_CBR(cc->rcParams.rateControlMode)) {
|
||||||
av1->enableBitstreamPadding = 1;
|
av1->enableBitstreamPadding = 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user