aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJosselin Poiret <dev@jpoiret.xyz>2024-01-30 10:56:58 +0100
committerLudovic Courtès <ludo@gnu.org>2024-08-31 10:44:51 +0200
commitc033fb81461a6696d6f22a29c5003486ed212e9e (patch)
treee7ac19e7c57051bc391e573dbb31a8ce83a75aad /gnu/packages
parent7b10ca6fe2b2bd138d37142b479d0603ab656a38 (diff)
downloadguix-c033fb81461a6696d6f22a29c5003486ed212e9e.tar
guix-c033fb81461a6696d6f22a29c5003486ed212e9e.tar.gz
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
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/ffmpeg-remove-compressed_ten_bit_format.patch43
-rw-r--r--gnu/packages/video.scm12
2 files changed, 51 insertions, 4 deletions
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 0100370e30..3da7a29c82 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1895,7 +1895,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
@@ -1913,7 +1914,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)
@@ -1924,7 +1926,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")))))
@@ -1938,7 +1941,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