71 lines
1.5 KiB
Nix
71 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
ffmpeg-full,
|
|
libaom,
|
|
meson,
|
|
nasm,
|
|
ninja,
|
|
testers,
|
|
xxd,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "libvmaf";
|
|
version = "3.0.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "netflix";
|
|
repo = "vmaf";
|
|
rev = "v${finalAttrs.version}";
|
|
sha256 = "sha256-6mwU2so1YM2pyWkJbDHVl443GgWtQazbBv3gTMBq5NA=";
|
|
};
|
|
|
|
sourceRoot = "${finalAttrs.src.name}/libvmaf";
|
|
|
|
nativeBuildInputs = [
|
|
meson
|
|
ninja
|
|
nasm
|
|
xxd
|
|
];
|
|
|
|
postPatch = lib.optionalString stdenv.hostPlatform.isFreeBSD ''
|
|
substituteInPlace meson.build --replace-fail '_XOPEN_SOURCE=600' '_XOPEN_SOURCE=700'
|
|
'';
|
|
|
|
env = lib.optionalAttrs stdenv.hostPlatform.isFreeBSD {
|
|
NIX_CFLAGS_COMPILE = "-D__BSD_VISIBLE=1";
|
|
};
|
|
|
|
mesonFlags = [ "-Denable_avx512=true" ];
|
|
|
|
outputs = [
|
|
"out"
|
|
"dev"
|
|
];
|
|
doCheck = false;
|
|
|
|
passthru.tests = {
|
|
inherit libaom ffmpeg-full;
|
|
version = testers.testVersion {
|
|
package = finalAttrs.finalPackage;
|
|
};
|
|
pkg-config = testers.hasPkgConfigModules {
|
|
package = finalAttrs.finalPackage;
|
|
moduleNames = [ "libvmaf" ];
|
|
};
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "Perceptual video quality assessment based on multi-method fusion (VMAF)";
|
|
homepage = "https://github.com/Netflix/vmaf";
|
|
changelog = "https://github.com/Netflix/vmaf/blob/v${finalAttrs.version}/CHANGELOG.md";
|
|
license = licenses.bsd2Patent;
|
|
maintainers = [ maintainers.cfsmp3 ];
|
|
mainProgram = "vmaf";
|
|
platforms = platforms.unix;
|
|
};
|
|
})
|