diff options
Diffstat (limited to 'pkgs/development/libraries/ffmpeg-full/default.nix')
-rw-r--r-- | pkgs/development/libraries/ffmpeg-full/default.nix | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix index 77bd473485b06..9d9a1a126cb21 100644 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ b/pkgs/development/libraries/ffmpeg-full/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, ffmpeg, addOpenGLRunpath, pkg-config, perl, texinfo, yasm +{ lib, stdenv, buildPackages, ffmpeg, addOpenGLRunpath, pkg-config, perl, texinfo, yasm /* * Licensing options (yes some are listed twice, filters and such are not listed) */ @@ -32,7 +32,6 @@ , avdeviceLibrary ? true # Build avdevice library , avfilterLibrary ? true # Build avfilter library , avformatLibrary ? true # Build avformat library -, avresampleLibrary ? true # Build avresample library , avutilLibrary ? true # Build avutil library , postprocLibrary ? true # Build postproc library , swresampleLibrary ? true # Build swresample library @@ -100,6 +99,7 @@ , libxcbshapeExtlib ? true # X11 grabbing shape rendering , libXv ? null # Xlib support , libXext ? null # Xlib support +, libxml2 ? null # libxml2 support, for IMF and DASH demuxers , xz ? null # xz-utils , nvenc ? !stdenv.isDarwin && !stdenv.isAarch64, nv-codec-headers ? null # NVIDIA NVENC support , openal ? null # OpenAL 1.1 capture support @@ -107,7 +107,7 @@ , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder #, opencv ? null # Video filtering , openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering -#, openh264 ? null # H.264/AVC encoder +, openh264 ? null # H.264/AVC encoder , openjpeg ? null # JPEG 2000 de/encoder , opensslExtlib ? false, openssl ? null , libpulseaudio ? null # Pulseaudio input support @@ -132,6 +132,7 @@ , xavs ? null # AVS encoder , xvidcore ? null # Xvid encoder, native encoder exists , zeromq4 ? null # Message passing +, zimg ? null , zlib ? null , vulkan-loader ? null , glslang ? null @@ -163,7 +164,7 @@ * * Not packaged: * aacplus avisynth cdio-paranoia crystalhd libavc1394 libiec61883 - * libnut libquvi nvenc opencl openh264 oss shine twolame + * libnut libquvi nvenc opencl oss shine twolame * utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video * * Need fixes to support Darwin: @@ -224,7 +225,6 @@ assert avdeviceLibrary -> avformatLibrary && avcodecLibrary && avutilLibrary; # configure flag since 0.6 assert avformatLibrary -> avcodecLibrary && avutilLibrary; # configure flag since 0.6 -assert avresampleLibrary -> avutilLibrary; assert postprocLibrary -> avutilLibrary; assert swresampleLibrary -> soxr != null; assert swscaleLibrary -> avutilLibrary; @@ -259,7 +259,7 @@ stdenv.mkDerivation rec { configurePlatforms = []; configureFlags = [ - "--target_os=${stdenv.hostPlatform.parsed.kernel.name}" + "--target_os=${if stdenv.hostPlatform.isMinGW then "mingw64" else stdenv.hostPlatform.parsed.kernel.name}" #mingw32 and mingw64 doesn't have a difference here, it is internally rewritten as mingw32 "--arch=${stdenv.hostPlatform.parsed.cpu.name}" /* * Licensing flags @@ -281,7 +281,7 @@ stdenv.mkDerivation rec { (enableFeature hardcodedTablesBuild "hardcoded-tables") (enableFeature safeBitstreamReaderBuild "safe-bitstream-reader") (if multithreadBuild then ( - if isCygwin then + if stdenv.hostPlatform.isWindows then "--disable-pthreads --enable-w32threads" else # Use POSIX threads by default "--enable-pthreads --disable-w32threads") @@ -303,7 +303,6 @@ stdenv.mkDerivation rec { (enableFeature avdeviceLibrary "avdevice") (enableFeature avfilterLibrary "avfilter") (enableFeature avformatLibrary "avformat") - (enableFeature avresampleLibrary "avresample") (enableFeature avutilLibrary "avutil") (enableFeature (postprocLibrary && gplLicensing) "postproc") (enableFeature swresampleLibrary "swresample") @@ -374,6 +373,7 @@ stdenv.mkDerivation rec { (enableFeature libxcbshmExtlib "libxcb-shm") (enableFeature libxcbxfixesExtlib "libxcb-xfixes") (enableFeature libxcbshapeExtlib "libxcb-shape") + (enableFeature (libxml2 != null) "libxml2") (enableFeature (xz != null) "lzma") (enableFeature nvenc "nvenc") (enableFeature (openal != null) "openal") @@ -381,7 +381,7 @@ stdenv.mkDerivation rec { (enableFeature (opencore-amr != null && version3Licensing) "libopencore-amrnb") #(enableFeature (opencv != null) "libopencv") (enableFeature openglExtlib "opengl") - #(enableFeature (openh264 != null) "openh264") + (enableFeature (openh264 != null) "libopenh264") (enableFeature (openjpeg != null) "libopenjpeg") (enableFeature (opensslExtlib && gplLicensing) "openssl") (enableFeature (libpulseaudio != null) "libpulse") @@ -403,6 +403,7 @@ stdenv.mkDerivation rec { (enableFeature (xavs != null && gplLicensing) "libxavs") (enableFeature (xvidcore != null && gplLicensing) "libxvid") (enableFeature (zeromq4 != null) "libzmq") + (enableFeature (zimg != null) "libzimg") (enableFeature (zlib != null) "zlib") (enableFeature (isLinux && vulkan-loader != null) "vulkan") (enableFeature (isLinux && vulkan-loader != null && glslang != null) "libglslang") @@ -418,6 +419,7 @@ stdenv.mkDerivation rec { ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-prefix=${stdenv.cc.targetPrefix}" "--enable-cross-compile" + "--host-cc=${buildPackages.stdenv.cc}/bin/cc" ] ++ optionals stdenv.cc.isClang [ "--cc=clang" "--cxx=clang++" @@ -429,9 +431,9 @@ stdenv.mkDerivation rec { bzip2 celt dav1d fontconfig freetype frei0r fribidi game-music-emu gnutls gsm libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa libogg libopus librsvg libssh libtheora libvdpau libvorbis libvpx libwebp libX11 - libxcb libXv libXext xz openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr + libxcb libXv libXext libxml2 xz openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr samba SDL2 soxr speex srt vid-stab vo-amrwbenc x264 x265 xavs xvidcore - zeromq4 zlib + zeromq4 zimg zlib openh264 ] ++ optionals openglExtlib [ libGL libGLU ] ++ optionals nonfreeLicensing [ fdk_aac openssl ] ++ optional ((isLinux || isFreeBSD) && libva != null) libva @@ -451,7 +453,7 @@ stdenv.mkDerivation rec { checkPhase = let ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; in '' - ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavresample:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \ + ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \ make check -j$NIX_BUILD_CORES ''; |