[FFmpeg-devel] [FFmpeg-cvslog] avcodec/nvenc: Enable recovery point SEI for intra refresh mode
Timo Rothenpieler
timo at rothenpieler.org
Tue Feb 4 14:58:41 EET 2025
On 04/02/2025 13:25, Martin Storsjö wrote:
> On Mon, 3 Feb 2025, Zhao Zhili wrote:
>
>> ffmpeg | branch: master | Zhao Zhili <zhilizhao at tencent.com> | Thu Jan
>> 23 22:17:29 2025 +0800| [1438f6997db70945173f01aea1768e3b27ce2679] |
>> committer: Zhao Zhili
>>
>> 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 <zhilizhao at tencent.com>
>> Reviewed-by: Timo Rothenpieler <timo at rothenpieler.org>
>>
>>> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?
>>> a=commit;h=1438f6997db70945173f01aea1768e3b27ce2679
>> ---
>>
>> 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;
>
> This change breaks building with older versions of nv-codec-headers
> installed.
Even the 8.1 SDK has this, which is the oldest version still supported
by FFmpeg:
https://github.com/FFmpeg/nv-codec-headers/blob/sdk/8.1/include/ffnvcodec/nvEncodeAPI.h#L1279
More information about the ffmpeg-devel
mailing list