fix nohalo, vsqbs interpolators
we were getting occasional memory access problems in nohalo and vsqbs interpolators ... the previous fix was not enough version bump
This commit is contained in:
parent
abe4e70d02
commit
72ea91fecc
|
@ -1,3 +1,6 @@
|
|||
24/3/16 started 8.2.4
|
||||
- fix nohalo and vsqbs interpolators, thanks Rafael
|
||||
|
||||
27/1/16 started 8.2.3
|
||||
- fix a crash with SPARC byte-order labq vips images
|
||||
- fix parsing of filenames containing brackets, thanks shilpi230
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# also update the version number in the m4 macros below
|
||||
|
||||
AC_INIT([vips], [8.2.3], [vipsip@jiscmail.ac.uk])
|
||||
AC_INIT([vips], [8.2.4], [vipsip@jiscmail.ac.uk])
|
||||
# required for gobject-introspection
|
||||
AC_PREREQ(2.62)
|
||||
|
||||
|
@ -18,7 +18,7 @@ AC_CONFIG_MACRO_DIR([m4])
|
|||
# user-visible library versioning
|
||||
m4_define([vips_major_version], [8])
|
||||
m4_define([vips_minor_version], [2])
|
||||
m4_define([vips_micro_version], [3])
|
||||
m4_define([vips_micro_version], [4])
|
||||
m4_define([vips_version],
|
||||
[vips_major_version.vips_minor_version.vips_micro_version])
|
||||
|
||||
|
@ -38,7 +38,7 @@ VIPS_VERSION_STRING=$VIPS_VERSION-`date`
|
|||
# binary interface changes not backwards compatible?: reset age to 0
|
||||
|
||||
LIBRARY_CURRENT=45
|
||||
LIBRARY_REVISION=3
|
||||
LIBRARY_REVISION=4
|
||||
LIBRARY_AGE=3
|
||||
|
||||
# patched into include/vips/version.h
|
||||
|
|
|
@ -1493,8 +1493,8 @@ vips_interpolate_nohalo_interpolate( VipsInterpolate* restrict interpolate,
|
|||
*
|
||||
* It's 2 not 0 since we ask for a window_offset of 2 at the bottom.
|
||||
*/
|
||||
const int ix = (int) absolute_x;
|
||||
const int iy = (int) absolute_y;
|
||||
const int ix = (int) (absolute_x + 0.5);
|
||||
const int iy = (int) (absolute_y + 0.5);
|
||||
|
||||
/*
|
||||
* Move the pointer to (the first band of) the top/left pixel of the
|
||||
|
@ -1523,8 +1523,8 @@ vips_interpolate_nohalo_interpolate( VipsInterpolate* restrict interpolate,
|
|||
|
||||
g_assert( ix - 2 >= in->valid.left );
|
||||
g_assert( iy - 2 >= in->valid.top );
|
||||
g_assert( ix + 2 < VIPS_RECT_RIGHT( &in->valid ) );
|
||||
g_assert( iy + 2 < VIPS_RECT_BOTTOM( &in->valid ) );
|
||||
g_assert( ix + 2 <= VIPS_RECT_RIGHT( &in->valid ) );
|
||||
g_assert( iy + 2 <= VIPS_RECT_BOTTOM( &in->valid ) );
|
||||
|
||||
/* Confirm that absolute_x and absolute_y are >= 2, see above.
|
||||
*/
|
||||
|
@ -1586,7 +1586,7 @@ vips_interpolate_nohalo_class_init( VipsInterpolateNohaloClass *klass )
|
|||
_( "edge sharpening resampler with halo reduction" );
|
||||
|
||||
interpolate_class->interpolate = vips_interpolate_nohalo_interpolate;
|
||||
interpolate_class->window_size = 5;
|
||||
interpolate_class->window_size = 6;
|
||||
interpolate_class->window_offset = 2;
|
||||
}
|
||||
|
||||
|
|
|
@ -313,8 +313,8 @@ vips_interpolate_vsqbs_interpolate( VipsInterpolate* restrict interpolate,
|
|||
*
|
||||
* It's 1 not 0 since we ask for a window_offset of 1 at the bottom.
|
||||
*/
|
||||
const int ix = (int) absolute_x;
|
||||
const int iy = (int) absolute_y;
|
||||
const int ix = (int) (absolute_x + 0.5);
|
||||
const int iy = (int) (absolute_y + 0.5);
|
||||
|
||||
/*
|
||||
* Move the pointer to (the first band of) the top/left pixel of the
|
||||
|
@ -343,8 +343,8 @@ vips_interpolate_vsqbs_interpolate( VipsInterpolate* restrict interpolate,
|
|||
|
||||
g_assert( ix - 1 >= in->valid.left );
|
||||
g_assert( iy - 1 >= in->valid.top );
|
||||
g_assert( ix + 1 < VIPS_RECT_RIGHT( &in->valid ) );
|
||||
g_assert( iy + 1 < VIPS_RECT_BOTTOM( &in->valid ) );
|
||||
g_assert( ix + 1 <= VIPS_RECT_RIGHT( &in->valid ) );
|
||||
g_assert( iy + 1 <= VIPS_RECT_BOTTOM( &in->valid ) );
|
||||
|
||||
/* Confirm that absolute_x and absolute_y are >= 1, see above.
|
||||
*/
|
||||
|
@ -405,7 +405,7 @@ vips_interpolate_vsqbs_class_init( VipsInterpolateVsqbsClass *klass )
|
|||
object_class->description = _( "B-Splines with antialiasing smoothing" );
|
||||
|
||||
interpolate_class->interpolate = vips_interpolate_vsqbs_interpolate;
|
||||
interpolate_class->window_size = 3;
|
||||
interpolate_class->window_size = 4;
|
||||
interpolate_class->window_offset = 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue