PR #22827 opened by mj
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22827
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22827.patch

This is a follow up of this thread:
https://ffmpeg.org/pipermail/ffmpeg-devel/2017-June/211872.html

Patch in thread was rejected due to adding an extra flag.
This patch instead converts existing `--enable-libnpp` into
`--enable-libnpp[=static]`.


>From c07598350188a97cb35d3c96c9fbdad539ef3ade Mon Sep 17 00:00:00 2001
From: Marcelo Juchem <[email protected]>
Date: Tue, 14 Apr 2026 16:38:17 -0500
Subject: [PATCH] support static linking to `libnpp`

This is a follow up of this thread:
https://ffmpeg.org/pipermail/ffmpeg-devel/2017-June/211872.html

Patch in thread was rejected due to adding an extra flag.
This patch instead converts existing `--enable-libnpp` into
`--enable-libnpp[=static]`.
---
 configure | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 645a1af072..e9a62dc30d 100755
--- a/configure
+++ b/configure
@@ -360,7 +360,7 @@ External library support:
   --disable-libdrm         disable DRM code (Linux) [autodetect]
   --enable-libmfx          enable Intel MediaSDK (AKA Quick Sync Video) code 
via libmfx [no]
   --enable-libvpl          enable Intel oneVPL code via libvpl if libmfx is 
not used [no]
-  --enable-libnpp          enable Nvidia Performance Primitives-based code [no]
+  --enable-libnpp[=static] enable Nvidia Performance Primitives-based code [no]
   --enable-mmal            enable Broadcom Multi-Media Abstraction Layer 
(Raspberry Pi) via MMAL [no]
   --disable-nvdec          disable Nvidia video decoding acceleration (via 
hwaccel) [autodetect]
   --disable-nvenc          disable Nvidia video encoding code [autodetect]
@@ -4701,6 +4701,9 @@ for opt do
         --enable-debug=*)
             debuglevel="$optval"
         ;;
+        --enable-libnpp=*)
+            libnpp="$optval"
+        ;;
         --disable-programs)
             disable $PROGRAM_LIST
         ;;
@@ -7400,6 +7403,13 @@ enabled libnpp            && { test_cpp_condition "$(cd 
"$source_path"; pwd)/lib
                                die "ERROR: libnpp not found"; } &&
                              { check_func_headers "nppi.h" 
nppiYCbCr420_8u_P2P3R $libnpp_extralibs ||
                                die "ERROR: libnpp support is deprecated, 
version 13.0 and up are not supported"; }
+is_in "x$libnpp" xstatic  && { check_lib libnpp npp.h nppGetLibVersion 
-lnppig_static -lnppicc_static -lnppc_static -lnppidei_static -lnppif_static 
-lcudart_static -lculibos ||
+                               check_lib libnpp npp.h nppGetLibVersion 
-lnppig_static -lnppicc_static -lnppc_static -lnppidei_static -lnppif_static 
-lcudart_static -lculibos -lstdc++ ||
+                               check_lib libnpp npp.h nppGetLibVersion 
-lnppig_static -lnppicc_static -lnppc_static -lnppidei_static -lnppif_static 
-lcudart_static -lculibos -lstdc++ -lrt ||
+                               check_lib libnpp npp.h nppGetLibVersion 
-lnppi_static -lnppif_static -lnppc_static -lnppidei_static -lcudart_static 
-lculibos ||
+                               check_lib libnpp npp.h nppGetLibVersion 
-lnppi_static -lnppif_static -lnppc_static -lnppidei_static -lcudart_static 
-lculibos -lstdc++ ||
+                               check_lib libnpp npp.h nppGetLibVersion 
-lnppi_static -lnppif_static -lnppc_static -lnppidei_static -lcudart_static 
-lculibos -lstdc++ -lrt ||
+                               die "ERROR: static libnpp not found"; }
 enabled libopencore_amrnb && { check_pkg_config libopencore_amrnb 
opencore-amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init ||
                                require libopencore_amrnb 
opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb; }
 enabled libopencore_amrwb && { check_pkg_config libopencore_amrwb 
opencore-amrwb opencore-amrwb/dec_if.h D_IF_init ||
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to