guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

09/45: gnu: ffmpeg: Fix builds.


From: guix-commits
Subject: 09/45: gnu: ffmpeg: Fix builds.
Date: Sun, 18 Feb 2024 08:41:05 -0500 (EST)

jpoiret pushed a commit to branch core-updates-glibc-2.39
in repository guix.

commit 1335166bec7ac61764874f8ed71a085e421debef
Author: Josselin Poiret <dev@jpoiret.xyz>
AuthorDate: Tue Jan 30 10:56:58 2024 +0100

    gnu: ffmpeg: Fix builds.
    
    * gnu/packages/patches/ffmpeg-remove-compressed_ten_bit_format.patch: New 
patch.
    * gnu/local.mk (dist_patch_DATA): Register it.
    * gnu/packages/video.scm (ffmpeg-4): Use it.
    (ffmpeg-3.4, ffmpeg-2.8): Use ffmpeg-4-binutils-2.41.patch.
    
    Change-Id: Idaf1d80f33530ba6d8c3c60b284dc08e522ec220
---
 gnu/local.mk                                       |  1 +
 .../ffmpeg-remove-compressed_ten_bit_format.patch  | 43 ++++++++++++++++++++++
 gnu/packages/video.scm                             | 12 ++++--
 3 files changed, 52 insertions(+), 4 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 62368f3511..a4bf4349a2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1190,6 +1190,7 @@ dist_patch_DATA =                                         
\
   
%D%/packages/patches/ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch \
   %D%/packages/patches/ffmpeg-jami-remove-mjpeg-log.patch      \
   %D%/packages/patches/ffmpeg-jami-screen-sharing-x11-fix.patch        \
+  %D%/packages/patches/ffmpeg-remove-compressed_ten_bit_format.patch   \
   %D%/packages/patches/ffmpeg-4-binutils-2.41.patch    \
   %D%/packages/patches/fifengine-boost-compat.patch            \
   %D%/packages/patches/fifengine-python-3.9-compat.patch       \
diff --git a/gnu/packages/patches/ffmpeg-remove-compressed_ten_bit_format.patch 
b/gnu/packages/patches/ffmpeg-remove-compressed_ten_bit_format.patch
new file mode 100644
index 0000000000..3eac98d1f9
--- /dev/null
+++ b/gnu/packages/patches/ffmpeg-remove-compressed_ten_bit_format.patch
@@ -0,0 +1,43 @@
+From 031f1561cd286596cdb374da32f8aa816ce3b135 Mon Sep 17 00:00:00 2001
+From: Christopher Degawa <christopher.degawa@intel.com>
+Date: Thu, 20 Oct 2022 22:55:27 -0500
+Subject: [PATCH] avcodec/libsvtav1: remove compressed_ten_bit_format and
+ simplify alloc_buffer
+
+compressed_ten_bit_format has been deprecated upstream and has no effect
+and can be removed. Plus, technically it was never used in the first place
+since it would require the app (ffmpeg) to set it and do additional
+processing of the input frames.
+
+Also simplify alloc_buffer by removing calculations relating to the
+non-existant processing.
+
+Signed-off-by: Christopher Degawa <christopher.degawa@intel.com>
+---
+ libavcodec/libsvtav1.c | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
+index 2f5634cee0241..28da206cf8512 100644
+--- a/libavcodec/libsvtav1.c
++++ b/libavcodec/libsvtav1.c
+@@ -124,16 +124,12 @@ static int svt_print_error(void *log_ctx, EbErrorType 
err,
+ 
+ static int alloc_buffer(EbSvtAv1EncConfiguration *config, SvtContext *svt_enc)
+ {
+-    const int    pack_mode_10bit =
+-        (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format 
== 0) ? 1 : 0;
+-    const size_t luma_size_8bit  =
+-        config->source_width * config->source_height * (1 << pack_mode_10bit);
+-    const size_t luma_size_10bit =
+-        (config->encoder_bit_depth > 8 && pack_mode_10bit == 0) ? 
luma_size_8bit : 0;
++    const size_t luma_size = config->source_width * config->source_height *
++        (config->encoder_bit_depth > 8 ? 2 : 1);
+ 
+     EbSvtIOFormat *in_data;
+ 
+-    svt_enc->raw_size = (luma_size_8bit + luma_size_10bit) * 3 / 2;
++    svt_enc->raw_size = luma_size * 3 / 2;
+ 
+     // allocate buffer for in and out
+     svt_enc->in_buf           = av_mallocz(sizeof(*svt_enc->in_buf));
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c70646eccd..eb51be9f11 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1890,7 +1890,8 @@ audio/video codec library.")
              (sha256
               (base32
                "14xadxm1yaamp216nq09xwasxg5g133v86dbb33mdg5di1zrlhdg"))
-             (patches (search-patches "ffmpeg-4-binutils-2.41.patch"))))
+             (patches (search-patches 
"ffmpeg-remove-compressed_ten_bit_format.patch"
+                                      "ffmpeg-4-binutils-2.41.patch"))))
     (inputs (modify-inputs (package-inputs ffmpeg)
               (replace "sdl2" sdl2-2.0)))
     (arguments
@@ -1908,7 +1909,8 @@ audio/video codec library.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0np0yalqdrm7rn7iykgfzz3ly4vbgigrajg48c1l6n7qrzqvfszv"))))
+               "0np0yalqdrm7rn7iykgfzz3ly4vbgigrajg48c1l6n7qrzqvfszv"))
+             (patches (search-patches "ffmpeg-4-binutils-2.41.patch"))))
     (arguments
      (substitute-keyword-arguments (package-arguments ffmpeg-4)
        ((#:modules modules %default-gnu-modules)
@@ -1919,7 +1921,8 @@ audio/video codec library.")
                 '("--enable-libdav1d"
                   "--enable-libaom"
                   "--enable-librav1e"
-                  "--enable-libsrt")))))
+                  "--enable-libsrt"
+                  "--enable-libsvtav1")))))
     (inputs (modify-inputs (package-inputs ffmpeg-4)
               (delete "dav1d" "libaom" "rav1e" "srt")))))
 
@@ -1933,7 +1936,8 @@ audio/video codec library.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "0c8m4hhv2k5fybha908wzrpnf3wqkq52hayl658jq4bah0igdfqz"))))
+                "0c8m4hhv2k5fybha908wzrpnf3wqkq52hayl658jq4bah0igdfqz"))
+              (patches (search-patches "ffmpeg-4-binutils-2.41.patch"))))
     (arguments
      `(#:tests? #f               ; XXX: Enable them later, if required
        #:configure-flags



reply via email to

[Prev in Thread] Current Thread [Next in Thread]