Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ffmpeg-4 for openSUSE:Factory 
checked in at 2023-10-30 22:10:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ffmpeg-4 (Old)
 and      /work/SRC/openSUSE:Factory/.ffmpeg-4.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ffmpeg-4"

Mon Oct 30 22:10:02 2023 rev:60 rq:1121164 version:4.4.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/ffmpeg-4/ffmpeg-4.changes        2023-06-27 
23:15:55.431129327 +0200
+++ /work/SRC/openSUSE:Factory/.ffmpeg-4.new.17445/ffmpeg-4.changes     
2023-10-30 22:10:10.874879441 +0100
@@ -1,0 +2,11 @@
+Mon Oct 30 11:16:43 UTC 2023 - Jan Engelhardt <[email protected]>
+
+- Add ffmpeg-glslang-cxx17.patch
+
+-------------------------------------------------------------------
+Wed Oct  4 15:15:56 UTC 2023 - Jan Engelhardt <[email protected]>
+
+- Add 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch
+  to resolve build failure with binutils >= 2.41. [boo#1215945]
+
+-------------------------------------------------------------------

New:
----
  0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch
  ffmpeg-glslang-cxx17.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ffmpeg-4.spec ++++++
--- /var/tmp/diff_new_pack.CpGIDG/_old  2023-10-30 22:10:11.502902611 +0100
+++ /var/tmp/diff_new_pack.CpGIDG/_new  2023-10-30 22:10:11.502902611 +0100
@@ -121,6 +121,8 @@
 Patch10:        ffmpeg-chromium.patch
 Patch11:        ffmpeg-libglslang-detection.patch
 Patch12:        0001-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch
+Patch13:        0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch
+Patch14:        ffmpeg-glslang-cxx17.patch
 BuildRequires:  ladspa-devel
 BuildRequires:  libgsm-devel
 BuildRequires:  libmp3lame-devel
@@ -602,7 +604,7 @@
 %if "%_lto_cflags" != ""
 %global _lto_cflags %_lto_cflags -ffat-lto-objects
 %endif
-CFLAGS="%optflags" \
+CFLAGS="%optflags" CXXFLAGS="%optflags" \
 %if %suse_version > 1500
 %ifarch %ix86
 %else

++++++ 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?= <[email protected]>
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 <[email protected]>
---
 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




++++++ ffmpeg-glslang-cxx17.patch ++++++
From: Jan Engelhardt <[email protected]>
Date: 2023-10-30 12:10:03.273303565 +0100

glslang 13 needs C++17.

---
 configure |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: ffmpeg-4.4.4/configure
===================================================================
--- ffmpeg-4.4.4.orig/configure
+++ ffmpeg-4.4.4/configure
@@ -5267,7 +5267,7 @@ fi
 
 add_cppflags -D_ISOC99_SOURCE
 add_cxxflags -D__STDC_CONSTANT_MACROS
-check_cxxflags -std=c++11 || check_cxxflags -std=c++0x
+check_cxxflags -std=c++17
 
 # some compilers silently accept -std=c11, so we also need to check that the
 # version macro is defined properly

Reply via email to