Hello community,

here is the log from the commit of package zimg for openSUSE:Factory checked in 
at 2018-01-30 15:43:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zimg (Old)
 and      /work/SRC/openSUSE:Factory/.zimg.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "zimg"

Tue Jan 30 15:43:54 2018 rev:24 rq:570773 version:2.7.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/zimg/zimg.changes        2018-01-16 
09:42:52.868255182 +0100
+++ /work/SRC/openSUSE:Factory/.zimg.new/zimg.changes   2018-01-30 
15:44:13.515104704 +0100
@@ -1,0 +2,9 @@
+Mon Jan 29 20:40:37 UTC 2018 - [email protected]
+
+- Update to 2.7.2
+  * graph: fix image corruption in certain conversions
+    (introduced in 2.7)
+  * resize: fix AVX-512 horizontal resize with certain widths
+    (introduced in 2.6)
+
+-------------------------------------------------------------------

Old:
----
  release-2.7.1.tar.gz

New:
----
  release-2.7.2.tar.gz

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

Other differences:
------------------
++++++ zimg.spec ++++++
--- /var/tmp/diff_new_pack.la8WaX/_old  2018-01-30 15:44:14.351065677 +0100
+++ /var/tmp/diff_new_pack.la8WaX/_new  2018-01-30 15:44:14.351065677 +0100
@@ -18,7 +18,7 @@
 
 %define         sover 2
 Name:           zimg
-Version:        2.7.1
+Version:        2.7.2
 Release:        0
 Summary:        Scaling, colorspace conversion, and dithering library
 License:        WTFPL

++++++ release-2.7.1.tar.gz -> release-2.7.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zimg-release-2.7.1/ChangeLog 
new/zimg-release-2.7.2/ChangeLog
--- old/zimg-release-2.7.1/ChangeLog    2018-01-14 00:39:46.000000000 +0100
+++ new/zimg-release-2.7.2/ChangeLog    2018-01-20 03:58:48.000000000 +0100
@@ -1,3 +1,7 @@
+2.7.2
+graph: fix image corruption in certain conversions (introduced in 2.7)
+resize: fix AVX-512 horizontal resize with certain widths (introduced in 2.6)
+
 2.7.1
 colorspace: fix incorrect ST.428 primaries (introduced in 2.7)
 colorspace: preserve BTB/WTW when approximate_gamma is set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zimg-release-2.7.1/configure.ac 
new/zimg-release-2.7.2/configure.ac
--- old/zimg-release-2.7.1/configure.ac 2018-01-14 00:39:46.000000000 +0100
+++ new/zimg-release-2.7.2/configure.ac 2018-01-20 03:58:48.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT([zimg], [2.7.1], [https://github.com/sekrit-twc/zimg/pulls], [zimg], 
[https://github.com/sekrit-twc/zimg])
+AC_INIT([zimg], [2.7.2], [https://github.com/sekrit-twc/zimg/pulls], [zimg], 
[https://github.com/sekrit-twc/zimg])
 AC_CONFIG_MACRO_DIR([m4])
 
 : ${CFLAGS=""}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zimg-release-2.7.1/src/zimg/api/zimg.cpp 
new/zimg-release-2.7.2/src/zimg/api/zimg.cpp
--- old/zimg-release-2.7.1/src/zimg/api/zimg.cpp        2018-01-14 
00:39:46.000000000 +0100
+++ new/zimg-release-2.7.2/src/zimg/api/zimg.cpp        2018-01-20 
03:58:48.000000000 +0100
@@ -36,7 +36,7 @@
 thread_local zimg_error_code_e g_last_error = ZIMG_ERROR_SUCCESS;
 thread_local std::string g_last_error_msg;
 
-constexpr unsigned VERSION_INFO[] = { 2, 7, 1 };
+constexpr unsigned VERSION_INFO[] = { 2, 7, 2 };
 
 
 template <class T, class U>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zimg-release-2.7.1/src/zimg/graph/filtergraph.cpp 
new/zimg-release-2.7.2/src/zimg/graph/filtergraph.cpp
--- old/zimg-release-2.7.1/src/zimg/graph/filtergraph.cpp       2018-01-14 
00:39:46.000000000 +0100
+++ new/zimg-release-2.7.2/src/zimg/graph/filtergraph.cpp       2018-01-20 
03:58:48.000000000 +0100
@@ -123,6 +123,7 @@
 
 struct SimulationState {
        unsigned pos;
+       unsigned cache_pos;
        unsigned lines;
        bool hit;
 };
@@ -297,8 +298,10 @@
                m_cache_id = id;
        }
 
-       void update_cache_state(SimulationState *state, unsigned n) const
+       void update_cache_state(SimulationState *state, unsigned first, 
unsigned last) const
        {
+               unsigned n = std::max(state[get_cache_id()].cache_pos, last) - 
first;
+
                if (n > state[get_cache_id()].lines) {
                        unsigned height = get_image_attributes().height;
                        unsigned mask = select_zimg_buffer_mask(n);
@@ -308,6 +311,8 @@
                        else
                                state[get_cache_id()].lines = mask + 1;
                }
+
+               state[get_cache_id()].cache_pos = 
std::max(state[get_cache_id()].cache_pos, last);
        }
 
        void init_cache_context(ExecutionState::node_cache_state *ctx) const
@@ -430,7 +435,7 @@
 
                state[get_id()].pos = pos;
                state[get_id()].hit = true;
-               update_cache_state(state, pos - first);
+               update_cache_state(state, first, pos);
        }
 
        size_t get_context_size(ExecutionStrategy) const override { return 0; }
@@ -546,7 +551,7 @@
 
                state[get_id()].pos = pos;
                state[get_id()].hit = true;
-               update_cache_state(state, pos - first);
+               update_cache_state(state, first, pos);
        }
 
        size_t get_tmp_size(unsigned left, unsigned right) const override
@@ -787,7 +792,7 @@
 
                state[get_id()].hit = true;
                state[get_id()].pos = pos;
-               update_cache_state(state, pos - first);
+               update_cache_state(state, first, pos);
        }
 
        size_t get_context_size(ExecutionStrategy strategy) const override
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/zimg-release-2.7.1/src/zimg/resize/x86/resize_impl_avx512.cpp 
new/zimg-release-2.7.2/src/zimg/resize/x86/resize_impl_avx512.cpp
--- old/zimg-release-2.7.1/src/zimg/resize/x86/resize_impl_avx512.cpp   
2018-01-14 00:39:46.000000000 +0100
+++ new/zimg-release-2.7.2/src/zimg/resize/x86/resize_impl_avx512.cpp   
2018-01-20 03:58:48.000000000 +0100
@@ -462,8 +462,8 @@
 void resize_line16_h_u16_avx512(const unsigned *filter_left, const int16_t * 
RESTRICT filter_data, unsigned filter_stride, unsigned filter_width,
                                 const uint16_t * RESTRICT src_ptr, uint16_t * 
const *dst_ptr, unsigned src_base, unsigned left, unsigned right, uint16_t 
limit)
 {
-       unsigned vec_left = ceil_n(left, 16);
-       unsigned vec_right = floor_n(right, 16);
+       unsigned vec_left = ceil_n(left, 32);
+       unsigned vec_right = floor_n(right, 32);
 
 #define XITER resize_line16_h_u16_avx512_xiter<DoLoop, Tail>
 #define XARGS filter_left, filter_data, filter_stride, filter_width, src_ptr, 
src_base, limit
@@ -1555,7 +1555,7 @@
                context.left.resize(ceil_n(filter.filter_rows, 16) / 16);
                context.permute.resize(ceil_n(filter.filter_rows, 16) * 2);
                context.data.resize(ceil_n(filter.filter_rows, 16) * 
filter_width);
-               context.filter_rows = ceil_n(filter.filter_rows, 2);
+               context.filter_rows = filter.filter_rows;
                context.filter_width = filter_width;
                context.input_width = filter.input_width;
 


Reply via email to