diff --git a/0001-avcodec-libsvtav1-replace-vbv_bufsize-with-maximum_b.patch b/0001-avcodec-libsvtav1-replace-vbv_bufsize-with-maximum_b.patch deleted file mode 100644 index ca01cc2..0000000 --- a/0001-avcodec-libsvtav1-replace-vbv_bufsize-with-maximum_b.patch +++ /dev/null @@ -1,43 +0,0 @@ -From bea695d54372b66a6b9b136982fc92adb63e4745 Mon Sep 17 00:00:00 2001 -From: Christopher Degawa -Date: Thu, 20 Oct 2022 22:55:28 -0500 -Subject: [PATCH 1/4] avcodec/libsvtav1: replace vbv_bufsize with - maximum_buffer_size_ms - -svt-av1 v1.2.0 has deprecated vbv_bufsize in favor of using -- maximum_buffer_size_ms (--buf-sz) -- starting_buffer_level_ms (--buf-initial-sz) -- optimal_buffer_level_ms (--buf-optimal-sz) - -and vbv_bufsize has not been in use since svt-av1 v0.8.6 - -Signed-off-by: Christopher Degawa ---- - libavcodec/libsvtav1.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c -index 4001cf7f03..ecf5f9cb63 100644 ---- a/libavcodec/libsvtav1.c -+++ b/libavcodec/libsvtav1.c -@@ -183,7 +183,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, - param->min_qp_allowed = avctx->qmin; - } - param->max_bit_rate = avctx->rc_max_rate; -- param->vbv_bufsize = avctx->rc_buffer_size; -+ param->maximum_buffer_size_ms = avctx->rc_buffer_size * 1000LL / avctx->bit_rate; - - if (svt_enc->crf > 0) { - param->qp = svt_enc->crf; -@@ -300,7 +300,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, - avctx->bit_rate = param->rate_control_mode > 0 ? - param->target_bit_rate : 0; - avctx->rc_max_rate = param->max_bit_rate; -- avctx->rc_buffer_size = param->vbv_bufsize; -+ avctx->rc_buffer_size = param->maximum_buffer_size_ms * avctx->bit_rate / 1000LL; - - if (avctx->bit_rate || avctx->rc_max_rate || avctx->rc_buffer_size) { - AVCPBProperties *cpb_props = ff_add_cpb_side_data(avctx); --- -2.41.0 - diff --git a/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch b/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch deleted file mode 100644 index 4b555d2..0000000 --- a/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= -Date: Sun, 16 Jul 2023 18:18:02 +0300 -Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift - instructions within inline assembly - -Fixes assembling with binutil as >= 2.41 - -Signed-off-by: James Almer -(cherry picked from commit effadce6c756247ea8bae32dc13bb3e6f464f0eb) ---- - libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++--- - 1 file changed, 23 insertions(+), 3 deletions(-) - -diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h -index 6298f5ed19..ca7e2dffc1 100644 ---- a/libavcodec/x86/mathops.h -+++ b/libavcodec/x86/mathops.h -@@ -35,12 +35,20 @@ - static av_always_inline av_const int MULL(int a, int b, unsigned shift) - { - int rt, dummy; -+ if (__builtin_constant_p(shift)) - __asm__ ( - "imull %3 \n\t" - "shrdl %4, %%edx, %%eax \n\t" - :"=a"(rt), "=d"(dummy) -- :"a"(a), "rm"(b), "ci"((uint8_t)shift) -+ :"a"(a), "rm"(b), "i"(shift & 0x1F) - ); -+ else -+ __asm__ ( -+ "imull %3 \n\t" -+ "shrdl %4, %%edx, %%eax \n\t" -+ :"=a"(rt), "=d"(dummy) -+ :"a"(a), "rm"(b), "c"((uint8_t)shift) -+ ); - return rt; - } - -@@ -113,19 +121,31 @@ __asm__ volatile(\ - // avoid +32 for shift optimization (gcc should do that ...) - #define NEG_SSR32 NEG_SSR32 - static inline int32_t NEG_SSR32( int32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("sarl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("sarl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - - #define NEG_USR32 NEG_USR32 - static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("shrl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("shrl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - --- -2.42.0 - diff --git a/0002-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch b/0002-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch deleted file mode 100644 index 0ce19c4..0000000 --- a/0002-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3344d47a88506aba060b5fd2a214cf7785b11483 Mon Sep 17 00:00:00 2001 -From: Christopher Degawa -Date: Thu, 20 Oct 2022 22:55:27 -0500 -Subject: [PATCH 2/4] 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 ---- - libavcodec/libsvtav1.c | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) - -diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c -index ecf5f9cb63..90f7c4236c 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)); --- -2.41.0 - diff --git a/0003-avcodec-libsvtav1-only-set-max_buf_sz-if-both-bitrat.patch b/0003-avcodec-libsvtav1-only-set-max_buf_sz-if-both-bitrat.patch deleted file mode 100644 index d27891b..0000000 --- a/0003-avcodec-libsvtav1-only-set-max_buf_sz-if-both-bitrat.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8fe2fec45321d1b82f98f9725ad9118cefcfa58d Mon Sep 17 00:00:00 2001 -From: Christopher Degawa -Date: Sun, 20 Nov 2022 13:07:36 -0600 -Subject: [PATCH 3/4] avcodec/libsvtav1: only set max_buf_sz if both bitrate - and rc_buf_sz is set - -maximum_buffer_size_ms should only be set if both are specified or if -the user sets it through -svtav1-params buf-sz=val - -Signed-off-by: Christopher Degawa ---- - libavcodec/libsvtav1.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c -index 90f7c4236c..d41bed480b 100644 ---- a/libavcodec/libsvtav1.c -+++ b/libavcodec/libsvtav1.c -@@ -179,7 +179,8 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, - param->min_qp_allowed = avctx->qmin; - } - param->max_bit_rate = avctx->rc_max_rate; -- param->maximum_buffer_size_ms = avctx->rc_buffer_size * 1000LL / avctx->bit_rate; -+ if (avctx->bit_rate && avctx->rc_buffer_size) -+ param->maximum_buffer_size_ms = avctx->rc_buffer_size * 1000LL / avctx->bit_rate; - - if (svt_enc->crf > 0) { - param->qp = svt_enc->crf; --- -2.41.0 - diff --git a/0004-avcodec-libsvtav1-use-larger-of-bit-rate-and-max-rat.patch b/0004-avcodec-libsvtav1-use-larger-of-bit-rate-and-max-rat.patch deleted file mode 100644 index fe546f9..0000000 --- a/0004-avcodec-libsvtav1-use-larger-of-bit-rate-and-max-rat.patch +++ /dev/null @@ -1,46 +0,0 @@ -From e5b5dd66535f444451e0fee59247b224d866f334 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= -Date: Thu, 9 Mar 2023 20:27:06 +0200 -Subject: [PATCH 4/4] avcodec/libsvtav1: use larger of bit rate and max rate - for buffer size - -Generally if maxrate is set, the calculation should be maxrate over -bufsize. This additionally enables CRF + maxrate & bufsize usage. - -In order to keep negative values from enabling zero to be treated -as larger and causing a division by zero, check that one of the -variables is larger than zero. ---- - libavcodec/libsvtav1.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c -index d41bed480b..0f9d455660 100644 ---- a/libavcodec/libsvtav1.c -+++ b/libavcodec/libsvtav1.c -@@ -179,8 +179,10 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, - param->min_qp_allowed = avctx->qmin; - } - param->max_bit_rate = avctx->rc_max_rate; -- if (avctx->bit_rate && avctx->rc_buffer_size) -- param->maximum_buffer_size_ms = avctx->rc_buffer_size * 1000LL / avctx->bit_rate; -+ if ((avctx->bit_rate > 0 || avctx->rc_max_rate > 0) && avctx->rc_buffer_size) -+ param->maximum_buffer_size_ms = -+ avctx->rc_buffer_size * 1000LL / -+ FFMAX(avctx->bit_rate, avctx->rc_max_rate); - - if (svt_enc->crf > 0) { - param->qp = svt_enc->crf; -@@ -297,7 +299,8 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, - avctx->bit_rate = param->rate_control_mode > 0 ? - param->target_bit_rate : 0; - avctx->rc_max_rate = param->max_bit_rate; -- avctx->rc_buffer_size = param->maximum_buffer_size_ms * avctx->bit_rate / 1000LL; -+ avctx->rc_buffer_size = param->maximum_buffer_size_ms * -+ FFMAX(avctx->bit_rate, avctx->rc_max_rate) / 1000LL; - - if (avctx->bit_rate || avctx->rc_max_rate || avctx->rc_buffer_size) { - AVCPBProperties *cpb_props = ff_add_cpb_side_data(avctx); --- -2.41.0 - diff --git a/ffmpeg-5.1.3.tar.xz b/ffmpeg-5.1.3.tar.xz deleted file mode 100644 index 6178b04..0000000 --- a/ffmpeg-5.1.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1b113593ff907293be7aed95acdda5e785dd73616d7d4ec90a0f6adbc5a0312e -size 10007756 diff --git a/ffmpeg-5.1.3.tar.xz.asc b/ffmpeg-5.1.3.tar.xz.asc deleted file mode 100644 index 8ce656a..0000000 --- a/ffmpeg-5.1.3.tar.xz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQFMBAABCAA2FiEE/PmG6hXm4pOlZE8QtDIvBNZ2WNgFAmQgVfwYHGZmbXBlZy1k -ZXZlbEBmZm1wZWcub3JnAAoJELQyLwTWdljYntkH/1aN/nVkVPhbalrPdX14VIau -aW2OxXleh7AJe9FVjYduJPQZHS5+wm1GTTl5/IHje3sMG54RdkezRIfx/XCeZefd -c+P6OPvqpIXvhEHoKABB/hD7bI/+0bkAfUtDDp0Nfv05sag9PPC0XAJfLGlvWTPl -Ci8rLbO7VnsOo35+3dRVHgx6N6vNQuKRx5oZVgb3GEo18gjV1zsoDD91cQjR7GeF -64Jol7CPAikSnGwi3rxjARTk+V2YqaPM0KY/VR9QlVReIT2CdrRvQtUTvL1WB5mC -6nQ3tHDkRk5uEohAT+e9dxAUBxSTQhKHJn8V4pFS1QVBKH4slPqGvTPnKf5vg+8= -=Tdc7 ------END PGP SIGNATURE----- diff --git a/ffmpeg-5.1.4.tar.xz b/ffmpeg-5.1.4.tar.xz new file mode 100644 index 0000000..9a1695d --- /dev/null +++ b/ffmpeg-5.1.4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54383bb890a1cd62580e9f1eaa8081203196ed53bde9e98fb6b0004423f49063 +size 10009968 diff --git a/ffmpeg-5.1.4.tar.xz.asc b/ffmpeg-5.1.4.tar.xz.asc new file mode 100644 index 0000000..6b24786 --- /dev/null +++ b/ffmpeg-5.1.4.tar.xz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQFMBAABCAA2FiEE/PmG6hXm4pOlZE8QtDIvBNZ2WNgFAmVNbhEYHGZmbXBlZy1k +ZXZlbEBmZm1wZWcub3JnAAoJELQyLwTWdljYdNMIAI+dP+nDw3YxOpr4H7ACcmpD +mfKku9WKbrp648wqWDeB2jEFEe4F2Wh1hViGBoMs0bZ6ZnZY37SbvOAAGSP5aMNM +DTxspAf5VwoBGWRFcx8ljSZImozwfDQuXL2DjxVA71s+7v47b8ww1flGIveIxnJG +uFAZ0MUR6CN3NHMAjbpro+pZRam4hSA3UzNCgLF00iqzksOm9WxZqbOL0AJoH+en +6wTqH+29BZhfY+zICyZnknYla3PcKxvO73grSY+dlpmleQEE2HIsmu0/b+v6CCeI +qXoGEFF5PazrCW4JLuCXDOQmcxLreesCSdCsdHxPg8pU4zj3jQpO2UV6r/YdAE0= +=LL3G +-----END PGP SIGNATURE----- diff --git a/ffmpeg-5.changes b/ffmpeg-5.changes index db58db3..420adee 100644 --- a/ffmpeg-5.changes +++ b/ffmpeg-5.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Nov 10 11:19:52 UTC 2023 - Bjørn Lie + +- Update to version 5.1.4: + * Updates and bugfixes to avcodecs, avformat and avfilters + mainly. +- Drop patches fixed upstream: + * 0001-avcodec-libsvtav1-replace-vbv_bufsize-with-maximum_b.patch + * 0002-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch + * 0003-avcodec-libsvtav1-only-set-max_buf_sz-if-both-bitrat.patch + * 0004-avcodec-libsvtav1-use-larger-of-bit-rate-and-max-rat.patch + * 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch + ------------------------------------------------------------------- Wed Oct 4 07:59:01 UTC 2023 - Manfred Hollstein diff --git a/ffmpeg-5.spec b/ffmpeg-5.spec index cce889e..e099afa 100644 --- a/ffmpeg-5.spec +++ b/ffmpeg-5.spec @@ -83,7 +83,7 @@ %define _major_expected 6 Name: ffmpeg-5 -Version: 5.1.3 +Version: 5.1.4 Release: 0 Summary: Set of libraries for working with various multimedia formats License: GPL-3.0-or-later @@ -109,13 +109,8 @@ Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch Patch5: work-around-abi-break.patch Patch9: ffmpeg-4.4-CVE-2020-22046.patch Patch10: ffmpeg-chromium.patch -Patch11: 0001-avcodec-libsvtav1-replace-vbv_bufsize-with-maximum_b.patch -Patch12: 0002-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch -Patch13: 0003-avcodec-libsvtav1-only-set-max_buf_sz-if-both-bitrat.patch -Patch14: 0004-avcodec-libsvtav1-use-larger-of-bit-rate-and-max-rat.patch Patch91: ffmpeg-dlopen-openh264.patch Patch93: soname.diff -Patch94: 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch %if %{with amf_sdk} BuildRequires: AMF-devel @@ -827,7 +822,7 @@ done %define _name ffmpeg Name: ffmpeg-5-mini -Version: 5.1.3 +Version: 5.1.4 Release: 0 Summary: Set of libraries for working with various multimedia formats License: GPL-3.0-or-later @@ -846,7 +841,6 @@ Patch9: ffmpeg-4.4-CVE-2020-22046.patch Patch10: ffmpeg-chromium.patch Patch91: ffmpeg-dlopen-openh264.patch Patch93: soname.diff -Patch94: 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch BuildRequires: c_compiler Requires: this-is-only-for-build-envs