Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ffmpeg-6 for openSUSE:Factory checked in at 2023-11-10 12:28:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ffmpeg-6 (Old) and /work/SRC/openSUSE:Factory/.ffmpeg-6.new.17445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ffmpeg-6" Fri Nov 10 12:28:35 2023 rev:4 rq:1115602 version:6.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ffmpeg-6/ffmpeg-6.changes 2023-08-02 16:48:08.320508985 +0200 +++ /work/SRC/openSUSE:Factory/.ffmpeg-6.new.17445/ffmpeg-6.changes 2023-11-10 12:28:36.498067324 +0100 @@ -1,0 +2,6 @@ +Wed Oct 4 07:59:01 UTC 2023 - Manfred Hollstein <manfre...@gmx.net> + +- Add 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch + to resolve a build failure on 15.4/15.5. + +------------------------------------------------------------------- New: ---- 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch BETA DEBUG BEGIN: New: - Add 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch to resolve a build failure on 15.4/15.5. BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ffmpeg-6.spec ++++++ --- /var/tmp/diff_new_pack.R1AdV0/_old 2023-11-10 12:28:37.714111928 +0100 +++ /var/tmp/diff_new_pack.R1AdV0/_new 2023-11-10 12:28:37.714111928 +0100 @@ -17,6 +17,9 @@ %define flavor @BUILD_FLAVOR@%{nil} +# +# preamble is present twice, watch out +# %if "%{flavor}" != "ffmpeg-6-mini" # Create proper conflicts to make sure we require all from one version @@ -107,6 +110,7 @@ Patch6: 0001-avfilter-vf_libplacebo-remove-deprecated-field.diff Patch10: ffmpeg-chromium.patch Patch91: ffmpeg-dlopen-openh264.patch +Patch92: 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch %if %{with amf_sdk} BuildRequires: AMF-devel @@ -537,6 +541,7 @@ %patch5 -p1 %patch10 -p1 %patch91 -p1 +%patch92 -p1 # Remove when packaging ffmpeg 6.1 if pkg-config --atleast-version 6 libplacebo; then %patch6 -p1 @@ -855,6 +860,7 @@ Patch5: work-around-abi-break.patch Patch10: ffmpeg-chromium.patch Patch91: ffmpeg-dlopen-openh264.patch +Patch92: 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch BuildRequires: c_compiler Requires: this-is-only-for-build-envs ++++++ 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch ++++++ >From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <r...@remlab.net> 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 <jamr...@gmail.com> --- 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