Nixerus/pkgs/libs/svt-av1-psy.nix

61 lines
1.3 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
cmake,
nasm,
cpuinfo,
libdovi,
hdr10plus ? null,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "svt-av1-psy";
version = "3.0.2";
src = fetchFromGitHub {
owner = "gianni-rosato";
repo = "svt-av1-psy";
rev = "v${finalAttrs.version}";
hash = "sha256-le/t03vM4WyBswDOLiI3yUnsvpY0jVXeupkkCt8UrXE=";
};
nativeBuildInputs = [
cmake
nasm
];
makeBuildType = "Release";
buildInputs = [
cpuinfo
libdovi
]
++
(lib.optionals (hdr10plus!=null) [hdr10plus]);
cmakeFlags = [
"-DSVT_AV1_LTO=ON"
"-DUSE_EXTERNAL_CPUINFO=ON"
"-DLIBDOVI_FOUND=ON"
]
++
(lib.optionals (hdr10plus!=null) ["-DLIBHDR10PLUS_RS_FOUND=ON"]);
meta = with lib; {
homepage = "https://github.com/gianni-rosato/svt-av1-psy";
description = "The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) with perceptual enhancements for psychovisually optimal AV1 encoding";
longDescription = ''
SVT-AV1-PSY is the Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) with perceptual enhancements for psychovisually optimal AV1 encoding.
The goal is to create the best encoding implementation for perceptual quality with AV1.
'';
license = with licenses; [
aom
bsd3
];
platforms = platforms.unix;
};
})