[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
- 14/45: gnu: python: Add libxcrypt dependency., (continued)
- 14/45: gnu: python: Add libxcrypt dependency., guix-commits, 2024/02/18
- 38/45: gnu: accountsservice: Add libxcrypt dependency., guix-commits, 2024/02/18
- 26/45: gnu: apr: Update to 1.7.4., guix-commits, 2024/02/18
- 44/45: gnu: ldb: Remove reference to crypt., guix-commits, 2024/02/18
- 45/45: gnu: slock: Add libxcrypt dependency., guix-commits, 2024/02/18
- 17/45: gnu: shadow: Add libxcrypt dependency., guix-commits, 2024/02/18
- 18/45: gnu: tcsh: Add libxcrypt dependency., guix-commits, 2024/02/18
- 28/45: gnu: apr: Add libxcrypt dependency., guix-commits, 2024/02/18
- 21/45: services: udev: Make udev-rule helper functions generic., guix-commits, 2024/02/18
- 37/45: gnu: cryptsetup: G-Expify static-library., guix-commits, 2024/02/18
- 09/45: gnu: ffmpeg: Fix builds.,
guix-commits <=
- 19/45: gnu: eudev: Update to 3.2.14., guix-commits, 2024/02/18
- 33/45: gnu: tdb: Add libxcrypt dependency., guix-commits, 2024/02/18
- 24/45: gnu: upower: Update to 1.90.2., guix-commits, 2024/02/18
- 16/45: gnu: elogind: Add libxcrypt dependency., guix-commits, 2024/02/18
- 20/45: services: udev: Rewrite udev-rule to use file->udev-rule., guix-commits, 2024/02/18
- 27/45: gnu: apr-util: Update to 1.6.3., guix-commits, 2024/02/18
- 41/45: gnu: sambda/pinned: Add libxcrypt dependency., guix-commits, 2024/02/18
- 13/45: gnu: libxcrypt: Remove python from native-inputs., guix-commits, 2024/02/18
- 12/45: gnu: gcc: Patch crypt out of bundled libsanitizer., guix-commits, 2024/02/18
- 42/45: gnu: talloc: Remove reference to crypt., guix-commits, 2024/02/18