From 2bab43bb29ecc96666d7d1136f527f2790c65c52 Mon Sep 17 00:00:00 2001 From: Carlos Fernandez Sanz Date: Tue, 8 Oct 2019 14:40:26 -0700 Subject: [PATCH 1/5] maintainers: add cfsmp3 --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7be726592f0..24c13a541a1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1125,6 +1125,12 @@ githubId = 5771456; name = "Chaddaï Fouché"; }; + cfsmp3 = { + email = "carlos@sanz.dev"; + github = "cfsmp3"; + githubId = 5949913; + name = "Carlos Fernandez Sanz"; + }; chaduffy = { email = "charles@dyfis.net"; github = "charles-dyfis-net"; From 1c2400c7d849f264e960a83a3c6a61521782c75e Mon Sep 17 00:00:00 2001 From: Carlos Fernandez Sanz Date: Tue, 8 Oct 2019 14:50:39 -0700 Subject: [PATCH 2/5] libvmaf: init at 1.3.15 --- .../development/libraries/libvmaf/default.nix | 28 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/libraries/libvmaf/default.nix diff --git a/pkgs/development/libraries/libvmaf/default.nix b/pkgs/development/libraries/libvmaf/default.nix new file mode 100644 index 00000000000..e727c4b3fe5 --- /dev/null +++ b/pkgs/development/libraries/libvmaf/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, autoconf, automake, intltool, libtool, pkgconfig }: + +stdenv.mkDerivation rec { + pname = "libvmaf"; + version = "1.3.15"; + + src = fetchFromGitHub { + owner = "netflix"; + repo = "vmaf"; + rev = "v${version}"; + sha256="10kgcdf06hzhbl5r7zsllq88bxbyn282hfqx5i3hkp66fpq896d2"; + }; + + nativeBuildInputs = [ autoconf automake intltool libtool pkgconfig ]; + outputs = [ "out" "dev" ]; + doCheck = true; + + makeFlags = [ "INSTALL_PREFIX=${placeholder "out"}" ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/Netflix/vmaf"; + description = "Perceptual video quality assessment based on multi-method fusion (VMAF)."; + platforms = platforms.linux; + license = licenses.asl20; + maintainers = [ maintainers.cfsmp3 ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4a15a886256..70bd668e4af 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12561,6 +12561,8 @@ in libvisual = callPackage ../development/libraries/libvisual { }; + libvmaf = callPackage ../development/libraries/libvmaf { }; + libvncserver = callPackage ../development/libraries/libvncserver {}; libviper = callPackage ../development/libraries/libviper { }; From 1566b1e2f30cec4af5101b49d88ee5be1e727b16 Mon Sep 17 00:00:00 2001 From: Carlos Fernandez Sanz Date: Tue, 8 Oct 2019 14:58:44 -0700 Subject: [PATCH 3/5] ffmpeg-full: Add lbvmaf support --- pkgs/development/libraries/ffmpeg-full/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix index 78d291e86fa..ca97a98a16c 100644 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ b/pkgs/development/libraries/ffmpeg-full/default.nix @@ -3,7 +3,7 @@ * Licensing options (yes some are listed twice, filters and such are not listed) */ , gplLicensing ? true # GPL: fdkaac,openssl,frei0r,cdio,samba,utvideo,vidstab,x265,x265,xavs,avid,zvbi,x11grab -, version3Licensing ? true # (L)GPL3: opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc +, version3Licensing ? true # (L)GPL3: libvmaf,opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc , nonfreeLicensing ? false # NONFREE: openssl,fdkaac,blackmagic-design-desktop-video /* * Build options @@ -87,6 +87,7 @@ , libv4l ? null # Video 4 Linux support , libva ? null # Vaapi hardware acceleration , libvdpau ? null # Vdpau hardware acceleration +, libvmaf ? null # Netflix's VMAF (Video Multi-Method Assessment Fusion) , libvorbis ? null # Vorbis de/encoding, native encoder exists , libvpx ? null # VP8 & VP9 de/encoding , libwebp ? null # WebP encoder @@ -364,6 +365,7 @@ stdenv.mkDerivation rec { (enableFeature ((isLinux || isFreeBSD) && libva != null) "vaapi") (enableFeature (libvdpau != null) "vdpau") (enableFeature (libvorbis != null) "libvorbis") + (enableFeature (libvmaf != null && version3Licensing) "libvmaf") (enableFeature (libvpx != null) "libvpx") (enableFeature (libwebp != null) "libwebp") (enableFeature (libX11 != null && libXv != null && libXext != null) "xlib") @@ -425,6 +427,7 @@ stdenv.mkDerivation rec { ] ++ optional openglExtlib libGLU_combined ++ optionals nonfreeLicensing [ fdk_aac openssl ] ++ optional ((isLinux || isFreeBSD) && libva != null) libva + ++ optional (libvmaf != null && version3Licensing ) libvmaf ++ optionals isLinux [ alsaLib libraw1394 libv4l ] ++ optional (isLinux && !isAarch64 && libmfx != null) libmfx ++ optional nvenc nv-codec-headers From 420f0adca53282e3ff42da2dfefb640b1180897c Mon Sep 17 00:00:00 2001 From: Carlos Fernandez Sanz Date: Tue, 22 Oct 2019 10:33:30 -0700 Subject: [PATCH 4/5] Disabled libvmaf for ffmpeg-full on darwin. Added postFixup to libvmaf. Removed period at end of description. --- pkgs/development/libraries/libvmaf/default.nix | 7 ++++++- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libvmaf/default.nix b/pkgs/development/libraries/libvmaf/default.nix index e727c4b3fe5..82c76f7ea37 100644 --- a/pkgs/development/libraries/libvmaf/default.nix +++ b/pkgs/development/libraries/libvmaf/default.nix @@ -15,11 +15,16 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; doCheck = true; + postFixup = '' + substituteInPlace "$dev/lib/pkgconfig/libvmaf.pc" \ + --replace "includedir=/usr/local/include" "includedir=$dev" + ''; + makeFlags = [ "INSTALL_PREFIX=${placeholder "out"}" ]; meta = with stdenv.lib; { homepage = "https://github.com/Netflix/vmaf"; - description = "Perceptual video quality assessment based on multi-method fusion (VMAF)."; + description = "Perceptual video quality assessment based on multi-method fusion (VMAF)"; platforms = platforms.linux; license = licenses.asl20; maintainers = [ maintainers.cfsmp3 ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70bd668e4af..cf78c37c5e5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10801,6 +10801,7 @@ in frei0r = if stdenv.isDarwin then null else frei0r; game-music-emu = if stdenv.isDarwin then null else game-music-emu; libjack2 = if stdenv.isDarwin then null else libjack2; + libvmaf = if stdenv.isDarwin then null else libvmaf; libmodplug = if stdenv.isDarwin then null else libmodplug; openal = if stdenv.isDarwin then null else openal; libmfx = if stdenv.isDarwin then null else intel-media-sdk; From 03e55536c325339d3cddb5215e678cb40e96ec9b Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 25 Oct 2019 04:20:00 -0500 Subject: [PATCH 5/5] ffmpeg-full: disable libvmaf for isAarch64 --- pkgs/development/libraries/ffmpeg-full/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix index ca97a98a16c..9ab112dac12 100644 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ b/pkgs/development/libraries/ffmpeg-full/default.nix @@ -365,7 +365,7 @@ stdenv.mkDerivation rec { (enableFeature ((isLinux || isFreeBSD) && libva != null) "vaapi") (enableFeature (libvdpau != null) "vdpau") (enableFeature (libvorbis != null) "libvorbis") - (enableFeature (libvmaf != null && version3Licensing) "libvmaf") + (enableFeature (!isAarch64 && libvmaf != null && version3Licensing) "libvmaf") (enableFeature (libvpx != null) "libvpx") (enableFeature (libwebp != null) "libwebp") (enableFeature (libX11 != null && libXv != null && libXext != null) "xlib") @@ -427,7 +427,7 @@ stdenv.mkDerivation rec { ] ++ optional openglExtlib libGLU_combined ++ optionals nonfreeLicensing [ fdk_aac openssl ] ++ optional ((isLinux || isFreeBSD) && libva != null) libva - ++ optional (libvmaf != null && version3Licensing ) libvmaf + ++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf ++ optionals isLinux [ alsaLib libraw1394 libv4l ] ++ optional (isLinux && !isAarch64 && libmfx != null) libmfx ++ optional nvenc nv-codec-headers