[FFmpeg-devel] [PATCH] avcodec/nvenc: add compile time check for outputRecoveryPointSEI for HEVC
Martin Storsjö
martin at martin.st
Tue Feb 4 15:38:04 EET 2025
On Tue, 4 Feb 2025, James Almer wrote:
> Fixes compilation when using API headers older than 12.0
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> libavcodec/nvenc.c | 2 ++
> libavcodec/nvenc.h | 5 +++++
> 2 files changed, 7 insertions(+)
>
> diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
> index c359c2bc8a..eea3e8d703 100644
> --- a/libavcodec/nvenc.c
> +++ b/libavcodec/nvenc.c
> @@ -1462,7 +1462,9 @@ static av_cold int nvenc_setup_hevc_config(AVCodecContext *avctx)
> hevc->intraRefreshPeriod = cc->gopLength;
> hevc->intraRefreshCnt = cc->gopLength - 1;
> cc->gopLength = NVENC_INFINITE_GOPLENGTH;
> +#ifdef NVENC_HAVE_OUTPUT_RECOVERY_POINT_SEI
> hevc->outputRecoveryPointSEI = 1;
> +#endif
> #ifdef NVENC_HAVE_SINGLE_SLICE_INTRA_REFRESH
> hevc->singleSliceIntraRefresh = ctx->single_slice_intra_refresh;
> #endif
> diff --git a/libavcodec/nvenc.h b/libavcodec/nvenc.h
> index 341a242cf7..d395221870 100644
> --- a/libavcodec/nvenc.h
> +++ b/libavcodec/nvenc.h
> @@ -78,6 +78,11 @@ typedef void ID3D11Device;
> #define NVENC_HAVE_SINGLE_SLICE_INTRA_REFRESH
> #endif
>
> +// SDK 12.0 compile time feature checks
> +#if NVENCAPI_CHECK_VERSION(12, 0)
> +#define NVENC_HAVE_OUTPUT_RECOVERY_POINT_SEI
> +#endif
> +
> // SDK 12.1 compile time feature checks
> #if NVENCAPI_CHECK_VERSION(12, 1)
> #define NVENC_NO_DEPRECATED_RC
> --
> 2.48.1
Thanks, this does indeed seem to fix compilation in my setup.
// Martin
More information about the ffmpeg-devel
mailing list