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

Reply via email to