diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/patches/ffmpeg-remove-compressed_ten_bit_format.patch | 43 | ||||
-rw-r--r-- | gnu/packages/video.scm | 12 |
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 |