From 6cdbde2f0d0cc6b22b1fff9e6d3f3c63aecab171 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 13 Jan 2021 18:10:31 +0100 Subject: [PATCH 1/2] ffmpeg-full: disable rav1e by default (in favor of svt-av1) Since c378a3370599 we have a patch to add svt-av1 support to ffmpeg-full. The default AV1 encoder is still libaom but svt-av1 has a higher priority than rav1e (see libavcodec/allcodecs.c). And since svt-av1 is much faster than rav1e (which in turn should be faster than libaom) we don't really need rav1e support by default anymore (I guess it can be useful but overall svt-av1 should currently be the best option). And because rav1e's build did break a few times in the past and needs a lot of Rust dependencies (including cargo-c to make it C-ABI compatible) it might be best to simply disable it for now. Benchmarks (though it is difficult to compare them that way): - https://openbenchmarking.org/test/pts/svt-av1 - https://openbenchmarking.org/test/pts/rav1e - https://openbenchmarking.org/test/pts/aom-av1 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3158d657fab..52d22c494d5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13158,6 +13158,7 @@ in ffmpeg-full = callPackage ../development/libraries/ffmpeg-full { svt-av1 = if stdenv.isAarch64 then null else svt-av1; + rav1e = null; # We already have SVT-AV1 for faster encoding # The following need to be fixed on Darwin libjack2 = if stdenv.isDarwin then null else libjack2; libmodplug = if stdenv.isDarwin then null else libmodplug; From 2345e374af7619987f33da98d1e9a4e559261db9 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 9 Sep 2020 19:10:44 +0200 Subject: [PATCH 2/2] svt-av1: Extend the meta attributes I've merged my local package definitions with the ones in Nixpkgs. --- pkgs/tools/video/svt-av1/default.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/video/svt-av1/default.nix b/pkgs/tools/video/svt-av1/default.nix index 38c16fadcb8..69ded2307de 100644 --- a/pkgs/tools/video/svt-av1/default.nix +++ b/pkgs/tools/video/svt-av1/default.nix @@ -15,8 +15,23 @@ stdenv.mkDerivation rec { meta = with lib; { description = "AV1-compliant encoder/decoder library core"; - homepage = "https://github.com/AOMediaCodec/SVT-AV1"; - license = licenses.bsd2; + longDescription = '' + The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an + AV1-compliant encoder/decoder library core. The SVT-AV1 encoder + development is a work-in-progress targeting performance levels applicable + to both VOD and Live encoding / transcoding video applications. The + SVT-AV1 decoder implementation is targeting future codec research + activities. + ''; + inherit (src.meta) homepage; + changelog = "https://github.com/AOMediaCodec/SVT-AV1/blob/v${version}/CHANGELOG.md"; + license = with licenses; [ + bsd2 + { + fullName = "Alliance for Open Media Patent License 1.0"; + url = "https://aomedia.org/license/patent-license/"; + } + ]; platforms = platforms.unix; broken = stdenv.isAarch64; # undefined reference to `cpuinfo_arm_linux_init' maintainers = with maintainers; [ chiiruno ];