Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openjph for openSUSE:Factory checked 
in at 2026-06-09 14:13:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openjph (Old)
 and      /work/SRC/openSUSE:Factory/.openjph.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openjph"

Tue Jun  9 14:13:45 2026 rev:22 rq:1357807 version:0.27.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/openjph/openjph.changes  2026-06-02 
16:01:20.055501939 +0200
+++ /work/SRC/openSUSE:Factory/.openjph.new.2375/openjph.changes        
2026-06-09 14:14:03.589068047 +0200
@@ -1,0 +2,7 @@
+Sun Jun  7 20:30:46 UTC 2026 - Michael Vetter <[email protected]>
+
+- Update to 0.27.4:
+  * Add documentation for ASAN build type #274
+  * Bug fix #277
+
+-------------------------------------------------------------------

Old:
----
  0.27.3.tar.gz

New:
----
  0.27.4.tar.gz

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

Other differences:
------------------
++++++ openjph.spec ++++++
--- /var/tmp/diff_new_pack.FZmKLB/_old  2026-06-09 14:14:04.625110965 +0200
+++ /var/tmp/diff_new_pack.FZmKLB/_new  2026-06-09 14:14:04.625110965 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           openjph
-Version:        0.27.3
+Version:        0.27.4
 Release:        0
 Summary:        An implementation of JPEG2000 Part-15
 License:        BSD-2-Clause

++++++ 0.27.3.tar.gz -> 0.27.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/OpenJPH-0.27.3/CMakeLists.txt 
new/OpenJPH-0.27.4/CMakeLists.txt
--- old/OpenJPH-0.27.3/CMakeLists.txt   2026-05-14 05:25:23.000000000 +0200
+++ new/OpenJPH-0.27.4/CMakeLists.txt   2026-06-04 14:34:52.000000000 +0200
@@ -105,7 +105,9 @@
   endif()
 endif()
 
-## Added by Michael Smith
+## Set build flags for AddressSanitizer (ASAN) 
+# these are used when the user sets -DCMAKE_BUILD_TYPE=asan i.e ("cmake .. 
-DCMAKE_BUILD_TYPE=asan")
+# setting flags for specific build types is documented here: 
https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_FLAGS_CONFIG.html
 set(CMAKE_CXX_FLAGS_ASAN
   "-fsanitize=address -fno-optimize-sibling-calls 
-fsanitize-address-use-after-scope -fno-omit-frame-pointer -g -O1"
   CACHE STRING "Flags used by the C++ compiler during AddressSanitizer builds."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/OpenJPH-0.27.3/src/core/codestream/ojph_codeblock.cpp 
new/OpenJPH-0.27.4/src/core/codestream/ojph_codeblock.cpp
--- old/OpenJPH-0.27.3/src/core/codestream/ojph_codeblock.cpp   2026-05-14 
05:25:23.000000000 +0200
+++ new/OpenJPH-0.27.4/src/core/codestream/ojph_codeblock.cpp   2026-06-04 
14:34:52.000000000 +0200
@@ -3,21 +3,21 @@
 // This software is released under the 2-Clause BSD license, included
 // below.
 //
-// Copyright (c) 2019, Aous Naman 
+// Copyright (c) 2019, Aous Naman
 // Copyright (c) 2019, Kakadu Software Pty Ltd, Australia
 // Copyright (c) 2019, The University of New South Wales, Australia
-// 
+//
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
 // met:
-// 
+//
 // 1. Redistributions of source code must retain the above copyright
 // notice, this list of conditions and the following disclaimer.
-// 
+//
 // 2. Redistributions in binary form must reproduce the above copyright
 // notice, this list of conditions and the following disclaimer in the
 // documentation and/or other materials provided with the distribution.
-// 
+//
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 // IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
@@ -53,7 +53,7 @@
   {
 
     //////////////////////////////////////////////////////////////////////////
-    void codeblock::pre_alloc(codestream *codestream, const size& nominal, 
+    void codeblock::pre_alloc(codestream *codestream, const size& nominal,
                               ui32 precision)
     {
       mem_fixed_allocator* allocator = codestream->get_allocator();
@@ -61,7 +61,7 @@
       assert(byte_alignment / sizeof(ui32) > 1);
       const ui32 f = byte_alignment / sizeof(ui32) - 1;
       ui32 stride = (nominal.w + f) & ~f; // a multiple of 8
-      
+
       if (precision <= 32)
         allocator->pre_alloc_data<ui32>(nominal.h * (size_t)stride, 0);
       else
@@ -114,23 +114,23 @@
     //////////////////////////////////////////////////////////////////////////
     void codeblock::push(line_buf *line)
     {
-      // convert to sign and magnitude and keep max_val      
+      // convert to sign and magnitude and keep max_val
       if (precision == BUF32)
       {
         assert(line->flags & line_buf::LFT_32BIT);
         const si32 *sp = line->i32 + line_offset;
         ui32 *dp = buf32 + cur_line * stride;
-        this->codeblock_functions.tx_to_cb32(sp, dp, K_max, delta_inv, 
+        this->codeblock_functions.tx_to_cb32(sp, dp, K_max, delta_inv,
                                              cb_size.w, max_val32);
         ++cur_line;
       }
-      else 
+      else
       {
         assert(precision == BUF64);
         assert(line->flags & line_buf::LFT_64BIT);
         const si64 *sp = line->i64 + line_offset;
         ui64 *dp = buf64 + cur_line * stride;
-        this->codeblock_functions.tx_to_cb64(sp, dp, K_max, delta_inv, 
+        this->codeblock_functions.tx_to_cb64(sp, dp, K_max, delta_inv,
                                              cb_size.w, max_val64);
         ++cur_line;
       }
@@ -148,7 +148,7 @@
           assert(coded_cb->missing_msbs > 0);
           assert(coded_cb->missing_msbs < K_max);
           coded_cb->num_passes = 1;
-          
+
           this->codeblock_functions.encode_cb32(buf32, K_max-1, 1,
             cb_size.w, cb_size.h, stride, coded_cb->pass_length,
             elastic, coded_cb->next_coded);
@@ -164,7 +164,7 @@
           assert(coded_cb->missing_msbs > 0);
           assert(coded_cb->missing_msbs < K_max);
           coded_cb->num_passes = 1;
-          
+
           this->codeblock_functions.encode_cb64(buf64, K_max-1, 1,
             cb_size.w, cb_size.h, stride, coded_cb->pass_length,
             elastic, coded_cb->next_coded);
@@ -199,7 +199,7 @@
             coded_cb->pass_length[0], coded_cb->pass_length[1],
             cb_size.w, cb_size.h, stride, stripe_causal);
         }
-        else 
+        else
         {
           assert(precision == BUF64);
           result = this->codeblock_functions.decode_cb64(
@@ -235,7 +235,7 @@
         if (!zero_block)
         {
           const ui32 *sp = buf32 + cur_line * stride;
-          this->codeblock_functions.tx_from_cb32(sp, dp, K_max, delta, 
+          this->codeblock_functions.tx_from_cb32(sp, dp, K_max, delta,
                                                  cb_size.w);
         }
         else
@@ -244,12 +244,13 @@
       else
       {
         assert(precision == BUF64);
-        assert(line->flags & line_buf::LFT_64BIT);
+        assert((reversible && (line->flags & line_buf::LFT_64BIT))
+               || (!reversible && (line->flags & line_buf::LFT_32BIT)));
         si64 *dp = line->i64 + line_offset;
         if (!zero_block)
         {
           const ui64 *sp = buf64 + cur_line * stride;
-          this->codeblock_functions.tx_from_cb64(sp, dp, K_max, delta, 
+          this->codeblock_functions.tx_from_cb64(sp, dp, K_max, delta,
                                                  cb_size.w);
         }
         else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/OpenJPH-0.27.3/src/core/codestream/ojph_codeblock_fun.cpp 
new/OpenJPH-0.27.4/src/core/codestream/ojph_codeblock_fun.cpp
--- old/OpenJPH-0.27.3/src/core/codestream/ojph_codeblock_fun.cpp       
2026-05-14 05:25:23.000000000 +0200
+++ new/OpenJPH-0.27.4/src/core/codestream/ojph_codeblock_fun.cpp       
2026-06-04 14:34:52.000000000 +0200
@@ -2,21 +2,21 @@
 // This software is released under the 2-Clause BSD license, included
 // below.
 //
-// Copyright (c) 2019, Aous Naman 
+// Copyright (c) 2019, Aous Naman
 // Copyright (c) 2019, Kakadu Software Pty Ltd, Australia
 // Copyright (c) 2019, The University of New South Wales, Australia
-// 
+//
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
 // met:
-// 
+//
 // 1. Redistributions of source code must retain the above copyright
 // notice, this list of conditions and the following disclaimer.
-// 
+//
 // 2. Redistributions in binary form must reproduce the above copyright
 // notice, this list of conditions and the following disclaimer in the
 // documentation and/or other materials provided with the distribution.
-// 
+//
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 // IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
@@ -124,8 +124,10 @@
                                float delta, ui32 count);
     void avx2_rev_tx_from_cb64(const ui64 *sp, void *dp, ui32 K_max,
                                float delta, ui32 count);
+    void gen_irv_tx_from_cb64(const ui64 *sp, void *dp, ui32 K_max,
+                              float delta, ui32 count);
     void wasm_rev_tx_from_cb64(const ui64 *sp, void *dp, ui32 K_max,
-                               float delta, ui32 count);                       
        
+                               float delta, ui32 count);
 
     void codeblock_fun::init(bool reversible) {
 
@@ -155,11 +157,11 @@
       else
       {
         tx_to_cb64 = NULL;
-        tx_from_cb64 = NULL;
+        tx_from_cb64 = gen_irv_tx_from_cb64;
       }
       encode_cb64 = ojph_encode_codeblock64;
       bool result = initialize_block_encoder_tables();
-      assert(result); ojph_unused(result);      
+      assert(result); ojph_unused(result);
 
   #ifndef OJPH_DISABLE_SIMD
 
@@ -190,7 +192,7 @@
           else
           {
             tx_to_cb64 = NULL;
-            tx_from_cb64 = NULL;
+            tx_from_cb64 = gen_irv_tx_from_cb64;
           }
         }
       #endif // !OJPH_DISABLE_SSE2
@@ -229,7 +231,7 @@
           else
           {
             tx_to_cb64 = NULL;
-            tx_from_cb64 = NULL;
+            tx_from_cb64 = gen_irv_tx_from_cb64;
           }
         }
       #endif // !OJPH_DISABLE_AVX2
@@ -243,7 +245,7 @@
       #endif // !OJPH_DISABLE_AVX512
 
     #elif defined(OJPH_ARCH_ARM)
-    
+
     #endif // !(defined(OJPH_ARCH_X86_64) || defined(OJPH_ARCH_I386))
 
   #endif // !OJPH_DISABLE_SIMD
@@ -273,11 +275,11 @@
       else
       {
         tx_to_cb64 = NULL;
-        tx_from_cb64 = NULL;
+        tx_from_cb64 = gen_irv_tx_from_cb64;
       }
       encode_cb64 = ojph_encode_codeblock64;
       bool result = initialize_block_encoder_tables();
-      assert(result); ojph_unused(result);      
+      assert(result); ojph_unused(result);
 
 #endif // !OJPH_ENABLE_WASM_SIMD
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/OpenJPH-0.27.3/src/core/codestream/ojph_codestream_gen.cpp 
new/OpenJPH-0.27.4/src/core/codestream/ojph_codestream_gen.cpp
--- old/OpenJPH-0.27.3/src/core/codestream/ojph_codestream_gen.cpp      
2026-05-14 05:25:23.000000000 +0200
+++ new/OpenJPH-0.27.4/src/core/codestream/ojph_codestream_gen.cpp      
2026-06-04 14:34:52.000000000 +0200
@@ -2,21 +2,21 @@
 // This software is released under the 2-Clause BSD license, included
 // below.
 //
-// Copyright (c) 2022, Aous Naman 
+// Copyright (c) 2022, Aous Naman
 // Copyright (c) 2022, Kakadu Software Pty Ltd, Australia
 // Copyright (c) 2022, The University of New South Wales, Australia
-// 
+//
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
 // met:
-// 
+//
 // 1. Redistributions of source code must retain the above copyright
 // notice, this list of conditions and the following disclaimer.
-// 
+//
 // 2. Redistributions in binary form must reproduce the above copyright
 // notice, this list of conditions and the following disclaimer in the
 // documentation and/or other materials provided with the distribution.
-// 
+//
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 // IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
@@ -35,6 +35,8 @@
 // Date: 15 May 2022
 //***************************************************************************/
 
+#include <climits>
+
 #include "ojph_defs.h"
 #include "ojph_arch.h"
 
@@ -56,8 +58,8 @@
     ui64 gen_find_max_val64(ui64* addr) { return addr[0]; }
 
     //////////////////////////////////////////////////////////////////////////
-    void gen_rev_tx_to_cb32(const void *sp, ui32 *dp, ui32 K_max, 
-                            float delta_inv, ui32 count, 
+    void gen_rev_tx_to_cb32(const void *sp, ui32 *dp, ui32 K_max,
+                            float delta_inv, ui32 count,
                             ui32* max_val)
     {
       ojph_unused(delta_inv);
@@ -78,8 +80,8 @@
     }
 
     //////////////////////////////////////////////////////////////////////////
-    void gen_rev_tx_to_cb64(const void *sp, ui64 *dp, ui32 K_max, 
-                            float delta_inv, ui32 count, 
+    void gen_rev_tx_to_cb64(const void *sp, ui64 *dp, ui32 K_max,
+                            float delta_inv, ui32 count,
                             ui64* max_val)
     {
       ojph_unused(delta_inv);
@@ -101,7 +103,7 @@
 
     //////////////////////////////////////////////////////////////////////////
     void gen_irv_tx_to_cb32(const void *sp, ui32 *dp, ui32 K_max,
-                            float delta_inv, ui32 count, 
+                            float delta_inv, ui32 count,
                             ui32* max_val)
     {
       ojph_unused(K_max);
@@ -166,6 +168,21 @@
         *p++ = (v & 0x80000000U) ? -val : val;
       }
     }
-    
+
+    //////////////////////////////////////////////////////////////////////////
+    void gen_irv_tx_from_cb64(const ui64 *sp, void *dp, ui32 K_max,
+                              float delta, ui32 count)
+    {
+      ojph_unused(K_max);
+      //convert to sign and magnitude
+      float *p = (float*)dp;
+      for (ui32 i = count; i > 0; --i)
+      {
+        ui64 v = *sp++;
+        float val = (float)(v & LLONG_MAX) * delta;
+        *p++ = (v & (ui64)LLONG_MIN) ? -val : val;
+      }
+    }
+
  }
 }
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/OpenJPH-0.27.3/src/core/codestream/ojph_params.cpp 
new/OpenJPH-0.27.4/src/core/codestream/ojph_params.cpp
--- old/OpenJPH-0.27.3/src/core/codestream/ojph_params.cpp      2026-05-14 
05:25:23.000000000 +0200
+++ new/OpenJPH-0.27.4/src/core/codestream/ojph_params.cpp      2026-06-04 
14:34:52.000000000 +0200
@@ -2649,7 +2649,7 @@
     //////////////////////////////////////////////////////////////////////////
     param_atk* param_atk::add_object()
     {
-      assert(top_atk = NULL);
+      assert(top_atk == NULL);
       param_atk *p = this;
       while (p->next != NULL)
         p = p->next;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/OpenJPH-0.27.3/src/core/openjph/ojph_version.h 
new/OpenJPH-0.27.4/src/core/openjph/ojph_version.h
--- old/OpenJPH-0.27.3/src/core/openjph/ojph_version.h  2026-05-14 
05:25:23.000000000 +0200
+++ new/OpenJPH-0.27.4/src/core/openjph/ojph_version.h  2026-06-04 
14:34:52.000000000 +0200
@@ -35,4 +35,4 @@
 
 #define OPENJPH_VERSION_MAJOR 0
 #define OPENJPH_VERSION_MINOR 27
-#define OPENJPH_VERSION_PATCH 3
+#define OPENJPH_VERSION_PATCH 4

Reply via email to