about summary refs log tree commit diff
path: root/pkgs/development/libraries/ffmpeg
diff options
context:
space:
mode:
authorTimothy DeHerrera <tim.deh@pm.me>2019-11-06 14:22:59 -0700
committerFrederik Rietdijk <freddyrietdijk@fridh.nl>2019-11-12 14:42:58 +0100
commit30e428c96caa2e41472100a959ea68206e542998 (patch)
tree68c253fc882e1a8cc68b77df4ccbb01e2b02bc88 /pkgs/development/libraries/ffmpeg
parentc7fbf93ecc8d009c0b1598fb443fb3088b6489a8 (diff)
downloadnixlib-30e428c96caa2e41472100a959ea68206e542998.tar
nixlib-30e428c96caa2e41472100a959ea68206e542998.tar.gz
nixlib-30e428c96caa2e41472100a959ea68206e542998.tar.bz2
nixlib-30e428c96caa2e41472100a959ea68206e542998.tar.lz
nixlib-30e428c96caa2e41472100a959ea68206e542998.tar.xz
nixlib-30e428c96caa2e41472100a959ea68206e542998.tar.zst
nixlib-30e428c96caa2e41472100a959ea68206e542998.zip
ffmpeg: add options for QuickSync and libaom AV1
Allow users to optionally compile with support for Intel's QuickSync
hardware accelerated encoding, and libaom AV1 encoding. Set to false by
default.
Diffstat (limited to 'pkgs/development/libraries/ffmpeg')
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index b3310e44ae06..ccdf4662719a 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -3,6 +3,8 @@
 , libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr
 , x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
 , openglSupport ? false, libGLU_combined ? null
+, libmfxSupport ? false, intel-media-sdk ? null
+, libaomSupport ? false, libaom ? null
 # Build options
 , runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
 , multithreadBuild ? true # Multithreading via pthreads/win32 threads
@@ -62,6 +64,8 @@ let
 in
 
 assert openglSupport -> libGLU_combined != null;
+assert libmfxSupport -> intel-media-sdk != null;
+assert libaomSupport -> libaom != null;
 
 stdenv.mkDerivation rec {
 
@@ -135,6 +139,8 @@ stdenv.mkDerivation rec {
       (ifMinVer "0.6" (enableFeature vpxSupport "libvpx"))
       (ifMinVer "2.4" "--enable-lzma")
       (ifMinVer "2.2" (enableFeature openglSupport "opengl"))
+      (ifMinVer "4.2" (enableFeature libmfxSupport "libmfx"))
+      (ifMinVer "4.2" (enableFeature libaomSupport "libaom"))
       (disDarwinOrArmFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse")
       (ifMinVer "2.5" (if sdlSupport && reqMin "3.2" then "--enable-sdl2" else if sdlSupport then "--enable-sdl" else null)) # autodetected before 2.5, SDL1 support removed in 3.2 for SDL2
       (ifMinVer "1.2" "--enable-libsoxr")
@@ -163,6 +169,8 @@ stdenv.mkDerivation rec {
     bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
     libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers
   ] ++ optional openglSupport libGLU_combined
+    ++ optional libmfxSupport intel-media-sdk
+    ++ optional vpxSupport libaom
     ++ optional vpxSupport libvpx
     ++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
     ++ optional ((isLinux || isFreeBSD) && !isAarch32) libva