Hi,
This patch is based on the original work done by Timo Rothenpieler, and his
patch for static linking with libnpp:
[http://ffmpeg.org/pipermail/ffmpeg-devel/2016-June/195078.html](https://ffmpeg.org/pipermail/ffmpeg-devel/2016-June/195078.html)
Based in my recomendations now it's possible to link directly to libnpp*
libraries without linking to the CUDA SDK:
[http://trac.ffmpeg.org/ticket/6405](https://trac.ffmpeg.org/ticket/6405)
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=2d978d1c721ae69a9007b530153067736d4ddc79
Then I created an updated version of the patch.
By default the linking is the regular dynamic link (aka
"--disable-libnpp-static" config).
However, if you like to compile statically with "libnpp*_static.a" then add
these parameters:
$ configure ... --enable-nonfree --enable-libnpp --enable-libnpp-static
--enable-cuda --extra-cflags="-I/usr/local/cuda/include/"
--extra-ldflags="-L/usr/local/cuda/lib64/"
This assumes the CUDA SDK is installed in "/usr/local/cuda".
Regards.
A.H.
From db73653ea3da9478ac012e4d143b8c6551acb06b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20H=C3=A5kon?= <andreas.ha...@protonmail.com>
Date: Fri, 2 Jun 2017 09:35:03 +0100
Subject: [PATCH] configure: support static libnpp [v2]
---
configure | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 72060ef..4eac083 100755
--- a/configure
+++ b/configure
@@ -300,6 +300,7 @@ External library support:
--disable-dxva2 disable Microsoft DirectX 9 video acceleration code
[autodetect]
--enable-libmfx enable Intel MediaSDK (AKA Quick Sync Video) code
via libmfx [no]
--enable-libnpp enable Nvidia Performance Primitives-based code [no]
+ --disable-libnpp-static disable using static version of libnpp [autodetect]
--enable-mmal enable Broadcom Multi-Media Abstraction Layer
(Raspberry Pi) via MMAL [no]
--disable-nvenc disable Nvidia video encoding code [autodetect]
--enable-omx enable OpenMAX IL code [no]
@@ -1599,6 +1600,7 @@ HWACCEL_AUTODETECT_LIBRARY_LIST="
HWACCEL_LIBRARY_NONFREE_LIST="
cuda_sdk
libnpp
+ libnpp_static
"
HWACCEL_LIBRARY_LIST="
@@ -5816,7 +5818,15 @@ enabled libmfx && { use_pkg_config libmfx
"mfx/mfxvideo.h" MFXInit ||
{ require libmfx "mfx/mfxvideo.h" MFXInit
-llibmfx && warn "using libmfx without pkg-config"; } }
enabled libmodplug && require_pkg_config libmodplug
libmodplug/modplug.h ModPlug_Load
enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h
lame_set_VBR_quality -lmp3lame
-enabled libnpp && require libnpp npp.h nppGetLibVersion -lnppi
-lnppc
+enabled libnpp && { { if ! disabled libnpp_static; then
+ check_lib npp.h nppGetLibVersion
-lnppi_static -lnppc_static -lcudart_static -lculibos $ldl ||
+ check_lib npp.h nppGetLibVersion
-lnppi_static -lnppc_static -lcudart_static -lculibos $ldl -lstdc++ ||
+ check_lib npp.h nppGetLibVersion
-lnppi_static -lnppc_static -lcudart_static -lculibos $ldl -lstdc++ -lrt
+ else false; fi; } ||
+ { if ! enabled libnpp_static; then
+ check_lib npp.h nppGetLibVersion -lnppi -lnppc
+ else false; fi; } ||
+ die "ERROR: libnpp not found"; }
enabled libopencore_amrnb && require libopencore_amrnb
opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h
D_IF_init -lopencore-amrwb
enabled libopencv && { check_header opencv2/core/core_c.h &&
--
1.7.10.4
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel