diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix index 0f6ffe51d85..26bc727dfde 100644 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ b/pkgs/development/libraries/ffmpeg-full/default.nix @@ -99,7 +99,7 @@ , libxcbshapeExtlib ? true # X11 grabbing shape rendering , libXv ? null # Xlib support , lzma ? null # xz-utils -#, nvenc ? null # NVIDIA NVENC support +, nvenc ? false, nvidia-video-sdk ? null # NVIDIA NVENC support , openal ? null # OpenAL 1.1 capture support #, opencl ? null # OpenCL code #, opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder @@ -232,6 +232,7 @@ assert libxcbshapeExtlib -> libxcb != null; assert openglExtlib -> mesa != null; assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing; assert x11grabExtlib -> libX11 != null && libXv != null; +assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing; stdenv.mkDerivation rec { name = "ffmpeg-full-${version}"; @@ -356,7 +357,7 @@ stdenv.mkDerivation rec { (enableFeature libxcbxfixesExtlib "libxcb-xfixes") (enableFeature libxcbshapeExtlib "libxcb-shape") (enableFeature (lzma != null) "lzma") - #(enableFeature nvenc "nvenc") + (enableFeature nvenc "nvenc") (enableFeature (openal != null) "openal") #(enableFeature opencl "opencl") #(enableFeature (opencore-amr != null && version3Licensing) "libopencore-amrnb") @@ -410,6 +411,7 @@ stdenv.mkDerivation rec { ++ optionals nonfreeLicensing [ faac fdk_aac openssl ] ++ optional ((isLinux || isFreeBSD) && libva != null) libva ++ optionals isLinux [ alsaLib libraw1394 libv4l ] + ++ optionals nvenc [ nvidia-video-sdk ] ++ optionals stdenv.isDarwin [ Cocoa CoreServices AVFoundation MediaToolbox VideoDecodeAcceleration ]; diff --git a/pkgs/development/libraries/nvidia-video-sdk/default.nix b/pkgs/development/libraries/nvidia-video-sdk/default.nix new file mode 100644 index 00000000000..798f9d3a396 --- /dev/null +++ b/pkgs/development/libraries/nvidia-video-sdk/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + name = "nvidia-video-sdk-6.0.1"; + + src = fetchurl { + url = "https://developer.nvidia.com/video-sdk-601"; + name = "nvidia_video_sdk_6.0.1.zip"; + sha256 = "08h1vnqsv22js9v3pyim5yb80z87baxb7s2g5gsvvjax07j7w8h5"; + }; + + buildInputs = [ unzip ]; + + # We only need the header files. The library files are + # in the nvidia_x11 driver. + installPhase = '' + mkdir -p $out/include + cp -R Samples/common/inc/* $out/include + ''; + + meta = with stdenv.lib; { + description = "The NVIDIA Video Codec SDK"; + homepage = https://developer.nvidia.com/nvidia-video-codec-sdk; + license = licenses.unfree; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1402c4b7b9c..6007aa1afb0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8586,6 +8586,8 @@ in nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { }; + nvidia-video-sdk = callPackage ../development/libraries/nvidia-video-sdk { }; + ocl-icd = callPackage ../development/libraries/ocl-icd { }; ode = callPackage ../development/libraries/ode { };