On Tue, 4 Feb 2025, James Almer wrote:

Fixes compilation when using API headers older than 12.0

Signed-off-by: James Almer <jamr...@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

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to