diff options
author | Zhao Zhili <zhilizhao@tencent.com> | 2023-07-06 20:00:48 +0800 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2023-07-07 13:39:26 +0200 |
commit | 0d0c39832fe0ceb58797548d544621eb7bd0755c (patch) | |
tree | 5b339ee9694a6661ea1e830db6da755861fe828e /libavcodec/nvenc.c | |
parent | ac616afa62c3164ddad7ac8d2d6fb94d6effa3f6 (diff) | |
download | ffmpeg-0d0c39832fe0ceb58797548d544621eb7bd0755c.tar.gz |
avcodec/nvenc: fix intraRefreshPeriod setting
Regression since 99dfdb45. intraRefreshPeriod access cc->gopLength,
which has been overwritten to NVENC_INFINITE_GOPLENGTH before.
Fixes #10445.
Diffstat (limited to 'libavcodec/nvenc.c')
-rw-r--r-- | libavcodec/nvenc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index 06579a502b..13fafcd246 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -1173,6 +1173,7 @@ static av_cold int nvenc_setup_h264_config(AVCodecContext *avctx) h264->enableIntraRefresh = 1; h264->intraRefreshPeriod = cc->gopLength; h264->intraRefreshCnt = cc->gopLength - 1; + cc->gopLength = NVENC_INFINITE_GOPLENGTH; #ifdef NVENC_HAVE_SINGLE_SLICE_INTRA_REFRESH h264->singleSliceIntraRefresh = ctx->single_slice_intra_refresh; #endif @@ -1297,6 +1298,7 @@ static av_cold int nvenc_setup_hevc_config(AVCodecContext *avctx) hevc->enableIntraRefresh = 1; hevc->intraRefreshPeriod = cc->gopLength; hevc->intraRefreshCnt = cc->gopLength - 1; + cc->gopLength = NVENC_INFINITE_GOPLENGTH; #ifdef NVENC_HAVE_SINGLE_SLICE_INTRA_REFRESH hevc->singleSliceIntraRefresh = ctx->single_slice_intra_refresh; #endif @@ -1415,6 +1417,7 @@ static av_cold int nvenc_setup_av1_config(AVCodecContext *avctx) av1->enableIntraRefresh = 1; av1->intraRefreshPeriod = cc->gopLength; av1->intraRefreshCnt = cc->gopLength - 1; + cc->gopLength = NVENC_INFINITE_GOPLENGTH; av1->idrPeriod = NVENC_INFINITE_GOPLENGTH; } else if (cc->gopLength > 0) { @@ -1619,9 +1622,6 @@ FF_ENABLE_DEPRECATION_WARNINGS if(ctx->single_slice_intra_refresh) ctx->intra_refresh = 1; - if (ctx->intra_refresh) - ctx->encode_config.gopLength = NVENC_INFINITE_GOPLENGTH; - nvenc_recalc_surfaces(avctx); nvenc_setup_rate_control(avctx); |