From 581cca54e9394a9626caa6d0c204a9890c4cc3d4a595cfd68e99f14fa8eb8d9c Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Wed, 4 Oct 2023 09:06:02 +0000 Subject: [PATCH 1/4] Accepting request 1115537 from home:manfred-h - Add ffmpeg-x86-mathops.patch to allow building for Leap OBS-URL: https://build.opensuse.org/request/show/1115537 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-5?expand=0&rev=71 --- ffmpeg-5.changes | 5 ++++ ffmpeg-5.spec | 2 ++ ffmpeg-x86-mathops.patch | 59 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 ffmpeg-x86-mathops.patch diff --git a/ffmpeg-5.changes b/ffmpeg-5.changes index 3402348..89aa703 100644 --- a/ffmpeg-5.changes +++ b/ffmpeg-5.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Oct 4 07:59:01 UTC 2023 - Manfred Hollstein + +- Add ffmpeg-x86-mathops.patch to allow building for Leap + ------------------------------------------------------------------- Thu Jun 29 12:26:41 UTC 2023 - Jan Engelhardt diff --git a/ffmpeg-5.spec b/ffmpeg-5.spec index d0ffe82..0bacb8d 100644 --- a/ffmpeg-5.spec +++ b/ffmpeg-5.spec @@ -112,6 +112,7 @@ 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: ffmpeg-x86-mathops.patch %if %{with amf_sdk} BuildRequires: AMF-devel @@ -842,6 +843,7 @@ Patch9: ffmpeg-4.4-CVE-2020-22046.patch Patch10: ffmpeg-chromium.patch Patch91: ffmpeg-dlopen-openh264.patch Patch93: soname.diff +Patch94: ffmpeg-x86-mathops.patch BuildRequires: c_compiler Requires: this-is-only-for-build-envs diff --git a/ffmpeg-x86-mathops.patch b/ffmpeg-x86-mathops.patch new file mode 100644 index 0000000..ada8b7b --- /dev/null +++ b/ffmpeg-x86-mathops.patch @@ -0,0 +1,59 @@ +diff -rup a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h +--- a/libavcodec/x86/mathops.h 2023-10-01 13:02:26.829463017 +0200 ++++ b/libavcodec/x86/mathops.h 2023-10-01 13:05:19.219502582 +0200 +@@ -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; + } + From 7937abeecd64ef6acf498f504b977f1180622e227276ff7a87ba10733275265a Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Wed, 4 Oct 2023 09:29:51 +0000 Subject: [PATCH 2/4] use git-fomat-patch to extract patch OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-5?expand=0&rev=72 --- ...ops-clip-constants-used-with-shift-i.patch | 24 ++++++++++++++++--- ffmpeg-5.changes | 3 ++- ffmpeg-5.spec | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) rename ffmpeg-x86-mathops.patch => 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch (67%) diff --git a/ffmpeg-x86-mathops.patch b/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch similarity index 67% rename from ffmpeg-x86-mathops.patch rename to 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch index ada8b7b..4b555d2 100644 --- a/ffmpeg-x86-mathops.patch +++ b/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch @@ -1,6 +1,21 @@ -diff -rup a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h ---- a/libavcodec/x86/mathops.h 2023-10-01 13:02:26.829463017 +0200 -+++ b/libavcodec/x86/mathops.h 2023-10-01 13:05:19.219502582 +0200 +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) { @@ -57,3 +72,6 @@ diff -rup a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h return a; } +-- +2.42.0 + diff --git a/ffmpeg-5.changes b/ffmpeg-5.changes index 89aa703..db58db3 100644 --- a/ffmpeg-5.changes +++ b/ffmpeg-5.changes @@ -1,7 +1,8 @@ ------------------------------------------------------------------- Wed Oct 4 07:59:01 UTC 2023 - Manfred Hollstein -- Add ffmpeg-x86-mathops.patch to allow building for Leap +- Add 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch + to resolve a build failure on 15.4/15.5. ------------------------------------------------------------------- Thu Jun 29 12:26:41 UTC 2023 - Jan Engelhardt diff --git a/ffmpeg-5.spec b/ffmpeg-5.spec index 0bacb8d..b970726 100644 --- a/ffmpeg-5.spec +++ b/ffmpeg-5.spec @@ -112,7 +112,7 @@ 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: ffmpeg-x86-mathops.patch +Patch94: 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch %if %{with amf_sdk} BuildRequires: AMF-devel From 51222908f873d2057174f0e6b3cf93fcc8c3d77ca9da7d3d2ff1768c967f00d5 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Wed, 4 Oct 2023 11:20:06 +0000 Subject: [PATCH 3/4] OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-5?expand=0&rev=73 --- ffmpeg-5.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ffmpeg-5.spec b/ffmpeg-5.spec index b970726..cce889e 100644 --- a/ffmpeg-5.spec +++ b/ffmpeg-5.spec @@ -17,6 +17,9 @@ %define flavor @BUILD_FLAVOR@%{nil} +# +# preamble is present twice, watch out +# %if "%{flavor}" != "ffmpeg-5-mini" # Create proper conflicts to make sure we require all from one version @@ -843,7 +846,7 @@ Patch9: ffmpeg-4.4-CVE-2020-22046.patch Patch10: ffmpeg-chromium.patch Patch91: ffmpeg-dlopen-openh264.patch Patch93: soname.diff -Patch94: ffmpeg-x86-mathops.patch +Patch94: 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch BuildRequires: c_compiler Requires: this-is-only-for-build-envs From 070008e71c02a1a50c4af7a90478824c4ef98d600be3dee577cd78b2509da51e Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 10 Nov 2023 13:09:48 +0000 Subject: [PATCH 4/4] Accepting request 1124867 from home:iznogood:factory - 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 OBS-URL: https://build.opensuse.org/request/show/1124867 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-5?expand=0&rev=74 --- ...1-replace-vbv_bufsize-with-maximum_b.patch | 43 ----------- ...ops-clip-constants-used-with-shift-i.patch | 77 ------------------- ...1-remove-compressed_ten_bit_format-a.patch | 46 ----------- ...1-only-set-max_buf_sz-if-both-bitrat.patch | 31 -------- ...1-use-larger-of-bit-rate-and-max-rat.patch | 46 ----------- ffmpeg-5.1.3.tar.xz | 3 - ffmpeg-5.1.3.tar.xz.asc | 11 --- ffmpeg-5.1.4.tar.xz | 3 + ffmpeg-5.1.4.tar.xz.asc | 11 +++ ffmpeg-5.changes | 13 ++++ ffmpeg-5.spec | 10 +-- 11 files changed, 29 insertions(+), 265 deletions(-) delete mode 100644 0001-avcodec-libsvtav1-replace-vbv_bufsize-with-maximum_b.patch delete mode 100644 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch delete mode 100644 0002-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch delete mode 100644 0003-avcodec-libsvtav1-only-set-max_buf_sz-if-both-bitrat.patch delete mode 100644 0004-avcodec-libsvtav1-use-larger-of-bit-rate-and-max-rat.patch delete mode 100644 ffmpeg-5.1.3.tar.xz delete mode 100644 ffmpeg-5.1.3.tar.xz.asc create mode 100644 ffmpeg-5.1.4.tar.xz create mode 100644 ffmpeg-5.1.4.tar.xz.asc 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