|
|
|
@ -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); |
|
|
|
|