From 9a9e475ca4f96eb50fb2c8576b93496a252d88d9 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 12 Apr 2024 21:54:10 +0200 Subject: [PATCH] ffmpeg: jxl support --- pkgs/development/libraries/ffmpeg/generic.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 24533f97ef884..9645bea894c2d 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -66,6 +66,7 @@ , withHarfbuzz ? withHeadlessDeps && lib.versionAtLeast version "6.1" # Needed for drawtext filter , withIconv ? withHeadlessDeps , withJack ? withFullDeps && !stdenv.isDarwin # Jack audio +, withJxl ? withFullDeps && lib.versionAtLeast version "5" # JPEG XL de/encoding , withLadspa ? withFullDeps # LADSPA audio filtering , withLzma ? withHeadlessDeps # xz-utils , withMfx ? withFullDeps && (with stdenv.hostPlatform; isLinux && !isAarch) # Hardware acceleration via intel-media-sdk/libmfx @@ -239,6 +240,7 @@ , libGLU , libiconv , libjack2 +, libjxl , libmodplug , libmysofa , libogg @@ -411,6 +413,13 @@ stdenv.mkDerivation (finalAttrs: { ''; } ] + ++ (lib.optionals (lib.versionAtLeast version "5" && lib.versionOlder version "6") [ + { + name = "fix_build_failure_due_to_libjxl_version_to_new"; + url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/75b1a555a70c178a9166629e43ec2f6250219eb2"; + hash = "sha256-+2kzfPJf5piim+DqEgDuVEEX5HLwRsxq0dWONJ4ACrU="; + } + ]) ++ (lib.optionals (lib.versionAtLeast version "6.1" && lib.versionOlder version "6.2") [ { # this can be removed post 6.1 name = "fix_build_failure_due_to_PropertyKey_EncoderID"; @@ -552,6 +561,9 @@ stdenv.mkDerivation (finalAttrs: { ] ++ [ (enableFeature withIconv "iconv") (enableFeature withJack "libjack") + ] ++ optionals (versionAtLeast finalAttrs.version "5.0") [ + (enableFeature withJxl "libjxl") + ] ++ [ (enableFeature withLadspa "ladspa") (enableFeature withLzma "lzma") (enableFeature withMfx "libmfx") @@ -686,6 +698,7 @@ stdenv.mkDerivation (finalAttrs: { ++ optionals withHarfbuzz [ harfbuzz ] ++ optionals withIconv [ libiconv ] # On Linux this should be in libc, do we really need it? ++ optionals withJack [ libjack2 ] + ++ optionals withJxl [ libjxl ] ++ optionals withLadspa [ ladspaH ] ++ optionals withLzma [ xz ] ++ optionals withMfx [ intel-media-sdk ]