Merge remote-tracking branch 'origin/7.26'
Conflicts: ChangeLog TODO configure.in libvips/deprecated/dispatch_types.c libvips/foreign/tiff2vips.c libvips/include/vips/image.h libvips/iofuncs/header.c libvips/iofuncs/operation.c po/vips7.pot
This commit is contained in:
commit
56bab17678
10
ChangeLog
10
ChangeLog
@ -70,6 +70,16 @@
|
||||
- only spot options at the end of arg strings
|
||||
- add vips_cache() as a vips8 operator
|
||||
|
||||
14/1/12 started 7.26.8
|
||||
- interpolate CLI args were broken (thanks speckins)
|
||||
|
||||
5/12/11 started 7.26.7
|
||||
- lazy read from tiled tiff from layers other than 0 was broken
|
||||
- optional args to vips_call*() do not work, disabled (fixed correctly in
|
||||
master)
|
||||
- address calculations in files over 4gb were broken on 32-bit platforms
|
||||
(broken since March 2011, oops)
|
||||
|
||||
12/10/11 started 7.26.6
|
||||
- NOCACHE was not being set correctly on OS X causing performance
|
||||
problems with large files
|
||||
|
7
TODO
7
TODO
@ -1,6 +1,13 @@
|
||||
- Vips.Image has members like chain, __subclasshook__ etc etc, are we
|
||||
really subclassing it correctly?
|
||||
|
||||
- have this warning:
|
||||
|
||||
im_histspec.c: In function 'im_histspec':
|
||||
im_histspec.c:101:6: warning: 'px' may be used uninitialized in this function
|
||||
[-Wuninitialized]
|
||||
im_histspec.c:79:6: note: 'px' was declared here:n ../his
|
||||
|
||||
- add support for constants
|
||||
|
||||
how do boxed types work? confusing
|
||||
|
@ -71,7 +71,7 @@ AC_SUBST(vips_introspection_sources)
|
||||
# interface changes not backwards compatible?: reset age to 0
|
||||
|
||||
LIBRARY_CURRENT=30
|
||||
LIBRARY_REVISION=5
|
||||
LIBRARY_REVISION=7
|
||||
LIBRARY_AGE=15
|
||||
|
||||
# patched into include/vips/version.h
|
||||
|
@ -871,13 +871,12 @@ static int
|
||||
input_interpolate_init( im_object *obj, char *str )
|
||||
{
|
||||
GType type = g_type_from_name( "VipsInterpolate" );
|
||||
VipsObjectClass *interpolate_class =
|
||||
VIPS_OBJECT_CLASS( g_type_class_ref( type ) );
|
||||
VipsObjectClass *class = VIPS_OBJECT_CLASS( g_type_class_ref( type ) );
|
||||
VipsObject *object;
|
||||
|
||||
g_assert( interpolate_class );
|
||||
g_assert( class );
|
||||
|
||||
if( !(object = vips_object_new_from_string( interpolate_class, str )) )
|
||||
if( !(object = vips_object_new_from_string( class, str )) )
|
||||
return( -1 );
|
||||
if( vips_object_build( object ) ) {
|
||||
g_object_unref( object );
|
||||
|
@ -64,18 +64,18 @@
|
||||
static int
|
||||
match( IMAGE *in, IMAGE *ref, IMAGE *out )
|
||||
{
|
||||
const int inpx = in->Xsize * in->Ysize;
|
||||
const int refpx = ref->Xsize * ref->Ysize;
|
||||
const guint64 inpx = (guint64) in->Xsize * in->Ysize;
|
||||
const guint64 refpx = (guint64) ref->Xsize * ref->Ysize;
|
||||
const int bands = in->Bands;
|
||||
|
||||
unsigned int *inbuf; /* in and ref, padded to same size */
|
||||
unsigned int *refbuf;
|
||||
unsigned int *outbuf; /* Always output as uint */
|
||||
|
||||
int px; /* Number of pixels */
|
||||
int max; /* px * bands */
|
||||
guint64 px; /* Number of pixels */
|
||||
guint64 max; /* px * bands */
|
||||
|
||||
int i, j;
|
||||
guint64 i, j;
|
||||
|
||||
if( im_iocheck( in, out ) ||
|
||||
im_iocheck( ref, out ) ||
|
||||
@ -94,6 +94,8 @@ match( IMAGE *in, IMAGE *ref, IMAGE *out )
|
||||
px = 256;
|
||||
else if( inpx <= 65536 && refpx <= 65536 )
|
||||
px = 65536;
|
||||
else
|
||||
px = IM_MAX( inpx, refpx );
|
||||
max = px * bands;
|
||||
|
||||
/* Unpack to equal-sized buffers.
|
||||
|
@ -45,7 +45,6 @@
|
||||
#include <unistd.h>
|
||||
#endif /*HAVE_UNISTD_H*/
|
||||
#include <errno.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
Loading…
Reference in New Issue
Block a user