Merge pull request #104195 from Chiiruno/dev/svt-av1

svt-av1: init at 0.8.6 // ffmpeg-full: enable svt-av1
This commit is contained in:
Mario Rodas 2021-01-06 19:16:46 -05:00 committed by GitHub
commit 3e635c6f6e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 1 deletions

View File

@ -111,6 +111,7 @@
, opensslExtlib ? false, openssl ? null
, libpulseaudio ? null # Pulseaudio input support
, rav1e ? null # AV1 encoder (focused on speed and safety)
, svt-av1 ? null # AV1 encoder/decoder (focused on speed and correctness)
, rtmpdump ? null # RTMP[E] support
#, libquvi ? null # Quvi input support
, samba ? null # Samba protocol
@ -250,6 +251,11 @@ stdenv.mkDerivation rec {
sha256 = "sha256-dqpmpDFETTuWHWolMoLaubU4BeDEuQaBNA0wmzL1f8o=";
name = "fix_libsrt.patch";
})
# Patch ffmpeg for svt-av1 until version 4.4
(fetchpatch {
url = "https://raw.githubusercontent.com/AOMediaCodec/SVT-AV1/v0.8.4/ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch";
sha256 = "1p4g8skr5gjw5h1648j7qrks81zx49lrnx9g0p81qgnrvxc2wwx0";
})
];
prePatch = ''
@ -393,6 +399,7 @@ stdenv.mkDerivation rec {
(enableFeature (libpulseaudio != null) "libpulse")
#(enableFeature quvi "libquvi")
(enableFeature (rav1e != null) "librav1e")
(enableFeature (svt-av1 != null) "libsvtav1")
(enableFeature (rtmpdump != null) "librtmp")
#(enableFeature (schroedinger != null) "libschroedinger")
(enableFeature (SDL2 != null) "sdl2")
@ -429,7 +436,7 @@ stdenv.mkDerivation rec {
bzip2 celt dav1d fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
libogg libopus librsvg libssh libtheora libvdpau libvorbis libvpx libwebp libX11
libxcb libXv libXext lzma openal openjpeg libpulseaudio rav1e rtmpdump opencore-amr
libxcb libXv libXext lzma openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
samba SDL2 soxr speex srt vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
zeromq4 zlib
] ++ optionals openglExtlib [ libGL libGLU ]

View File

@ -0,0 +1,24 @@
{ stdenv, fetchFromGitHub, cmake, nasm }:
stdenv.mkDerivation rec {
pname = "svt-av1";
version = "0.8.6";
src = fetchFromGitHub {
owner = "AOMediaCodec";
repo = "SVT-AV1";
rev = "v${version}";
sha256 = "1wzamg89azi1f93wxvdy7silsgklckc754ca066k33drvyacicyw";
};
nativeBuildInputs = [ cmake nasm ];
meta = with stdenv.lib; {
description = "AV1-compliant encoder/decoder library core";
homepage = "https://github.com/AOMediaCodec/SVT-AV1";
license = licenses.bsd2;
platforms = platforms.unix;
broken = stdenv.isAarch64; # undefined reference to `cpuinfo_arm_linux_init'
maintainers = with maintainers; [ chiiruno ];
};
}

View File

@ -2672,6 +2672,8 @@ in
syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { };
svt-av1 = callPackage ../tools/video/svt-av1 { };
inherit (callPackages ../servers/rainloop { })
rainloop-community
rainloop-standard;
@ -13038,6 +13040,7 @@ in
ffmpeg = ffmpeg_4;
ffmpeg-full = callPackage ../development/libraries/ffmpeg-full {
svt-av1 = if stdenv.isAarch64 then null else svt-av1;
# The following need to be fixed on Darwin
libjack2 = if stdenv.isDarwin then null else libjack2;
libmodplug = if stdenv.isDarwin then null else libmodplug;