[FFmpeg-devel] [FFmpeg-cvslog] avcodec/nvenc: Enable recovery point SEI for intra refresh mode
James Almer
jamrial at gmail.com
Tue Feb 4 15:32:03 EET 2025
On 2/4/2025 10:23 AM, Martin Storsjö wrote:
> On Tue, 4 Feb 2025, Timo Rothenpieler wrote:
>
>> 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
>
> Sorry, I quoted the wrong part of the patch.
>
> The case in NV_ENC_CONFIG_H264 does indeed exist in older SDKs, but the
> one in NV_ENC_CONFIG_HEVC doesn't seem to exist in 8.1, or in 11.1 either.
Just sent a patch, can you test it?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250204/c732f015/attachment.sig>
More information about the ffmpeg-devel
mailing list