From 1438f6997db70945173f01aea1768e3b27ce2679 Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Thu, 23 Jan 2025 22:17:29 +0800 Subject: [PATCH] avcodec/nvenc: Enable recovery point SEI for intra refresh mode Otherwise all frames can be dropped after seek without the output_corrupt/showall flags. Signed-off-by: Zhao Zhili Reviewed-by: Timo Rothenpieler --- libavcodec/nvenc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index c52e47734e..c359c2bc8a 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -1281,6 +1281,7 @@ static av_cold int nvenc_setup_h264_config(AVCodecContext *avctx) h264->intraRefreshPeriod = cc->gopLength; h264->intraRefreshCnt = cc->gopLength - 1; cc->gopLength = NVENC_INFINITE_GOPLENGTH; + h264->outputRecoveryPointSEI = 1; #ifdef NVENC_HAVE_SINGLE_SLICE_INTRA_REFRESH h264->singleSliceIntraRefresh = ctx->single_slice_intra_refresh; #endif @@ -1461,6 +1462,7 @@ static av_cold int nvenc_setup_hevc_config(AVCodecContext *avctx) hevc->intraRefreshPeriod = cc->gopLength; hevc->intraRefreshCnt = cc->gopLength - 1; cc->gopLength = NVENC_INFINITE_GOPLENGTH; + hevc->outputRecoveryPointSEI = 1; #ifdef NVENC_HAVE_SINGLE_SLICE_INTRA_REFRESH hevc->singleSliceIntraRefresh = ctx->single_slice_intra_refresh; #endif