Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openexr for openSUSE:Factory checked 
in at 2023-07-19 19:09:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openexr (Old)
 and      /work/SRC/openSUSE:Factory/.openexr.new.5570 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openexr"

Wed Jul 19 19:09:51 2023 rev:60 rq:1099246 version:3.1.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/openexr/openexr.changes  2023-06-29 
17:27:28.905961770 +0200
+++ /work/SRC/openSUSE:Factory/.openexr.new.5570/openexr.changes        
2023-07-19 19:09:55.376316599 +0200
@@ -1,0 +2,9 @@
+Tue Jul 18 08:08:13 UTC 2023 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Add patch to fix regression on non-SSE architectures 
+  https://github.com/AcademySoftwareFoundation/openexr/issues/1460:
+  * 1488.patch
+- Also disable 'DWA[AB]Compression' test on aarch64 as the patch
+  above fixes the issue for all targets, except aarch64
+
+-------------------------------------------------------------------

New:
----
  1488.patch

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

Other differences:
------------------
++++++ openexr.spec ++++++
--- /var/tmp/diff_new_pack.H72Ao9/_old  2023-07-19 19:09:56.132321020 +0200
+++ /var/tmp/diff_new_pack.H72Ao9/_new  2023-07-19 19:09:56.144321091 +0200
@@ -30,6 +30,8 @@
 URL:            https://www.openexr.com/
 Source0:        https://github.com/openexr/openexr/archive/v%{version}.tar.gz
 Source2:        baselibs.conf
+# PATCH-FIX-UPSTREAM - 
https://github.com/AcademySoftwareFoundation/openexr/issues/1460
+Patch0:         1488.patch
 BuildRequires:  cmake >= 3.12
 BuildRequires:  freeglut-devel
 BuildRequires:  gcc-c++
@@ -172,6 +174,10 @@
 # bsc#1205885
 EXCLUDE_REGEX='testMultiTiledPartThreading'
 %endif
+%ifarch aarch64
+# https://github.com/AcademySoftwareFoundation/openexr/issues/1460
+EXCLUDE_REGEX='DWA[AB]Compression'
+%endif
 %ctest --exclude-regex "$EXCLUDE_REGEX" --timeout 3600
 %endif
 %endif

++++++ 1488.patch ++++++
>From 1461a92d198a8d7586bbb7a5f1c99311a175a223 Mon Sep 17 00:00:00 2001
From: Kimball Thurston <kdt...@gmail.com>
Date: Sat, 15 Jul 2023 10:38:22 +1200
Subject: [PATCH] Revert pre-computed values

It would appear the precomputed values cause differences from the
specific computed values on other architectures.

Signed-off-by: Kimball Thurston <kdt...@gmail.com>
---
 src/lib/OpenEXRCore/internal_dwa_simd.h | 46 ++++++++++++-------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/src/lib/OpenEXRCore/internal_dwa_simd.h 
b/src/lib/OpenEXRCore/internal_dwa_simd.h
index 6432c5fb3..64399ebf8 100644
--- a/src/lib/OpenEXRCore/internal_dwa_simd.h
+++ b/src/lib/OpenEXRCore/internal_dwa_simd.h
@@ -871,13 +871,13 @@ dctInverse8x8DcOnly (float* data)
 static inline void
 dctInverse8x8_scalar (float* data, int zeroedRows)
 {
-    const float a = 0.35355362513961314f;//.5f * cosf (3.14159f / 4.0f);
-    const float b = 0.4903926563794112f;//.5f * cosf (3.14159f / 16.0f);
-    const float c = 0.4619398297234211f;//.5f * cosf (3.14159f / 8.0f);
-    const float d = 0.4157349443626743f;//.5f * cosf (3.f * 3.14159f / 16.0f);
-    const float e = 0.2777854612564676f;//.5f * cosf (5.f * 3.14159f / 16.0f);
-    const float f = 0.19134217585694352f;//.5f * cosf (3.f * 3.14159f / 8.0f);
-    const float g = 0.09754573032714427f;//.5f * cosf (7.f * 3.14159f / 16.0f);
+    const float a = .5f * cosf (3.14159f / 4.0f);
+    const float b = .5f * cosf (3.14159f / 16.0f);
+    const float c = .5f * cosf (3.14159f / 8.0f);
+    const float d = .5f * cosf (3.f * 3.14159f / 16.0f);
+    const float e = .5f * cosf (5.f * 3.14159f / 16.0f);
+    const float f = .5f * cosf (3.f * 3.14159f / 8.0f);
+    const float g = .5f * cosf (7.f * 3.14159f / 16.0f);
 
     float alpha[4], beta[4], theta[4], gamma[4];
 
@@ -1868,7 +1868,7 @@ dctInverse8x8_avx_7 (float* data)
 // Default implementation
 //
 
-void
+static void
 dctForward8x8 (float* data)
 {
     float A0, A1, A2, A3, A4, A5, A6, A7;
@@ -1877,20 +1877,20 @@ dctForward8x8 (float* data)
     float* srcPtr = data;
     float* dstPtr = data;
 
-    const float c1 = 0.9807853127588224f;//cosf (3.14159f * 1.0f / 16.0f);
-    const float c2 = 0.9238796594468422f;//cosf (3.14159f * 2.0f / 16.0f);
-    const float c3 = 0.8314698887253485f;//cosf (3.14159f * 3.0f / 16.0f);
-    const float c4 = 0.7071072502792263f;//cosf (3.14159f * 4.0f / 16.0f);
-    const float c5 = 0.5555709225129352f;//cosf (3.14159f * 5.0f / 16.0f);
-    const float c6 = 0.38268435171388704f;//cosf (3.14159f * 6.0f / 16.0f);
-    const float c7 = 0.19509146065428853f;//cosf (3.14159f * 7.0f / 16.0f);
-
-    const float c1Half = 0.4903926563794112f;//.5f * c1;
-    const float c2Half = 0.4619398297234211f;//.5f * c2;
-    const float c3Half = 0.4157349443626743f;//.5f * c3;
-    const float c5Half = 0.2777854612564676f;//.5f * c5;
-    const float c6Half = 0.19134217585694352f;//.5f * c6;
-    const float c7Half = 0.09754573032714427f;//.5f * c7;
+    const float c1 = cosf (3.14159f * 1.0f / 16.0f);
+    const float c2 = cosf (3.14159f * 2.0f / 16.0f);
+    const float c3 = cosf (3.14159f * 3.0f / 16.0f);
+    const float c4 = cosf (3.14159f * 4.0f / 16.0f);
+    const float c5 = cosf (3.14159f * 5.0f / 16.0f);
+    const float c6 = cosf (3.14159f * 6.0f / 16.0f);
+    const float c7 = cosf (3.14159f * 7.0f / 16.0f);
+
+    const float c1Half = .5f * c1;
+    const float c2Half = .5f * c2;
+    const float c3Half = .5f * c3;
+    const float c5Half = .5f * c5;
+    const float c6Half = .5f * c6;
+    const float c7Half = .5f * c7;
 
     //
     // First pass - do a 1D DCT over the rows and write the

Reply via email to