[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
09/36: gnu: ffmpeg: Fix builds.
From: |
guix-commits |
Subject: |
09/36: gnu: ffmpeg: Fix builds. |
Date: |
Wed, 14 Feb 2024 04:31:12 -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
- branch core-updates-glibc-2.39 created (now fabcd3aef9), guix-commits, 2024/02/14
- 02/36: gnu: Add libdevmapper-propagated-inputs., guix-commits, 2024/02/14
- 01/36: gnu: cryptsetup: Update to 2.6.1., guix-commits, 2024/02/14
- 06/36: gnu: lvm2-static: Properly handle eudev dependency in pkg-config., guix-commits, 2024/02/14
- 09/36: gnu: ffmpeg: Fix builds.,
guix-commits <=
- 12/36: gnu: gcc: Patch crypt out of bundled libsanitizer., guix-commits, 2024/02/14
- 07/36: gnu: cryptsetup-static: Fix static build., guix-commits, 2024/02/14
- 11/36: gnu: gcc: Simplify application of Hurd-specific pthread patch., guix-commits, 2024/02/14
- 13/36: gnu: libxcrypt: Remove python from native-inputs., guix-commits, 2024/02/14
- 14/36: gnu: python: Add libxcrypt dependency., guix-commits, 2024/02/14
- 19/36: gnu: eudev: Update to 3.2.14., guix-commits, 2024/02/14
- 20/36: services: udev: Rewrite udev-rule to use file->udev-rule., guix-commits, 2024/02/14
- 28/36: gnu: apr: Add libxcrypt dependency., guix-commits, 2024/02/14
- 15/36: gnu: linux-pam: Add libxcrypt dependency., guix-commits, 2024/02/14
- 16/36: gnu: elogind: Add libxcrypt dependency., guix-commits, 2024/02/14