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:
John Cupitt 2012-01-14 14:00:41 +00:00
commit 56bab17678
6 changed files with 28 additions and 11 deletions

View File

@ -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
View File

@ -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

View File

@ -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

View File

@ -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 );

View File

@ -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.

View File

@ -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>