summary refs log tree commit diff
path: root/pkgs/development/libraries/ffmpeg-full
diff options
context:
space:
mode:
authorMichael Weiss <dev.primeos@gmail.com>2019-08-21 16:15:47 +0200
committerMichael Weiss <dev.primeos@gmail.com>2019-08-21 18:02:30 +0200
commit1537ce23b1d72249f07d80c43e8e7d3a8beea90d (patch)
tree75612c7ecc777c21f16b36e831a185de0e5f9bcc /pkgs/development/libraries/ffmpeg-full
parent5b3467d2c6bcc86a11584a9a54c2400cac5ac8bc (diff)
downloadnixpkgs-1537ce23b1d72249f07d80c43e8e7d3a8beea90d.tar
nixpkgs-1537ce23b1d72249f07d80c43e8e7d3a8beea90d.tar.gz
nixpkgs-1537ce23b1d72249f07d80c43e8e7d3a8beea90d.tar.bz2
nixpkgs-1537ce23b1d72249f07d80c43e8e7d3a8beea90d.tar.lz
nixpkgs-1537ce23b1d72249f07d80c43e8e7d3a8beea90d.tar.xz
nixpkgs-1537ce23b1d72249f07d80c43e8e7d3a8beea90d.tar.zst
nixpkgs-1537ce23b1d72249f07d80c43e8e7d3a8beea90d.zip
ffmpeg-full: 4.1.4 -> 4.2
Changelog: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/4.2:/Changelog

Configuration flag changes:
https://git.ffmpeg.org/gitweb/ffmpeg.git/blobdiff/n4.1.4..n4.2:/configure

Ignored new configuration flags:
--enable-libaribb24      enable ARIB text and caption decoding via libaribb24 [no]
--enable-pocketsphinx    enable PocketSphinx, needed for asr filter [no]
--enable-cuda-nvcc       enable Nvidia CUDA compiler [no]
--disable-cuda-llvm      disable CUDA compilation using clang [autodetect]
--disable-msa2           disable MSA2 optimizations

The renamed and removed configuration options where not used.

I've added a patch to prefer libdav1d over libaom, as libaom wasn't even
able to play my sample videos for AV1 (apart from the reduced
performance, at least in theory).
Diffstat (limited to 'pkgs/development/libraries/ffmpeg-full')
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix15
-rw-r--r--pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch19
2 files changed, 26 insertions, 8 deletions
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 65a48890e49..84cadef2ab9 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -52,6 +52,7 @@
 , bzip2 ? null
 , celt ? null # CELT decoder
 #, crystalhd ? null # Broadcom CrystalHD hardware acceleration
+, dav1d ? null # AV1 decoder (focused on speed and correctness)
 #, decklinkExtlib ? false, blackmagic-design-desktop-video ? null # Blackmagic Design DeckLink I/O support
 , fdkaacExtlib ? false, fdk_aac ? null # Fraunhofer FDK AAC de/encoder
 #, flite ? null # Flite (voice synthesis) support
@@ -234,17 +235,14 @@ assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-full-${version}";
-  version = "4.1.4";
+  version = "4.2";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "1qd7a10gs12ifcp31gramcgqjl77swskjfp7cijibgyg5yl4kw7i";
+    sha256 = "1mgcxm7sqkajx35px05szsmn9mawwm03cfpmk3br7bcp3a1i0gq2";
   };
-  patches = [(fetchpatch { # remove on update
-    name = "fix-hardcoded-tables.diff";
-    url = "http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/c8232e50074f";
-    sha256 = "0jlksks4fjajby8fjk7rfp414gxfdgd6q9khq26i52xvf4kg2dw6";
-  })];
+
+  patches = [ ./prefer-libdav1d-over-libaom.patch ];
 
   prePatch = ''
     patchShebangs .
@@ -327,6 +325,7 @@ stdenv.mkDerivation rec {
     (enableFeature (bzip2 != null) "bzlib")
     (enableFeature (celt != null) "libcelt")
     #(enableFeature crystalhd "crystalhd")
+    (enableFeature (dav1d != null) "libdav1d")
     #(enableFeature decklinkExtlib "decklink")
     (enableFeature (fdkaacExtlib && gplLicensing) "libfdk-aac")
     #(enableFeature (flite != null) "libflite")
@@ -414,7 +413,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
 
   buildInputs = [
-    bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
+    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 libssh libtheora libvdpau libvorbis libvpx libwebp libX11
     libxcb libXv libXext lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
diff --git a/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch b/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch
new file mode 100644
index 00000000000..789bfc2674f
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch
@@ -0,0 +1,19 @@
+diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
+index d2f9a39ce5..2342399a8e 100644
+--- a/libavcodec/allcodecs.c
++++ b/libavcodec/allcodecs.c
+@@ -679,13 +679,13 @@ extern AVCodec ff_pcm_mulaw_at_encoder;
+ extern AVCodec ff_pcm_mulaw_at_decoder;
+ extern AVCodec ff_qdmc_at_decoder;
+ extern AVCodec ff_qdm2_at_decoder;
++extern AVCodec ff_libdav1d_decoder;
+ extern AVCodec ff_libaom_av1_decoder;
+ extern AVCodec ff_libaom_av1_encoder;
+ extern AVCodec ff_libaribb24_decoder;
+ extern AVCodec ff_libcelt_decoder;
+ extern AVCodec ff_libcodec2_encoder;
+ extern AVCodec ff_libcodec2_decoder;
+-extern AVCodec ff_libdav1d_decoder;
+ extern AVCodec ff_libdavs2_decoder;
+ extern AVCodec ff_libfdk_aac_encoder;
+ extern AVCodec ff_libfdk_aac_decoder;