VImage.h   VImage.h 
skipping to change at line 258 skipping to change at line 258
// Derived fields // Derived fields
const char *filename(); const char *filename();
const char *Hist(); const char *Hist();
// metadata // metadata
#ifndef SWIG #ifndef SWIG
// base functionality // base functionality
// we don't wrap GValue, so we can't wrap these for now // we don't wrap GValue, so we can't wrap these for now
void meta_set( const char *field, GValue *value ) throw( VError ); void meta_set( const char *field, GValue *value ) throw( VError );
void meta_get( const char *field, GValue *value_copy ) throw( VError ); void meta_get( const char *field, GValue *value_copy ) throw( VError );
GType meta_get_typeof( const char *field ) throw( VError );
#endif /*SWIG*/ #endif /*SWIG*/
// We can wrap these, fwiw
gboolean meta_remove( const char *field );
GType meta_get_typeof( const char *field );
// convenience functions // convenience functions
int meta_get_int( const char *field ) throw( VError ); int meta_get_int( const char *field ) throw( VError );
double meta_get_double( const char *field ) throw( VError ); double meta_get_double( const char *field ) throw( VError );
const char *meta_get_string( const char *field ) throw( VError ); const char *meta_get_string( const char *field ) throw( VError );
void *meta_get_area( const char *field ) throw( VError ); void *meta_get_area( const char *field ) throw( VError );
void *meta_get_blob( const char *field, size_t *length ) void *meta_get_blob( const char *field, size_t *length )
throw( VError ); throw( VError );
void meta_set( const char *field, int value ) throw( VError ); void meta_set( const char *field, int value ) throw( VError );
void meta_set( const char *field, double value ) throw( VError ); void meta_set( const char *field, double value ) throw( VError );
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 almostdeprecated.h   almostdeprecated.h 
/* Old and broken stuff that we still enable by default /* Old and broken stuff that we still enable by default, but don't document
* and certainly don't recommend.
* *
* 30/6/09 * 30/6/09
* - from vips.h * - from vips.h
*/ */
/* /*
This file is part of VIPS. This file is part of VIPS.
VIPS is free software; you can redistribute it and/or modify VIPS is free software; you can redistribute it and/or modify
skipping to change at line 74 skipping to change at line 75
/* Compatibility typedefs. /* Compatibility typedefs.
*/ */
typedef VipsDemandStyle im_demand_type; typedef VipsDemandStyle im_demand_type;
typedef VipsProgress im_time_t; typedef VipsProgress im_time_t;
typedef VipsImage IMAGE; typedef VipsImage IMAGE;
int im_extract( IMAGE *, IMAGE *, IMAGE_BOX * ); int im_extract( IMAGE *, IMAGE *, IMAGE_BOX * );
DOUBLEMASK *im_measure( IMAGE *im, IMAGE_BOX *box, int h, int v, DOUBLEMASK *im_measure( IMAGE *im, IMAGE_BOX *box, int h, int v,
int *sel, int nsel, const char *name ); int *sel, int nsel, const char *name );
gboolean im_isuint( IMAGE *im );
gboolean im_isint( IMAGE *im );
gboolean im_isfloat( IMAGE *im );
gboolean im_isscalar( IMAGE *im );
gboolean im_iscomplex( IMAGE *im );
int im_c2ps( IMAGE *in, IMAGE *out );
int im_clip( IMAGE *in, IMAGE *out );
#define MASK_IDEAL_HIGHPASS VIPS_MASK_IDEAL_HIGHPASS
#define MASK_IDEAL_LOWPASS VIPS_MASK_IDEAL_LOWPASS
#define MASK_BUTTERWORTH_HIGHPASS VIPS_MASK_BUTTERWORTH_HIGHPASS
#define MASK_BUTTERWORTH_LOWPASS VIPS_MASK_BUTTERWORTH_LOWPASS
#define MASK_GAUSS_HIGHPASS VIPS_MASK_GAUSS_HIGHPASS
#define MASK_GAUSS_LOWPASS VIPS_MASK_GAUSS_LOWPASS
#define MASK_IDEAL_RINGPASS VIPS_MASK_IDEAL_RINGPASS
#define MASK_IDEAL_RINGREJECT VIPS_MASK_IDEAL_RINGREJECT
#define MASK_BUTTERWORTH_RINGPASS VIPS_MASK_BUTTERWORTH_RINGPASS
#define MASK_BUTTERWORTH_RINGREJECT VIPS_MASK_BUTTERWORTH_RINGREJECT
#define MASK_GAUSS_RINGPASS VIPS_MASK_GAUSS_RINGPASS
#define MASK_GAUSS_RINGREJECT VIPS_MASK_GAUSS_RINGREJECT
#define MASK_IDEAL_BANDPASS VIPS_MASK_IDEAL_BANDPASS
#define MASK_IDEAL_BANDREJECT VIPS_MASK_IDEAL_BANDREJECT
#define MASK_BUTTERWORTH_BANDPASS VIPS_MASK_BUTTERWORTH_BANDPASS
#define MASK_BUTTERWORTH_BANDREJECT VIPS_MASK_BUTTERWORTH_BANDREJECT
#define MASK_GAUSS_BANDPASS VIPS_MASK_GAUSS_BANDPASS
#define MASK_GAUSS_BANDREJECT VIPS_MASK_GAUSS_BANDREJECT
#define MASK_FRACTAL_FLT VIPS_MASK_FRACTAL_FLT
#define MaskType VipsMaskType
/* Copy and swap types.
*/
typedef enum {
IM_ARCH_NATIVE,
IM_ARCH_BYTE_SWAPPED,
IM_ARCH_LSB_FIRST,
IM_ARCH_MSB_FIRST
} im_arch_type;
gboolean im_isnative( im_arch_type arch );
int im_copy_from( IMAGE *in, IMAGE *out, im_arch_type architecture );
/* Backwards compatibility macros.
*/
#define im_clear_error_string() im_error_clear()
#define im_errorstring() im_error_buffer()
/* Deprecated API.
*/
void im_errormsg( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
void im_verrormsg( const char *fmt, va_list ap );
void im_errormsg_system( int err, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
void im_diagnostics( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
void im_warning( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
/* Deprecated operations.
*/
int im_cmulnorm( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_fav4( IMAGE **, IMAGE * );
int im_gadd( double, IMAGE *, double, IMAGE *, double, IMAGE *);
int im_litecor( IMAGE *, IMAGE *, IMAGE *, int, double );
int im_render_fade( IMAGE *in, IMAGE *out, IMAGE *mask,
int width, int height, int max,
int fps, int steps,
int priority,
void (*notify)( IMAGE *, Rect *, void * ), void *client );
int im_render( IMAGE *in, IMAGE *out, IMAGE *mask,
int width, int height, int max,
void (*notify)( IMAGE *, Rect *, void * ), void *client );
/* Renamed operations.
*/
/* arithmetic
*/
int im_remainderconst_vec( IMAGE *in, IMAGE *out, int n, double *c );
/* boolean
*/
int im_andconst( IMAGE *, IMAGE *, double );
int im_and_vec( IMAGE *, IMAGE *, int, double * );
int im_orconst( IMAGE *, IMAGE *, double );
int im_or_vec( IMAGE *, IMAGE *, int, double * );
int im_eorconst( IMAGE *, IMAGE *, double );
int im_eor_vec( IMAGE *, IMAGE *, int, double * );
/* mosaicing
*/
int im_affine( IMAGE *in, IMAGE *out,
double a, double b, double c, double d, double dx, double dy,
int ox, int oy, int ow, int oh );
int im_similarity( IMAGE *in, IMAGE *out,
double a, double b, double dx, double dy );
int im_similarity_area( IMAGE *in, IMAGE *out,
double a, double b, double dx, double dy,
int ox, int oy, int ow, int oh );
/* colour
*/
int im_icc_export( IMAGE *in, IMAGE *out,
const char *output_profile_filename, int intent );
/* conversion
*/
int im_clip2dcm( IMAGE *in, IMAGE *out );
int im_clip2cm( IMAGE *in, IMAGE *out );
int im_clip2us( IMAGE *in, IMAGE *out );
int im_clip2ui( IMAGE *in, IMAGE *out );
int im_clip2s( IMAGE *in, IMAGE *out );
int im_clip2i( IMAGE *in, IMAGE *out );
int im_clip2d( IMAGE *in, IMAGE *out );
int im_clip2f( IMAGE *in, IMAGE *out );
int im_clip2c( IMAGE *in, IMAGE *out );
int im_slice( IMAGE *in, IMAGE *out, double, double );
int im_thresh( IMAGE *in, IMAGE *out, double );
int im_print( const char *message );
int im_convsub( IMAGE *in, IMAGE *out, INTMASK *mask, int xskip, int yskip
);
int im_bernd( const char *tiffname, int x, int y, int w, int h );
int im_resize_linear( IMAGE *, IMAGE *, int, int );
int im_line( IMAGE *, int, int, int, int, int );
int im_segment( IMAGE *test, IMAGE *mask, int *segments );
int im_convf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
int im_convsepf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
int im_conv_raw( IMAGE *in, IMAGE *out, INTMASK *mask );
int im_convf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
int im_convsep_raw( IMAGE *in, IMAGE *out, INTMASK *mask );
int im_convsepf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
int im_fastcor_raw( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_spcor_raw( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_gradcor_raw( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_contrast_surface_raw( IMAGE *in, IMAGE *out,
int half_win_size, int spacing );
int im_stdif_raw( IMAGE *in, IMAGE *out,
double a, double m0, double b, double s0, int xwin, int ywin );
int im_lhisteq_raw( IMAGE *in, IMAGE *out, int xwin, int ywin );
int im_erode_raw( IMAGE *in, IMAGE *out, INTMASK *m );
int im_dilate_raw( IMAGE *in, IMAGE *out, INTMASK *m );
int im_rank_raw( IMAGE *in, IMAGE *out, int xsize, int ysize, int order );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_ALMOSTDEPRECATED_H*/ #endif /*IM_ALMOSTDEPRECATED_H*/
 End of changes. 2 change blocks. 
1 lines changed or deleted 160 lines changed or added


 callback.h   callback.h 
skipping to change at line 43 skipping to change at line 43
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /*__cplusplus*/ #endif /*__cplusplus*/
/* Also used for eg. im_local() and friends. /* Also used for eg. im_local() and friends.
*/ */
typedef int (*im_callback_fn)( void *a, void *b ); typedef int (*im_callback_fn)( void *a, void *b );
int im_add_close_callback( IMAGE *im, im_callback_fn fn, void *a, void *b ) ; int im_add_close_callback( IMAGE *im, im_callback_fn fn, void *a, void *b ) ;
int im_add_preclose_callback( IMAGE *im, im_callback_fn fn, void *a, void * b ); int im_add_preclose_callback( IMAGE *im, im_callback_fn fn, void *a, void * b );
int im_add_postclose_callback( IMAGE *im, im_callback_fn fn, void *a, void
*b );
int im_add_written_callback( IMAGE *im, im_callback_fn fn, void *a, void *b
);
int im_add_evalstart_callback( IMAGE *im, im_callback_fn fn, void *a, void *b ); int im_add_evalstart_callback( IMAGE *im, im_callback_fn fn, void *a, void *b );
int im_add_eval_callback( IMAGE *im, im_callback_fn fn, void *a, void *b ); int im_add_eval_callback( IMAGE *im, im_callback_fn fn, void *a, void *b );
int im_add_evalend_callback( IMAGE *im, im_callback_fn fn, void *a, void *b ); int im_add_evalend_callback( IMAGE *im, im_callback_fn fn, void *a, void *b );
int im_add_invalidate_callback( IMAGE *im, int im_add_invalidate_callback( IMAGE *im,
im_callback_fn fn, void *a, void *b ); im_callback_fn fn, void *a, void *b );
#ifdef __cplusplus #ifdef __cplusplus
} }
 End of changes. 1 change blocks. 
0 lines changed or deleted 5 lines changed or added


 check.h   check.h 
skipping to change at line 48 skipping to change at line 48
int im_rwcheck( IMAGE *im ); int im_rwcheck( IMAGE *im );
int im_iocheck( IMAGE *in, IMAGE *out ); int im_iocheck( IMAGE *in, IMAGE *out );
int im_incheck( IMAGE *im ); int im_incheck( IMAGE *im );
int im_outcheck( IMAGE *im ); int im_outcheck( IMAGE *im );
int im_piocheck( IMAGE *in, IMAGE *out ); int im_piocheck( IMAGE *in, IMAGE *out );
int im_pincheck( IMAGE *im ); int im_pincheck( IMAGE *im );
int im_poutcheck( IMAGE *im ); int im_poutcheck( IMAGE *im );
int im_check_uncoded( const char *domain, IMAGE *im ); int im_check_uncoded( const char *domain, IMAGE *im );
int im_check_known_coded( const char *domain, IMAGE *im ); int im_check_coding_known( const char *domain, IMAGE *im );
int im_check_coding_labq( const char *domain, IMAGE *im );
int im_check_coding_rad( const char *domain, IMAGE *im );
int im_check_coding_same( const char *domain, IMAGE *im1, IMAGE *im2 );
int im_check_mono( const char *domain, IMAGE *im ); int im_check_mono( const char *domain, IMAGE *im );
int im_check_bands_1or3( const char *domain, IMAGE *in );
int im_check_bands( const char *domain, IMAGE *im, int bands ); int im_check_bands( const char *domain, IMAGE *im, int bands );
int im_check_bands_1orn( const char *domain, IMAGE *im1, IMAGE *im2 ); int im_check_bands_1orn( const char *domain, IMAGE *im1, IMAGE *im2 );
int im_check_bands_same( const char *domain, IMAGE *im1, IMAGE *im2 );
int im_check_bandno( const char *domain, IMAGE *im, int bandno );
int im_check_int( const char *domain, IMAGE *im ); int im_check_int( const char *domain, IMAGE *im );
int im_check_uint( const char *domain, IMAGE *im );
int im_check_uintorf( const char *domain, IMAGE *im );
int im_check_noncomplex( const char *domain, IMAGE *im ); int im_check_noncomplex( const char *domain, IMAGE *im );
int im_check_complex( const char *domain, IMAGE *im ); int im_check_complex( const char *domain, IMAGE *im );
int im_check_format( const char *domain, IMAGE *im, VipsBandFmt fmt ); int im_check_format( const char *domain, IMAGE *im, VipsBandFmt fmt );
int im_check_u8or16( const char *domain, IMAGE *im ); int im_check_u8or16( const char *domain, IMAGE *im );
int im_check_same_size( const char *domain, IMAGE *im1, IMAGE *im2 ); int im_check_8or16( const char *domain, IMAGE *im );
int im_check_same_bands( const char *domain, IMAGE *im1, IMAGE *im2 ); int im_check_u8or16orf( const char *domain, IMAGE *im );
int im_check_same_format( const char *domain, IMAGE *im1, IMAGE *im2 ); int im_check_format_same( const char *domain, IMAGE *im1, IMAGE *im2 );
int im_check_same_coding( const char *domain, IMAGE *im1, IMAGE *im2 ); int im_check_size_same( const char *domain, IMAGE *im1, IMAGE *im2 );
int im_check_vector( const char *domain, int n, IMAGE *im ); int im_check_vector( const char *domain, int n, IMAGE *im );
int im_check_hist( const char *domain, IMAGE *im );
gboolean im_isuint( IMAGE *im ); int im_check_imask( const char *domain, INTMASK *mask );
gboolean im_isint( IMAGE *im ); int im_check_dmask( const char *domain, DOUBLEMASK *mask );
gboolean im_isfloat( IMAGE *im );
gboolean im_isscalar( IMAGE *im ); gboolean vips_bandfmt_isint( VipsBandFmt fmt );
gboolean im_iscomplex( IMAGE *im ); gboolean vips_bandfmt_isuint( VipsBandFmt fmt );
gboolean vips_bandfmt_isfloat( VipsBandFmt fmt );
gboolean vips_bandfmt_iscomplex( VipsBandFmt fmt );
gboolean im_isfile( IMAGE *im ); gboolean im_isfile( IMAGE *im );
gboolean im_ispartial( IMAGE *im ); gboolean im_ispartial( IMAGE *im );
gboolean im_isMSBfirst( IMAGE *im ); gboolean im_isMSBfirst( IMAGE *im );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
 End of changes. 6 change blocks. 
11 lines changed or deleted 21 lines changed or added


 colour.h   colour.h 
skipping to change at line 150 skipping to change at line 150
int im_XYZ2UCS( IMAGE *in, IMAGE *out ); int im_XYZ2UCS( IMAGE *in, IMAGE *out );
int im_sRGB2XYZ( IMAGE *in, IMAGE *out ); int im_sRGB2XYZ( IMAGE *in, IMAGE *out );
int im_XYZ2sRGB( IMAGE *in, IMAGE *out ); int im_XYZ2sRGB( IMAGE *in, IMAGE *out );
int im_Yxy2XYZ( IMAGE *in, IMAGE *out ); int im_Yxy2XYZ( IMAGE *in, IMAGE *out );
int im_XYZ2Yxy( IMAGE *in, IMAGE *out ); int im_XYZ2Yxy( IMAGE *in, IMAGE *out );
int im_dECMC_fromLab( IMAGE *in1, IMAGE *in2, IMAGE *out ); int im_dECMC_fromLab( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_dE00_fromLab( IMAGE *in1, IMAGE *in2, IMAGE *out ); int im_dE00_fromLab( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_dE_fromXYZ( IMAGE *in1, IMAGE *in2, IMAGE *out ); int im_dE_fromXYZ( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_dE_fromLab( IMAGE *in1, IMAGE *in2, IMAGE *out ); int im_dE_fromLab( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_dE_fromXYZ( IMAGE *, IMAGE *, IMAGE * );
int im_dE_fromLab( IMAGE *, IMAGE *, IMAGE * );
int im_lab_morph( IMAGE *in, IMAGE *out,
DOUBLEMASK *mask,
double L_offset, double L_scale,
double a_scale, double b_scale );
void im_col_make_tables_UCS( void );
int im_lab_morph( IMAGE *in, IMAGE *out, int im_lab_morph( IMAGE *in, IMAGE *out,
DOUBLEMASK *mask, DOUBLEMASK *mask,
double L_offset, double L_scale, double L_offset, double L_scale,
double a_scale, double b_scale ); double a_scale, double b_scale );
/* Render intents for icc wrappers. /* Render intents for icc wrappers.
*/ */
typedef enum { typedef enum {
IM_INTENT_PERCEPTUAL = 0, IM_INTENT_PERCEPTUAL = 0,
 End of changes. 1 change blocks. 
0 lines changed or deleted 9 lines changed or added


 conversion.h   conversion.h 
skipping to change at line 40 skipping to change at line 40
*/ */
#ifndef IM_CONVERSION_H #ifndef IM_CONVERSION_H
#define IM_CONVERSION_H #define IM_CONVERSION_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /*__cplusplus*/ #endif /*__cplusplus*/
/* Copy and swap types.
*/
typedef enum {
IM_ARCH_NATIVE,
IM_ARCH_BYTE_SWAPPED,
IM_ARCH_LSB_FIRST,
IM_ARCH_MSB_FIRST
} im_arch_type;
gboolean im_isnative( im_arch_type arch );
DOUBLEMASK *im_vips2mask( IMAGE *in, const char *out ); DOUBLEMASK *im_vips2mask( IMAGE *in, const char *out );
int im_mask2vips( DOUBLEMASK *in, IMAGE *out ); int im_mask2vips( DOUBLEMASK *in, IMAGE *out );
int im_copy( IMAGE *in, IMAGE *out );
int im_copy_set( IMAGE *in, IMAGE *out, int im_copy_set( IMAGE *in, IMAGE *out,
int type, float xres, float yres, int x, int y ); VipsType type, float xres, float yres, int xoffset, int yoffset );
int im_copy_set_meta( IMAGE *in, IMAGE *out, const char *field, GValue *met a ); int im_copy_set_meta( IMAGE *in, IMAGE *out, const char *field, GValue *met a );
int im_copy_morph( IMAGE *in, IMAGE *out, int im_copy_morph( IMAGE *in, IMAGE *out,
int Bands, int BandFmt, int Coding ); int bands, VipsBandFmt bandfmt, VipsCoding coding );
int im_copy( IMAGE *in, IMAGE *out );
int im_copy_swap( IMAGE *in, IMAGE *out ); int im_copy_swap( IMAGE *in, IMAGE *out );
int im_copy_from( IMAGE *in, IMAGE *out, im_arch_type architecture ); int im_copy_native( IMAGE *in, IMAGE *out, gboolean is_msb_first );
int im_copy_file( IMAGE *in, IMAGE *out ); int im_copy_file( IMAGE *in, IMAGE *out );
int im_clip2fmt( IMAGE *in, IMAGE *out, int ofmt ); int im_clip2fmt( IMAGE *in, IMAGE *out, VipsBandFmt fmt );
int im_scale( IMAGE *in, IMAGE *out ); int im_scale( IMAGE *in, IMAGE *out );
int im_clip( IMAGE *in, IMAGE *out );
int im_msb( IMAGE *in, IMAGE *out ); int im_msb( IMAGE *in, IMAGE *out );
int im_msb_band( IMAGE *in, IMAGE *out, int band ); int im_msb_band( IMAGE *in, IMAGE *out, int band );
int im_c2amph( IMAGE *in, IMAGE *out ); int im_c2amph( IMAGE *in, IMAGE *out );
int im_c2rect( IMAGE *in, IMAGE *out ); int im_c2rect( IMAGE *in, IMAGE *out );
int im_ri2c( IMAGE *real_in, IMAGE *imag_in, IMAGE *out ); int im_ri2c( IMAGE *real_in, IMAGE *imag_in, IMAGE *out );
int im_c2imag( IMAGE *in, IMAGE *out ); int im_c2imag( IMAGE *in, IMAGE *out );
int im_c2real( IMAGE *in, IMAGE *out ); int im_c2real( IMAGE *in, IMAGE *out );
int im_c2ps( IMAGE *in, IMAGE *out );
int im_scaleps( IMAGE *in, IMAGE *out ); int im_scaleps( IMAGE *in, IMAGE *out );
int im_falsecolour( IMAGE *in, IMAGE *out ); int im_falsecolour( IMAGE *in, IMAGE *out );
int im_addgnoise( IMAGE *, IMAGE *, double ); int im_gaussnoise( IMAGE *out, int x, int y, double mean, double sigma );
int im_gaussnoise( IMAGE *, int, int, double, double );
int im_black( IMAGE *out, int width, int height, int bands ); int im_black( IMAGE *out, int width, int height, int bands );
int im_text( IMAGE *out, const char *text, const char *font, int im_text( IMAGE *out, const char *text, const char *font,
int width, int alignment, int dpi ); int width, int alignment, int dpi );
int im_extract_band( IMAGE *in, IMAGE *out, int band ); int im_extract_band( IMAGE *in, IMAGE *out, int band );
int im_extract_bands( IMAGE *in, IMAGE *out, int band, int nbands ); int im_extract_bands( IMAGE *in, IMAGE *out, int band, int nbands );
int im_extract_area( IMAGE *in, IMAGE *out, int x, int y, int w, int h ); int im_extract_area( IMAGE *in, IMAGE *out,
int left, int top, int width, int height );
int im_extract_areabands( IMAGE *in, IMAGE *out, int im_extract_areabands( IMAGE *in, IMAGE *out,
int left, int top, int width, int height, int band, int nbands ); int left, int top, int width, int height, int band, int nbands );
int im_embed( IMAGE *in, IMAGE *out, int type, int im_embed( IMAGE *in, IMAGE *out,
int left, int top, int width, int height ); int type, int x, int y, int width, int height );
int im_bandjoin( IMAGE *in1, IMAGE *in2, IMAGE *out ); int im_bandjoin( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_gbandjoin( IMAGE **in, IMAGE *out, int n ); int im_gbandjoin( IMAGE **in, IMAGE *out, int n );
int im_insert( IMAGE *main, IMAGE *sub, IMAGE *out, int x, int y ); int im_insert( IMAGE *main, IMAGE *sub, IMAGE *out, int x, int y );
int im_insert_noexpand( IMAGE *main, IMAGE *sub, IMAGE *out, int x, int y ) ; int im_insert_noexpand( IMAGE *main, IMAGE *sub, IMAGE *out, int x, int y ) ;
int im_insertset( IMAGE *main, IMAGE *sub, IMAGE *out, int n, int *x, int * y ); int im_insertset( IMAGE *main, IMAGE *sub, IMAGE *out, int n, int *x, int * y );
int im_lrjoin( IMAGE *in1, IMAGE *in2, IMAGE *out ); int im_lrjoin( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_tbjoin( IMAGE *in1, IMAGE *in2, IMAGE *out ); int im_tbjoin( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_replicate( IMAGE *in, IMAGE *out, int across, int down ); int im_replicate( IMAGE *in, IMAGE *out, int across, int down );
int im_grid( IMAGE *in, IMAGE *out, int tile_height, int across, int down ) ; int im_grid( IMAGE *in, IMAGE *out, int tile_height, int across, int down ) ;
int im_wrap( IMAGE *in, IMAGE *out, int x, int y ); int im_wrap( IMAGE *in, IMAGE *out, int x, int y );
skipping to change at line 114 skipping to change at line 101
int im_fliphor( IMAGE *in, IMAGE *out ); int im_fliphor( IMAGE *in, IMAGE *out );
int im_flipver( IMAGE *in, IMAGE *out ); int im_flipver( IMAGE *in, IMAGE *out );
int im_rot90( IMAGE *in, IMAGE *out ); int im_rot90( IMAGE *in, IMAGE *out );
int im_rot180( IMAGE *in, IMAGE *out ); int im_rot180( IMAGE *in, IMAGE *out );
int im_rot270( IMAGE *in, IMAGE *out ); int im_rot270( IMAGE *in, IMAGE *out );
int im_subsample( IMAGE *in, IMAGE *out, int x, int y ); int im_subsample( IMAGE *in, IMAGE *out, int x, int y );
int im_zoom( IMAGE *in, IMAGE *out, int x, int y ); int im_zoom( IMAGE *in, IMAGE *out, int x, int y );
int im_system( IMAGE *im, const char *cmd, char **out ); int im_system( IMAGE *im, const char *cmd, char **out );
IMAGE *im_system_image( IMAGE *im,
const char *in_format, const char *out_format, const char *cmd_forma
t,
char **log );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_CONVERSION_H*/ #endif /*IM_CONVERSION_H*/
 End of changes. 12 change blocks. 
23 lines changed or deleted 14 lines changed or added


 convolution.h   convolution.h 
skipping to change at line 63 skipping to change at line 63
int im_grad_x( IMAGE *in, IMAGE *out ); int im_grad_x( IMAGE *in, IMAGE *out );
int im_grad_y( IMAGE *in, IMAGE *out ); int im_grad_y( IMAGE *in, IMAGE *out );
int im_fastcor( IMAGE *in, IMAGE *ref, IMAGE *out ); int im_fastcor( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_spcor( IMAGE *in, IMAGE *ref, IMAGE *out ); int im_spcor( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_gradcor( IMAGE *in, IMAGE *ref, IMAGE *out ); int im_gradcor( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_contrast_surface( IMAGE *in, IMAGE *out, int im_contrast_surface( IMAGE *in, IMAGE *out,
int half_win_size, int spacing ); int half_win_size, int spacing );
int im_addgnoise( IMAGE *in, IMAGE *out, double sigma );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_CONVOLUTION_H*/ #endif /*IM_CONVOLUTION_H*/
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 lines changed or added


 debug.h   debug.h 
skipping to change at line 37 skipping to change at line 37
*/ */
#ifndef IM_DEBUG_H #ifndef IM_DEBUG_H
#define IM_DEBUG_H #define IM_DEBUG_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#ifdef VIPS_DEBUG
#define VIPS_DEBUG_MSG( ... ) \
G_STMT_START printf( __VA_ARGS__ ); G_STMT_END
#else
#define VIPS_DEBUG_MSG( ... ) \
G_STMT_START ; G_STMT_END
#endif /*VIPS_DEBUG*/
#ifdef VIPS_DEBUG_RED
#define VIPS_DEBUG_MSG_RED( ... ) \
G_STMT_START printf( "red: " __VA_ARGS__ ); G_STMT_END
#else
#define VIPS_DEBUG_MSG_RED( ... ) \
G_STMT_START ; G_STMT_END
#endif /*VIPS_DEBUG_RED*/
#ifdef VIPS_DEBUG_AMBER
#define VIPS_DEBUG_MSG_AMBER( ... ) \
G_STMT_START printf( "amber: " __VA_ARGS__ ); G_STMT_END
#else
#define VIPS_DEBUG_MSG_AMBER( ... ) \
G_STMT_START ; G_STMT_END
#endif /*VIPS_DEBUG_AMBER*/
#ifdef VIPS_DEBUG_GREEN
#define VIPS_DEBUG_MSG_GREEN( ... ) \
G_STMT_START printf( "green: " __VA_ARGS__ ); G_STMT_END
#else
#define VIPS_DEBUG_MSG_GREEN( ... ) \
G_STMT_START ; G_STMT_END
#endif /*VIPS_DEBUG_GREEN*/
/* All open image descriptors ... see im_init() and im_close(). /* All open image descriptors ... see im_init() and im_close().
*/ */
extern GSList *im__open_images; extern GSList *im__open_images;
/* Print one line for each descriptor, complete dump for one descriptor. /* Print one line for each descriptor, complete dump for one descriptor.
*/ */
void im__print_one( int n ); void im__print_one( int n );
void im__print_all( void ); void im__print_all( void );
const char *im_Type2char( VipsType type ); const char *im_Type2char( VipsType type );
skipping to change at line 62 skipping to change at line 94
int im_char2Type( const char *str ); int im_char2Type( const char *str );
int im_char2BandFmt( const char *str ); int im_char2BandFmt( const char *str );
int im_char2Coding( const char *str ); int im_char2Coding( const char *str );
int im_char2Compression( const char *str ); int im_char2Compression( const char *str );
im_desc_type im_char2dtype( const char *str ); im_desc_type im_char2dtype( const char *str );
im_demand_type im_char2dhint( const char *str ); im_demand_type im_char2dhint( const char *str );
void im_printdesc( IMAGE *image ); void im_printdesc( IMAGE *image );
int im_image_sanity( IMAGE *im ); int im_image_sanity( IMAGE *im );
void im_image_sanity_all( void );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /* IM_DEBUG_H */ #endif /* IM_DEBUG_H */
 End of changes. 2 change blocks. 
0 lines changed or deleted 33 lines changed or added


 deprecated.h   deprecated.h 
skipping to change at line 118 skipping to change at line 118
#define LABPACK_COMPRESSED 3 #define LABPACK_COMPRESSED 3
#define RGB_COMPRESSED 4 #define RGB_COMPRESSED 4
#define LUM_COMPRESSED 5 #define LUM_COMPRESSED 5
/* Compression type /* Compression type
*/ */
#define NO_COMPRESSION 0 #define NO_COMPRESSION 0
#define TCSF_COMPRESSION 1 #define TCSF_COMPRESSION 1
#define JPEG_COMPRESSION 2 #define JPEG_COMPRESSION 2
/* Macros on IMAGEs.
* esize() sizeof band element
* psize() sizeof pel
* lsize() sizeof scan line
* niele() number of elements in scan line
*/
#define esize(I) IM_IMAGE_SIZEOF_ELEMENT(I) #define esize(I) IM_IMAGE_SIZEOF_ELEMENT(I)
#define psize(I) IM_IMAGE_SIZEOF_PEL(I) #define psize(I) IM_IMAGE_SIZEOF_PEL(I)
#define lsize(I) IM_IMAGE_SIZEOF_LINE(I) #define lsize(I) IM_IMAGE_SIZEOF_LINE(I)
#define niele(I) IM_IMAGE_N_ELEMENTS(I) #define niele(I) IM_IMAGE_N_ELEMENTS(I)
/* Macros on REGIONs. #define lskip(B) IM_REGION_LSKIP(B)
* lskip() add to move down line #define nele(B) IM_REGION_N_ELEMENTS(B)
* nele() number of elements across region #define rsize(B) IM_REGION_SIZEOF_LINE(B)
* rsize() sizeof width of region
* addr() address of pixel in region
*/
#define lskip(B) ((B)->bpl)
#define nele(B) ((B)->valid.width*(B)->im->Bands)
#define rsize(B) ((B)->valid.width*psize((B)->im))
/* addr() is special: if DEBUG is defined, make an addr() with bounds check #define addr(B,X,Y) IM_REGION_ADDR(B,X,Y)
ing.
*/
#ifdef DEBUG
#define addr(B,X,Y) \
( (im_rect_includespoint( &(B)->valid, (X), (Y) ))? \
((B)->data + ((Y) - (B)->valid.top)*lskip(B) + \
((X) - (B)->valid.left)*psize((B)->im)): \
(fprintf( stderr, \
"addr: point out of bounds, file \"%s\", line %d\n" \
"(point x=%d, y=%d\n" \
" should have been within Rect left=%d, top=%d, " \
"width=%d, height=%d)\n", \
__FILE__, __LINE__, \
(X), (Y), \
(B)->valid.left, \
(B)->valid.top, \
(B)->valid.width, \
(B)->valid.height ), abort(), (char *) NULL) \
)
#else /*DEBUG*/
#define addr(B,X,Y) ((B)->data + ((Y)-(B)->valid.top)*lskip(B) + \
((X)-(B)->valid.left)*psize((B)->im))
#endif /*DEBUG*/
#ifndef MAX #ifndef MAX
#define MAX(A,B) ((A)>(B)?(A):(B)) #define MAX(A,B) IM_MAX(A, B)
#define MIN(A,B) ((A)<(B)?(A):(B)) #define MIN(A,B) IM_MIN(A, B)
#endif /*MAX*/ #endif /*MAX*/
#define CLIP(A,V,B) MAX( (A), MIN( (B), (V) ) ) #define CLIP(A,V,B) IM_CLIP(A, V, B)
#define NEW(IM,A) ((A *)im_malloc((IM),sizeof(A))) #define NEW(IM,A) IM_NEW(IM,A)
#define NUMBER(R) (sizeof(R)/sizeof(R[0])) #define NUMBER(R) IM_NUMBER(R)
#define ARRAY(IM,N,T) ((T *)im_malloc((IM),(N) * sizeof(T))) #define ARRAY(IM,N,T) IM_ARRAY(IM,N,T)
/* Duff's device. Do OPERation N times in a 16-way unrolled loop. #define UNROLL( N, OPER ) IM_UNROLL( N, OPER )
*/ #define RINT( R ) IM_RINT( R )
#define UNROLL( N, OPER ) { \
if( (N) ) { \ #define CLIP_UCHAR( V, SEQ ) IM_CLIP_UCHAR( V, SEQ )
int duff_count = ((N) + 15) / 16; \ #define CLIP_USHORT( V, SEQ ) IM_CLIP_USHORT( V, SEQ )
\ #define CLIP_CHAR( V, SEQ ) IM_CLIP_CHAR( V, SEQ )
switch( (N) % 16 ) { \ #define CLIP_SHORT( V, SEQ ) IM_CLIP_SHORT( V, SEQ )
case 0: do { OPER; \ #define CLIP_NONE( V, SEQ ) IM_CLIP_NONE( V, SEQ )
case 15: OPER; \
case 14: OPER; \
case 13: OPER; \
case 12: OPER; \
case 11: OPER; \
case 10: OPER; \
case 9: OPER; \
case 8: OPER; \
case 7: OPER; \
case 6: OPER; \
case 5: OPER; \
case 4: OPER; \
case 3: OPER; \
case 2: OPER; \
case 1: OPER; \
} while( --duff_count > 0 ); \
} \
} \
}
/* Round a float to the nearest integer. This should give an identical resu
lt
* to the math.h rint() function (and the old SunOS nint() function), but b
e
* much faster. Beware: it evaluates its argument more than once, so don't
use
* ++!
*/
#define RINT( R ) ((int)((R)>0?((R)+0.5):((R)-0.5)))
/* Various integer range clips. Record over/under flows. #define right(R) IM_RECT_RIGHT(R)
*/ #define bottom(R) IM_RECT_BOTTOM(R)
#define CLIP_UCHAR( V, SEQ ) { \
if( (V) & (UCHAR_MAX ^ -1) ) { \
if( (V) < 0 ) { \
(SEQ)->underflow++; \
(V) = 0; \
} \
if( (V) > UCHAR_MAX ) { \
(SEQ)->overflow++; \
(V) = UCHAR_MAX; \
} \
} \
}
#define CLIP_USHORT( V, SEQ ) { \
if( (V) & (USHRT_MAX ^ -1) ) { \
if( (V) < 0 ) { \
(SEQ)->underflow++; \
(V) = 0; \
} \
if( (V) > USHRT_MAX ) { \
(SEQ)->overflow++; \
(V) = USHRT_MAX; \
} \
} \
}
#define CLIP_CHAR( V, SEQ ) { \
if( (V) < SCHAR_MIN ) { \
(SEQ)->underflow++; \
(V) = SCHAR_MIN; \
} \
if( (V) > SCHAR_MAX ) { \
(SEQ)->overflow++; \
(V) = SCHAR_MAX; \
} \
}
#define CLIP_SHORT( V, SEQ ) { \
if( (V) < SHRT_MIN ) { \
(SEQ)->underflow++; \
(V) = SHRT_MIN; \
} \
if( (V) > SHRT_MAX ) { \
(SEQ)->overflow++; \
(V) = SHRT_MAX; \
} \
}
#define CLIP_NONE( V, SEQ ) {}
/* On Rect.
*/
#define right(R) ((R)->left + (R)->width)
#define bottom(R) ((R)->top + (R)->height)
/* Backwards compatibility macros.
*/
#define im_clear_error_string() im_error_clear()
#define im_errorstring() im_error_buffer()
/* Deprecated API.
*/
void im_errormsg( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
void im_verrormsg( const char *fmt, va_list ap );
void im_errormsg_system( int err, const char *fmt, ... )
__attribute__((format(printf, 2, 3)));
void im_diagnostics( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
void im_warning( const char *fmt, ... )
__attribute__((format(printf, 1, 2)));
/* Deprecated operations.
*/
int im_cmulnorm( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_fav4( IMAGE **, IMAGE * );
int im_gadd( double, IMAGE *, double, IMAGE *, double, IMAGE *);
int im_litecor( IMAGE *, IMAGE *, IMAGE *, int, double );
int im_render_fade( IMAGE *in, IMAGE *out, IMAGE *mask,
int width, int height, int max,
int fps, int steps,
int priority,
void (*notify)( IMAGE *, Rect *, void * ), void *client );
int im_render( IMAGE *in, IMAGE *out, IMAGE *mask,
int width, int height, int max,
void (*notify)( IMAGE *, Rect *, void * ), void *client );
/* Renamed operations.
*/
/* arithmetic
*/
int im_remainderconst_vec( IMAGE *in, IMAGE *out, int n, double *c );
/* boolean
*/
int im_andconst( IMAGE *, IMAGE *, double );
int im_and_vec( IMAGE *, IMAGE *, int, double * );
int im_orconst( IMAGE *, IMAGE *, double );
int im_or_vec( IMAGE *, IMAGE *, int, double * );
int im_eorconst( IMAGE *, IMAGE *, double );
int im_eor_vec( IMAGE *, IMAGE *, int, double * );
/* mosaicing
*/
int im_affine( IMAGE *in, IMAGE *out,
double a, double b, double c, double d, double dx, double dy,
int ox, int oy, int ow, int oh );
int im_similarity( IMAGE *in, IMAGE *out,
double a, double b, double dx, double dy );
int im_similarity_area( IMAGE *in, IMAGE *out,
double a, double b, double dx, double dy,
int ox, int oy, int ow, int oh );
/* colour
*/
int im_icc_export( IMAGE *in, IMAGE *out,
const char *output_profile_filename, VipsIntent intent );
/* conversion
*/
int im_clip2dcm( IMAGE *in, IMAGE *out );
int im_clip2cm( IMAGE *in, IMAGE *out );
int im_clip2us( IMAGE *in, IMAGE *out );
int im_clip2ui( IMAGE *in, IMAGE *out );
int im_clip2s( IMAGE *in, IMAGE *out );
int im_clip2i( IMAGE *in, IMAGE *out );
int im_clip2d( IMAGE *in, IMAGE *out );
int im_clip2f( IMAGE *in, IMAGE *out );
int im_clip2c( IMAGE *in, IMAGE *out );
int im_slice( IMAGE *in, IMAGE *out, double, double );
int im_thresh( IMAGE *in, IMAGE *out, double );
int im_print( const char *message );
int im_convsub( IMAGE *in, IMAGE *out, INTMASK *mask, int xskip, int yskip
);
int im_bernd( const char *tiffname, int x, int y, int w, int h );
int im_resize_linear( IMAGE *, IMAGE *, int, int );
int im_line( IMAGE *, int, int, int, int, int );
int im_segment( IMAGE *test, IMAGE *mask, int *segments );
int im_convf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
int im_convsepf( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
int im_conv_raw( IMAGE *in, IMAGE *out, INTMASK *mask );
int im_convf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
int im_convsep_raw( IMAGE *in, IMAGE *out, INTMASK *mask );
int im_convsepf_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask );
int im_fastcor_raw( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_spcor_raw( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_gradcor_raw( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_contrast_surface_raw( IMAGE *in, IMAGE *out,
int half_win_size, int spacing );
int im_stdif_raw( IMAGE *in, IMAGE *out,
double a, double m0, double b, double s0, int xwin, int ywin );
int im_lhisteq_raw( IMAGE *in, IMAGE *out, int xwin, int ywin );
int im_erode_raw( IMAGE *in, IMAGE *out, INTMASK *m );
int im_dilate_raw( IMAGE *in, IMAGE *out, INTMASK *m );
int im_rank_raw( IMAGE *in, IMAGE *out, int xsize, int ysize, int order );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_DEPRECATED_H*/ #endif /*IM_DEPRECATED_H*/
 End of changes. 6 change blocks. 
250 lines changed or deleted 21 lines changed or added


 disp.h   disp.h 
skipping to change at line 78 skipping to change at line 78
float d_Y0R; /* Residual light for black pixel */ float d_Y0R; /* Residual light for black pixel */
float d_Y0G; float d_Y0G;
float d_Y0B; float d_Y0B;
float d_gammaR; /* Gamma values for the three guns * / float d_gammaR; /* Gamma values for the three guns * /
float d_gammaG; float d_gammaG;
float d_gammaB; float d_gammaB;
float d_B; /* 'Background' (like brightness) */ float d_B; /* 'Background' (like brightness) */
float d_P; /* 'Picture' (like contrast) */ float d_P; /* 'Picture' (like contrast) */
}; };
/* Structure for holding the lookup tables for XYZ<=>rgb conversion.
* Also holds the luminance to XYZ matrix and the inverse one.
*/
struct im_col_tab_disp {
/* All private.
*/
/*< private >*/
float t_Yr2r[1501]; /* Conversion of Yr to r */
float t_Yg2g[1501]; /* Conversion of Yg to g */
float t_Yb2b[1501]; /* Conversion of Yb to b */
float t_r2Yr[1501]; /* Conversion of r to Yr */
float t_g2Yg[1501]; /* Conversion of g to Yg */
float t_b2Yb[1501]; /* Conversion of b to Yb */
float mat_XYZ2lum[3][3]; /* XYZ to Yr, Yg, Yb matrix */
float mat_lum2XYZ[3][3]; /* Yr, Yg, Yb to XYZ matrix */
float rstep, gstep, bstep;
float ristep, gistep, bistep;
};
struct im_col_tab_disp *im_col_make_tables_RGB(
IMAGE *im,
struct im_col_display *d );
struct im_col_tab_disp *im_col_display_get_table( struct im_col_display *d
);
int im_col_rgb2XYZ( struct im_col_display *d, int im_col_rgb2XYZ( struct im_col_display *d,
int r, int g, int b, int r, int g, int b,
float *X, float *Y, float *Z ); float *X, float *Y, float *Z );
int im_col_XYZ2rgb( int im_col_XYZ2rgb(
struct im_col_display *d, struct im_col_display *d,
float X, float Y, float Z, float X, float Y, float Z,
int *r_ret, int *g_ret, int *b_ret, int *r_ret, int *g_ret, int *b_ret,
int *or_ret ); int *or_ret );
int im_XYZ2disp( IMAGE *in, IMAGE *out, struct im_col_display *d ); int im_XYZ2disp( IMAGE *in, IMAGE *out, struct im_col_display *d );
 End of changes. 1 change blocks. 
25 lines changed or deleted 0 lines changed or added


 format.h   format.h 
skipping to change at line 120 skipping to change at line 120
VipsFormatClass *vips_format_for_name( const char *filename ); VipsFormatClass *vips_format_for_name( const char *filename );
VipsFormatFlags vips_format_get_flags( VipsFormatClass *format, VipsFormatFlags vips_format_get_flags( VipsFormatClass *format,
const char *filename ); const char *filename );
/* Read/write an image convenience functions. /* Read/write an image convenience functions.
*/ */
int vips_format_read( const char *filename, IMAGE *out ); int vips_format_read( const char *filename, IMAGE *out );
int vips_format_write( IMAGE *in, const char *filename ); int vips_format_write( IMAGE *in, const char *filename );
/* Low-level read/write operations.
*/
int im_jpeg2vips( const char *filename, IMAGE *out ); int im_jpeg2vips( const char *filename, IMAGE *out );
int im_vips2jpeg( IMAGE *in, const char *filename ); int im_vips2jpeg( IMAGE *in, const char *filename );
int im_vips2mimejpeg( IMAGE *in, int qfac ); int im_vips2mimejpeg( IMAGE *in, int qfac );
int im_vips2bufjpeg( IMAGE *in, IMAGE *out, int qfac, char **obuf, int *ole n ); int im_vips2bufjpeg( IMAGE *in, IMAGE *out, int qfac, char **obuf, int *ole n );
int im_vips2tiff( IMAGE *in, const char *filename );
int im_tiff2vips( const char *filename, IMAGE *out ); int im_tiff2vips( const char *filename, IMAGE *out );
int im_vips2tiff( IMAGE *in, const char *filename );
int im_tile_cache( IMAGE *in, IMAGE *out, int im_tile_cache( IMAGE *in, IMAGE *out,
int tile_width, int tile_height, int max_tiles ); int tile_width, int tile_height, int max_tiles );
int im_magick2vips( const char *filename, IMAGE * );
int im_png2vips( const char *filename, IMAGE *out ); int im_magick2vips( const char *filename, IMAGE *out );
int im_exr2vips( const char *filename, IMAGE *out ); int im_exr2vips( const char *filename, IMAGE *out );
int im_ppm2vips( const char *filename, IMAGE *out ); int im_ppm2vips( const char *filename, IMAGE *out );
int im_vips2ppm( IMAGE *in, const char *filename ); int im_vips2ppm( IMAGE *in, const char *filename );
int im_analyze2vips( const char *filename, IMAGE *out ); int im_analyze2vips( const char *filename, IMAGE *out );
int im_vips2csv( IMAGE *in, const char *filename );
int im_csv2vips( const char *filename, IMAGE *out ); int im_csv2vips( const char *filename, IMAGE *out );
int im_vips2csv( IMAGE *in, const char *filename );
int im_png2vips( const char *filename, IMAGE *out );
int im_vips2png( IMAGE *in, const char *filename ); int im_vips2png( IMAGE *in, const char *filename );
int im_raw2vips( const char *filename, IMAGE *out, int im_raw2vips( const char *filename, IMAGE *out,
int width, int height, int bpp, int offset ); int width, int height, int bpp, int offset );
int im_vips2raw( IMAGE *in, int fd ); int im_vips2raw( IMAGE *in, int fd );
int im_mat2vips( const char *filename, IMAGE *out );
int im_rad2vips( const char *filename, IMAGE *out );
int im_vips2rad( IMAGE *in, const char *filename );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_FORMAT_H*/ #endif /*IM_FORMAT_H*/
 End of changes. 10 change blocks. 
4 lines changed or deleted 19 lines changed or added


 freq_filt.h   freq_filt.h 
skipping to change at line 40 skipping to change at line 40
*/ */
#ifndef IM_FREQ_H #ifndef IM_FREQ_H
#define IM_FREQ_H #define IM_FREQ_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /*__cplusplus*/ #endif /*__cplusplus*/
int im_fractsurf( IMAGE *out, int size, double frd ); typedef enum {
int im_freqflt( IMAGE *in, IMAGE *mask, IMAGE *out ); VIPS_MASK_IDEAL_HIGHPASS = 0,
int im_disp_ps( IMAGE *in, IMAGE *out ); VIPS_MASK_IDEAL_LOWPASS = 1,
int im_rotquad( IMAGE *in, IMAGE *out ); VIPS_MASK_BUTTERWORTH_HIGHPASS = 2,
VIPS_MASK_BUTTERWORTH_LOWPASS = 3,
VIPS_MASK_GAUSS_HIGHPASS = 4,
VIPS_MASK_GAUSS_LOWPASS = 5,
VIPS_MASK_IDEAL_RINGPASS = 6,
VIPS_MASK_IDEAL_RINGREJECT = 7,
VIPS_MASK_BUTTERWORTH_RINGPASS = 8,
VIPS_MASK_BUTTERWORTH_RINGREJECT = 9,
VIPS_MASK_GAUSS_RINGPASS = 10,
VIPS_MASK_GAUSS_RINGREJECT = 11,
VIPS_MASK_IDEAL_BANDPASS = 12,
VIPS_MASK_IDEAL_BANDREJECT = 13,
VIPS_MASK_BUTTERWORTH_BANDPASS = 14,
VIPS_MASK_BUTTERWORTH_BANDREJECT = 15,
VIPS_MASK_GAUSS_BANDPASS = 16,
VIPS_MASK_GAUSS_BANDREJECT = 17,
VIPS_MASK_FRACTAL_FLT = 18
} VipsMaskType;
int im_fwfft( IMAGE *in, IMAGE *out ); int im_fwfft( IMAGE *in, IMAGE *out );
int im_invfft( IMAGE *in, IMAGE *out ); int im_invfft( IMAGE *in, IMAGE *out );
int im_invfftr( IMAGE *in, IMAGE *out ); int im_invfftr( IMAGE *in, IMAGE *out );
int im_freqflt( IMAGE *in, IMAGE *mask, IMAGE *out );
int im_disp_ps( IMAGE *in, IMAGE *out );
int im_rotquad( IMAGE *in, IMAGE *out );
int im_phasecor_fft( IMAGE *in1, IMAGE *in2, IMAGE *out ); int im_phasecor_fft( IMAGE *in1, IMAGE *in2, IMAGE *out );
int im_flt_image_freq( IMAGE *in, IMAGE *out, VipsMaskType flag, ... );
int im_create_fmask( IMAGE *out, int xsize, int ysize, VipsMaskType flag, .
.. );
int im_fractsurf( IMAGE *out, int size, double frd );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_FREQ_H*/ #endif /*IM_FREQ_H*/
 End of changes. 3 change blocks. 
4 lines changed or deleted 34 lines changed or added


 histograms_lut.h   histograms_lut.h 
skipping to change at line 40 skipping to change at line 40
*/ */
#ifndef IM_HIST_H #ifndef IM_HIST_H
#define IM_HIST_H #define IM_HIST_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /*__cplusplus*/ #endif /*__cplusplus*/
int im_maplut( IMAGE *in, IMAGE *out, IMAGE *lut );
int im_gammacorrect( IMAGE *in, IMAGE *out, double exponent );
int im_heq( IMAGE *in, IMAGE *out, int bandno );
int im_hist( IMAGE *in, IMAGE *out, int bandno );
int im_hist_indexed( IMAGE *index, IMAGE *value, IMAGE *out );
int im_histeq( IMAGE *in, IMAGE *out );
int im_histnorm( IMAGE *in, IMAGE *out );
int im_histcum( IMAGE *in, IMAGE *out );
int im_histgr( IMAGE *in, IMAGE *out, int bandno ); int im_histgr( IMAGE *in, IMAGE *out, int bandno );
int im_histnD( IMAGE *in, IMAGE *out, int bins ); int im_histnD( IMAGE *in, IMAGE *out, int bins );
int im_histplot( IMAGE *hist, IMAGE *histplot ); int im_hist_indexed( IMAGE *index, IMAGE *value, IMAGE *out );
int im_histspec( IMAGE *hin, IMAGE *href, IMAGE *lut );
int im_hsp( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_identity( IMAGE *lut, int bands ); int im_identity( IMAGE *lut, int bands );
int im_identity_ushort( IMAGE *lut, int bands, int sz ); int im_identity_ushort( IMAGE *lut, int bands, int sz );
int im_lhisteq( IMAGE *in, IMAGE *out, int xwin, int ywin );
int im_invertlut( DOUBLEMASK *input, IMAGE *output, int lut_size ); int im_invertlut( DOUBLEMASK *input, IMAGE *output, int lut_size );
int im_buildlut( DOUBLEMASK *input, IMAGE *output ); int im_buildlut( DOUBLEMASK *input, IMAGE *output );
int im_project( IMAGE *in, IMAGE *hout, IMAGE *vout );
int im_histnorm( IMAGE *in, IMAGE *out );
int im_histcum( IMAGE *in, IMAGE *out );
int im_histeq( IMAGE *in, IMAGE *out );
int im_histspec( IMAGE *hin, IMAGE *href, IMAGE *lut );
int im_ismonotonic( IMAGE *lut, int *out );
int im_histplot( IMAGE *hist, IMAGE *histplot );
int im_maplut( IMAGE *in, IMAGE *out, IMAGE *lut );
int im_hist( IMAGE *in, IMAGE *out, int bandno );
int im_hsp( IMAGE *in, IMAGE *ref, IMAGE *out );
int im_gammacorrect( IMAGE *in, IMAGE *out, double exponent );
int im_mpercent( IMAGE *in, double percent, int *out );
int im_mpercent_hist( IMAGE *hist, double percent, int *out );
int im_heq( IMAGE *in, IMAGE *out, int bandno );
int im_lhisteq( IMAGE *in, IMAGE *out, int xwin, int ywin );
int im_stdif( IMAGE *in, IMAGE *out, int im_stdif( IMAGE *in, IMAGE *out,
double a, double m0, double b, double s0, int xwin, int ywin ); double a, double m0, double b, double s0, int xwin, int ywin );
int im_tone_build_range( IMAGE *out, int im_tone_build_range( IMAGE *out,
int in_max, int out_max, int in_max, int out_max,
double Lb, double Lw, double Ps, double Pm, double Ph, double Lb, double Lw, double Ps, double Pm, double Ph,
double S, double M, double H ); double S, double M, double H );
int im_tone_build( IMAGE *out, int im_tone_build( IMAGE *out,
double Lb, double Lw, double Ps, double Pm, double Ph, double Lb, double Lw, double Ps, double Pm, double Ph,
double S, double M, double H ); double S, double M, double H );
int im_tone_analyse( IMAGE *in, IMAGE *lut, int im_tone_analyse( IMAGE *in, IMAGE *lut,
double Ps, double Pm, double Ph, double S, double M, double H ); double Ps, double Pm, double Ph, double S, double M, double H );
int im_ismonotonic( IMAGE *lut, int *out );
int im_tone_map( IMAGE *in, IMAGE *out, IMAGE *lut ); int im_tone_map( IMAGE *in, IMAGE *out, IMAGE *lut );
int im_project( IMAGE *in, IMAGE *hout, IMAGE *vout );
int im_mpercent( IMAGE *in, double percent, int *out );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_HIST_H*/ #endif /*IM_HIST_H*/
 End of changes. 7 change blocks. 
15 lines changed or deleted 22 lines changed or added


 image.h   image.h 
skipping to change at line 45 skipping to change at line 45
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /*__cplusplus*/ #endif /*__cplusplus*/
/* Needed for 'unused' below. Remove this when we remove that. /* Needed for 'unused' below. Remove this when we remove that.
*/ */
#include <time.h> #include <time.h>
/* If you read MSB first, you get these two values. /* If you read MSB first, you get these two values.
* intel order: byte 0 = b6 * intel order: byte 0 = b6
* SPARC order: byte 0 = 08 * SPARC order: byte 0 = 08
*/ */
#define IM_MAGIC_INTEL (0xb6a6f208U) #define IM_MAGIC_INTEL (0xb6a6f208U)
#define IM_MAGIC_SPARC (0x08f2a6b6U) #define IM_MAGIC_SPARC (0x08f2a6b6U)
/* Demand style from im_generate(). See im_demand_hint(). /* Demand style from im_generate(). See im_demand_hint().
*/ */
typedef enum { typedef enum {
IM_SMALLTILE, IM_SMALLTILE,
IM_FATSTRIP, IM_FATSTRIP,
IM_THINSTRIP, IM_THINSTRIP,
skipping to change at line 132 skipping to change at line 132
/* Fields from file header. /* Fields from file header.
*/ */
int Xsize; /* image width, in pixels */ int Xsize; /* image width, in pixels */
int Ysize; /* image height, in pixels */ int Ysize; /* image height, in pixels */
int Bands; /* number of image bands */ int Bands; /* number of image bands */
/*< private >*/ /*< private >*/
/* No longer used. /* No longer used.
*/ */
int Bbits; /* was number of bits in this format */ int Bbits; /* was number of bits in this format */
/*< public >*/ /*< public >*/
int BandFmt; /* #VipsBandFmt describing the pixel format VipsBandFmt BandFmt; /* #VipsBandFmt describing the pixel format
*/ */
int Coding; /* #VipsCoding describing the pixel coding * VipsCoding Coding; /* #VipsCoding describing the pixel coding *
/ /
int Type; /* #VipsType hinting at pixel interpretation VipsType Type; /* #VipsType hinting at pixel interpretation
*/ */
float Xres; /* horizontal pixels per millimetre */ float Xres; /* horizontal pixels per millimetre */
float Yres; /* vertical pixels per millimetre */ float Yres; /* vertical pixels per millimetre */
/*< private >*/ /*< private >*/
/* No longer used. /* No longer used.
*/ */
int Length; int Length;
short Compression; short Compression;
short Level; short Level;
/*< public >*/ /*< public >*/
int Xoffset; /* image origin hint */ int Xoffset; /* image origin hint */
skipping to change at line 198 skipping to change at line 198
* for binary file read. * for binary file read.
*/ */
int sizeof_header; int sizeof_header;
/* If this is a large disc image, don't map the whole thing, instead /* If this is a large disc image, don't map the whole thing, instead
* have a set of windows shared between the regions active on the * have a set of windows shared between the regions active on the
* image. List of im_window_t. * image. List of im_window_t.
*/ */
GSList *windows; GSList *windows;
/* Parent/child relationships, built from args to im_demand_hint(). /* Upstream/downstream relationships, built from args to
* We use these to invalidate pixel buffers on im_invalidate(). Use * im_demand_hint().
* 'serial' to spot circular dependencies.
* *
* Parents are later in the tree, so it's child1 + child2 -> parent, * We use these to invalidate downstream pixel buffers on
* for example. On im_invalidate(), we dispose the caches on all * im_invalidate(). Use 'serial' to spot circular dependencies.
* parents of an image.
* *
* See also hint_set below. * See also hint_set below.
*/ */
GSList *parents; GSList *upstream;
GSList *children; GSList *downstream;
int serial; int serial;
/* Keep a list of recounted GValue strings so we can share hist /* Keep a list of recounted GValue strings so we can share hist
* efficiently. * efficiently.
*/ */
GSList *history_list; GSList *history_list;
/* The VipsImage (if any) we should signal eval progress on. /* The VipsImage (if any) we should signal eval progress on.
*/ */
struct _VipsImage *progress; struct _VipsImage *progress;
/* Some more callbacks. Appended to IMAGE for binary compatibility. /* Some more callbacks.
*/ */
GSList *evalstartfns; /* list of start eval callbacks */ GSList *evalstartfns; /* list of start eval callbacks */
GSList *preclosefns; /* list of pre-close callbacks */ GSList *preclosefns; /* list of pre-close callbacks */
GSList *invalidatefns; /* list of invalidate callbacks */ GSList *invalidatefns; /* list of invalidate callbacks */
/* Record the file length here. We use this to stop ourselves mappin g /* Record the file length here. We use this to stop ourselves mappin g
* things beyond the end of the file in the case that the file has * things beyond the end of the file in the case that the file has
* been truncated. * been truncated.
* *
* gint64 so that we can guarantee to work even on systems with * gint64 so that we can guarantee to work even on systems with
* strange ideas about large files. * strange ideas about large files.
*/ */
gint64 file_length; gint64 file_length;
/* Set this when im_demand_hint_array() is called, and check in any /* Set this when im_demand_hint_array() is called, and check in any
* operation that will demand pixels from the image. * operation that will demand pixels from the image.
* *
* We use im_demand_hint_array() to build the tree of parent/child * We use im_demand_hint_array() to build the tree of
* relationships, so it's a mandatory thing. * upstream/downstream relationships, so it's a mandatory thing.
*/ */
gboolean hint_set; gboolean hint_set;
/* Post-close callbacks happen on finalize. Eg. deleting the file
* associated with this temp image.
*/
GSList *postclosefns;
/* Written callbacks are triggered when an image has been written to
.
* Used by eg. im_open("x.jpg", "w") to do the final write to jpeg.
*/
GSList *writtenfns;
} VipsImage; } VipsImage;
extern const size_t im__sizeof_bandfmt[]; extern const size_t im__sizeof_bandfmt[];
/* Pixel address calculation macros. /* Pixel address calculation macros.
*/ */
#define IM_IMAGE_SIZEOF_ELEMENT(I) \ #define IM_IMAGE_SIZEOF_ELEMENT(I) \
(im__sizeof_bandfmt[(I)->BandFmt]) (im__sizeof_bandfmt[(I)->BandFmt])
#define IM_IMAGE_SIZEOF_PEL(I) \ #define IM_IMAGE_SIZEOF_PEL(I) \
(IM_IMAGE_SIZEOF_ELEMENT(I) * (I)->Bands) (IM_IMAGE_SIZEOF_ELEMENT(I) * (I)->Bands)
skipping to change at line 286 skipping to change at line 294
(I)->Xsize, \ (I)->Xsize, \
(I)->Ysize ), abort(), (char *) NULL) \ (I)->Ysize ), abort(), (char *) NULL) \
) )
#else /*DEBUG*/ #else /*DEBUG*/
#define IM_IMAGE_ADDR(I,X,Y) \ #define IM_IMAGE_ADDR(I,X,Y) \
((I)->data + \ ((I)->data + \
(Y) * IM_IMAGE_SIZEOF_LINE(I) + \ (Y) * IM_IMAGE_SIZEOF_LINE(I) + \
(X) * IM_IMAGE_SIZEOF_PEL(I)) (X) * IM_IMAGE_SIZEOF_PEL(I))
#endif /*DEBUG*/ #endif /*DEBUG*/
const char *im_get_argv0( void );
int im_init_world( const char *argv0 ); int im_init_world( const char *argv0 );
GOptionGroup *im_get_option_group( void ); GOptionGroup *im_get_option_group( void );
const char *im_version_string( void ); const char *im_version_string( void );
int im_version( int flag ); int im_version( int flag );
const char *im_guess_prefix( const char *, const char * ); const char *im_guess_prefix( const char *argv0, const char *env_name );
const char *im_guess_libdir( const char *, const char * ); const char *im_guess_libdir( const char *argv0, const char *env_name );
VipsImage *im_open( const char *filename, const char *mode ); VipsImage *im_open( const char *filename, const char *mode );
#define im_open_local( IM, NAME, MODE ) \ #define im_open_local( IM, NAME, MODE ) \
((IMAGE *) im_local( (IM), \ ((IMAGE *) im_local( (IM), \
(im_construct_fn) im_open, (im_callback_fn) im_close, \ (im_construct_fn) im_open, (im_callback_fn) im_close, \
(void *) (NAME), (void *) (MODE), NULL )) (void *) (NAME), (void *) (MODE), NULL ))
/* Strange double cast stops bogus warnings from gcc 4.1 /* Strange double cast stops bogus warnings from gcc 4.1
*/ */
 End of changes. 10 change blocks. 
21 lines changed or deleted 31 lines changed or added


 inplace.h   inplace.h 
skipping to change at line 51 skipping to change at line 51
int im_smear( IMAGE *im, int ix, int iy, Rect *r ); int im_smear( IMAGE *im, int ix, int iy, Rect *r );
int im_smudge( IMAGE *im, int ix, int iy, Rect *r ); int im_smudge( IMAGE *im, int ix, int iy, Rect *r );
int im_paintrect( IMAGE *im, Rect *r, PEL *ink ); int im_paintrect( IMAGE *im, Rect *r, PEL *ink );
int im_circle( IMAGE *im, int cx, int cy, int radius, int intensity ); int im_circle( IMAGE *im, int cx, int cy, int radius, int intensity );
int im_insertplace( IMAGE *main, IMAGE *sub, int x, int y ); int im_insertplace( IMAGE *main, IMAGE *sub, int x, int y );
int im_fastline( IMAGE *im, int x1, int y1, int x2, int y2, PEL *pel ); int im_fastline( IMAGE *im, int x1, int y1, int x2, int y2, PEL *pel );
int im_fastlineuser( IMAGE *im, int im_fastlineuser( IMAGE *im,
int x1, int y1, int x2, int y2, int x1, int y1, int x2, int y2,
int (*fn)(), void *client1, void *client2, void *client3 ); int (*fn)(), void *client1, void *client2, void *client3 );
int im_readpoint( IMAGE *im, int x, int y, PEL *pel ); int im_readpoint( IMAGE *im, int x, int y, PEL *pel );
int im_flood( IMAGE *im, int x, int y, PEL *ink, Rect *dout ); int im_flood( IMAGE *im, int x, int y, PEL *ink, Rect *dout );
int im_flood_blob( IMAGE *im, int x, int y, PEL *ink, Rect *dout ); int im_flood_blob( IMAGE *im, int x, int y, PEL *ink, Rect *dout );
int im_flood_other( IMAGE *test, IMAGE *mark,
int x, int y, int serial, Rect *dout );
int im_flood_copy( IMAGE *in, IMAGE *out, int x, int y, PEL *ink );
int im_flood_blob_copy( IMAGE *in, IMAGE *out, int x, int y, PEL *ink ); int im_flood_blob_copy( IMAGE *in, IMAGE *out, int x, int y, PEL *ink );
int im_flood_other( IMAGE *mask, IMAGE *test, int x, int y, int serial ); int im_flood_other_copy( IMAGE *test, IMAGE *mark, IMAGE *out,
int im_flood_other_copy( IMAGE *mask, IMAGE *test, IMAGE *out,
int x, int y, int serial ); int x, int y, int serial );
int im_lineset( IMAGE *in, IMAGE *out, IMAGE *mask, IMAGE *ink, int im_lineset( IMAGE *in, IMAGE *out, IMAGE *mask, IMAGE *ink,
int n, int *x1v, int *y1v, int *x2v, int *y2v ); int n, int *x1v, int *y1v, int *x2v, int *y2v );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_INPLACE_H*/ #endif /*IM_INPLACE_H*/
 End of changes. 3 change blocks. 
2 lines changed or deleted 6 lines changed or added


 interpolate.h   interpolate.h 
skipping to change at line 86 skipping to change at line 86
int (*get_window_size)( VipsInterpolate * ); int (*get_window_size)( VipsInterpolate * );
/* Or just set this if you want a constant. /* Or just set this if you want a constant.
*/ */
int window_size; int window_size;
/* Stencils are offset by this much. Default to window_size / 2 /* Stencils are offset by this much. Default to window_size / 2
* (centering) if undefined. * (centering) if undefined.
*/ */
int (*get_window_offset)( VipsInterpolate * ); int (*get_window_offset)( VipsInterpolate * );
int window_offset;
} VipsInterpolateClass; } VipsInterpolateClass;
GType vips_interpolate_get_type( void ); GType vips_interpolate_get_type( void );
void vips_interpolate( VipsInterpolate *interpolate, void vips_interpolate( VipsInterpolate *interpolate,
PEL *out, REGION *in, double x, double y ); PEL *out, REGION *in, double x, double y );
VipsInterpolateMethod vips_interpolate_get_method( VipsInterpolate * ); VipsInterpolateMethod vips_interpolate_get_method( VipsInterpolate * );
int vips_interpolate_get_window_size( VipsInterpolate *interpolate ); int vips_interpolate_get_window_size( VipsInterpolate *interpolate );
int vips_interpolate_get_window_offset( VipsInterpolate *interpolate ); int vips_interpolate_get_window_offset( VipsInterpolate *interpolate );
/* How many bits of precision we keep for transformations, ie. how many /* How many bits of precision we keep for transformations, ie. how many
* pre-computed matricies we have. * pre-computed matricies we have.
*/ */
#define VIPS_TRANSFORM_SHIFT (5) #define VIPS_TRANSFORM_SHIFT (6)
#define VIPS_TRANSFORM_SCALE (1 << VIPS_TRANSFORM_SHIFT) #define VIPS_TRANSFORM_SCALE (1 << VIPS_TRANSFORM_SHIFT)
/* How many bits of precision we keep for interpolation, ie. where the deci mal /* How many bits of precision we keep for interpolation, ie. where the deci mal
* is in the fixed-point tables. For 16-bit pixels, we need 16 bits for the * is in the fixed-point tables. For 16-bit pixels, we need 16 bits for the
* data and 4 bits to add 16 values together. That leaves 12 bits for the * data and 4 bits to add 16 values together. That leaves 12 bits for the
* fractional part. * fractional part.
*/ */
#define VIPS_INTERPOLATE_SHIFT (12) #define VIPS_INTERPOLATE_SHIFT (12)
#define VIPS_INTERPOLATE_SCALE (1 << VIPS_INTERPOLATE_SHIFT) #define VIPS_INTERPOLATE_SCALE (1 << VIPS_INTERPOLATE_SHIFT)
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 mask.h   mask.h 
skipping to change at line 106 skipping to change at line 106
DOUBLEMASK *im_mattrn( DOUBLEMASK *in, const char *name ); DOUBLEMASK *im_mattrn( DOUBLEMASK *in, const char *name );
DOUBLEMASK *im_matcat( DOUBLEMASK *in1, DOUBLEMASK *in2, const char *name ) ; DOUBLEMASK *im_matcat( DOUBLEMASK *in1, DOUBLEMASK *in2, const char *name ) ;
DOUBLEMASK *im_matmul( DOUBLEMASK *in1, DOUBLEMASK *in2, const char *name ) ; DOUBLEMASK *im_matmul( DOUBLEMASK *in1, DOUBLEMASK *in2, const char *name ) ;
DOUBLEMASK *im_lu_decomp( const DOUBLEMASK *mat, const char *name ); DOUBLEMASK *im_lu_decomp( const DOUBLEMASK *mat, const char *name );
int im_lu_solve( const DOUBLEMASK *lu, double *vec ); int im_lu_solve( const DOUBLEMASK *lu, double *vec );
DOUBLEMASK *im_matinv( const DOUBLEMASK *mat, const char *name ); DOUBLEMASK *im_matinv( const DOUBLEMASK *mat, const char *name );
int im_matinv_inplace( DOUBLEMASK *mat ); int im_matinv_inplace( DOUBLEMASK *mat );
DOUBLEMASK *im_local_dmask( struct _VipsImage *out, DOUBLEMASK *mask );
INTMASK *im_local_imask( struct _VipsImage *out, INTMASK *mask );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_MASK_H*/ #endif /*IM_MASK_H*/
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added


 meta.h   meta.h 
skipping to change at line 110 skipping to change at line 110
* *
* The #GType for an #im_blob. * The #GType for an #im_blob.
*/ */
#define IM_TYPE_BLOB (im_blob_get_type()) #define IM_TYPE_BLOB (im_blob_get_type())
GType im_blob_get_type( void ); GType im_blob_get_type( void );
void *im_blob_get( const GValue *value, size_t *data_length ); void *im_blob_get( const GValue *value, size_t *data_length );
int im_blob_set( GValue *value, im_callback_fn free_fn, int im_blob_set( GValue *value, im_callback_fn free_fn,
void *data, size_t length ); void *data, size_t length );
int im_meta_set( IMAGE *, const char *field, GValue * ); int im_meta_set( IMAGE *, const char *field, GValue * );
gboolean im_meta_remove( IMAGE *im, const char *field );
int im_meta_get( IMAGE *, const char *field, GValue * ); int im_meta_get( IMAGE *, const char *field, GValue * );
GType im_meta_get_typeof( IMAGE *im, const char *field ); GType im_meta_get_typeof( IMAGE *im, const char *field );
int im_meta_set_int( IMAGE *, const char *field, int i ); int im_meta_set_int( IMAGE *, const char *field, int i );
int im_meta_get_int( IMAGE *, const char *field, int *i ); int im_meta_get_int( IMAGE *, const char *field, int *i );
int im_meta_set_double( IMAGE *, const char *field, double d ); int im_meta_set_double( IMAGE *, const char *field, double d );
int im_meta_get_double( IMAGE *, const char *field, double *d ); int im_meta_get_double( IMAGE *, const char *field, double *d );
int im_meta_set_area( IMAGE *, const char *field, im_callback_fn, void * ); int im_meta_set_area( IMAGE *, const char *field, im_callback_fn, void * );
int im_meta_get_area( IMAGE *, const char *field, void **data ); int im_meta_get_area( IMAGE *, const char *field, void **data );
int im_meta_set_string( IMAGE *, const char *field, const char *str ); int im_meta_set_string( IMAGE *, const char *field, const char *str );
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 private.h   private.h 
skipping to change at line 44 skipping to change at line 44
#ifndef IM_PRIVATE_H #ifndef IM_PRIVATE_H
#define IM_PRIVATE_H #define IM_PRIVATE_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#define IM_SPARE (8) #define IM_SPARE (8)
/* Private to iofuncs: the image size above which we switch from /* Private to iofuncs: the minimum number of scanlines we add above and bel
* mmap()-whole-image behaviour to mmap()-window, plus window margins. ow
* * the window as a margin for slop.
* Always use mmap windows, they put a lot less strain on the VM system whe
n
* we have many open images.
*/ */
#define IM__MMAP_LIMIT (0) #define IM__WINDOW_MARGIN_PIXELS (128)
#define IM__WINDOW_MARGIN (128)
/* Private to iofuncs: add at least this many bytes above and below the win
dow.
* There's no point mapping just a few KB of a small image.
*/
#define IM__WINDOW_MARGIN_BYTES (1024 * 1024 * 10)
/* sizeof() a VIPS header on disc. /* sizeof() a VIPS header on disc.
*/ */
#define IM_SIZEOF_HEADER (64) #define IM_SIZEOF_HEADER (64)
typedef unsigned char PEL; /* useful datum */ typedef unsigned char PEL; /* useful datum */
/* Types of image descriptor we may have. The type field is advisory only: it /* Types of image descriptor we may have. The type field is advisory only: it
* does not imply that any fields in IMAGE have valid data. * does not imply that any fields in IMAGE have valid data.
*/ */
typedef enum { typedef enum {
IM_NONE, /* no type set */ IM_NONE, /* no type set */
IM_SETBUF, /* malloced memory array */ IM_SETBUF, /* malloced memory array */
IM_SETBUF_FOREIGN, /* memory array, don't free on close */ IM_SETBUF_FOREIGN, /* memory array, don't free on close */
IM_OPENIN, /* input from fd */ IM_OPENIN, /* input from fd with a window */
IM_MMAPIN, /* memory mapped input file */ IM_MMAPIN, /* memory mapped input file */
IM_MMAPINRW, /* memory mapped read/write file */ IM_MMAPINRW, /* memory mapped read/write file */
IM_OPENOUT, /* output to fd */ IM_OPENOUT, /* output to fd */
IM_PARTIAL /* partial image */ IM_PARTIAL /* partial image */
} im_desc_type; } im_desc_type;
/* What we track for each mmap window. Have a list of these on an openin /* What we track for each mmap window. Have a list of these on an openin
* IMAGE. * IMAGE.
*/ */
typedef struct { typedef struct {
skipping to change at line 122 skipping to change at line 123
/* What we track for each pixel buffer. /* What we track for each pixel buffer.
*/ */
typedef struct im__buffer_t { typedef struct im__buffer_t {
int ref_count; /* # of regions referencing us */ int ref_count; /* # of regions referencing us */
struct _VipsImage *im; /* IMAGE we are attached to */ struct _VipsImage *im; /* IMAGE we are attached to */
Rect area; /* Area this pixel buffer covers */ Rect area; /* Area this pixel buffer covers */
gboolean done; /* Calculated and in cache */ gboolean done; /* Calculated and in cache */
im_buffer_cache_t *cache; im_buffer_cache_t *cache;
gboolean invalid; /* Needs to be recalculated */
char *buf; /* Private malloc() area */ char *buf; /* Private malloc() area */
size_t bsize; /* Size of private malloc() */ size_t bsize; /* Size of private malloc() */
} im_buffer_t; } im_buffer_t;
void im_buffer_done( im_buffer_t *buffer ); void im_buffer_done( im_buffer_t *buffer );
void im_buffer_undone( im_buffer_t *buffer ); void im_buffer_undone( im_buffer_t *buffer );
void im_buffer_unref( im_buffer_t *buffer ); void im_buffer_unref( im_buffer_t *buffer );
im_buffer_t *im_buffer_new( struct _VipsImage *im, Rect *area );
im_buffer_t *im_buffer_ref( struct _VipsImage *im, Rect *area ); im_buffer_t *im_buffer_ref( struct _VipsImage *im, Rect *area );
im_buffer_t *im_buffer_unref_ref( im_buffer_t *buffer, im_buffer_t *im_buffer_unref_ref( im_buffer_t *buffer,
struct _VipsImage *im, Rect *area ); struct _VipsImage *im, Rect *area );
void im_buffer_print( im_buffer_t *buffer ); void im_buffer_print( im_buffer_t *buffer );
/* Sections of region.h that are private to VIPS. /* Sections of region.h that are private to VIPS.
*/ */
/* Region types. /* Region types.
*/ */
 End of changes. 5 change blocks. 
10 lines changed or deleted 12 lines changed or added


 region.h   region.h 
skipping to change at line 68 skipping to change at line 68
*/ */
GThread *thread; GThread *thread;
/* Ref to the window we use for this region, if any. /* Ref to the window we use for this region, if any.
*/ */
im_window_t *window; im_window_t *window;
/* Ref to the buffer we use for this region, if any. /* Ref to the buffer we use for this region, if any.
*/ */
im_buffer_t *buffer; im_buffer_t *buffer;
/* The image this region is on has changed and caches need to be
* dropped.
*/
gboolean invalid;
} REGION; } REGION;
REGION *im_region_create( IMAGE *im ); REGION *im_region_create( IMAGE *im );
void im_region_free( REGION *reg ); void im_region_free( REGION *reg );
int im_region_buffer( REGION *reg, Rect *r ); int im_region_buffer( REGION *reg, Rect *r );
int im_region_image( REGION *reg, Rect *r ); int im_region_image( REGION *reg, Rect *r );
int im_region_region( REGION *reg, REGION *to, Rect *r, int x, int y ); int im_region_region( REGION *reg, REGION *to, Rect *r, int x, int y );
int im_region_equalsregion( REGION *reg1, REGION *reg2 ); int im_region_equalsregion( REGION *reg1, REGION *reg2 );
int im_region_position( REGION *reg1, int x, int y ); int im_region_position( REGION *reg1, int x, int y );
void im_region_paint( REGION *reg, Rect *r, int value );
void im_region_black( REGION *reg );
void im_region_copy( REGION *reg, REGION *dest, Rect *r, int x, int y );
/* Macros on REGIONs. /* Macros on REGIONs.
* IM_REGION_LSKIP() add to move down line * IM_REGION_LSKIP() add to move down line
* IM_REGION_N_ELEMENTS() number of elements across region * IM_REGION_N_ELEMENTS() number of elements across region
* IM_REGION_SIZEOF_LINE() sizeof width of region * IM_REGION_SIZEOF_LINE() sizeof width of region
* IM_REGION_ADDR() address of pixel in region * IM_REGION_ADDR() address of pixel in region
*/ */
#define IM_REGION_LSKIP(R) \ #define IM_REGION_LSKIP(R) \
((size_t)((R)->bpl)) ((size_t)((R)->bpl))
#define IM_REGION_N_ELEMENTS(R) \ #define IM_REGION_N_ELEMENTS(R) \
((size_t)((R)->valid.width * (R)->im->Bands)) ((size_t)((R)->valid.width * (R)->im->Bands))
 End of changes. 2 change blocks. 
0 lines changed or deleted 9 lines changed or added


 util.h   util.h 
skipping to change at line 59 skipping to change at line 59
#define IM_RAD( r ) (((r) / 360.0) * 2.0 * IM_PI) #define IM_RAD( r ) (((r) / 360.0) * 2.0 * IM_PI)
#define IM_DEG( a ) (((a) / (2.0 * IM_PI)) * 360.0) #define IM_DEG( a ) (((a) / (2.0 * IM_PI)) * 360.0)
#define IM_MAX(A,B) ((A)>(B)?(A):(B)) #define IM_MAX(A,B) ((A)>(B)?(A):(B))
#define IM_MIN(A,B) ((A)<(B)?(A):(B)) #define IM_MIN(A,B) ((A)<(B)?(A):(B))
#define IM_ABS(x) (((x) >= 0) ? (x) : -(x)) #define IM_ABS(x) (((x) >= 0) ? (x) : -(x))
#define IM_CLIP(A,V,B) IM_MAX( (A), IM_MIN( (B), (V) ) ) #define IM_CLIP(A,V,B) IM_MAX( (A), IM_MIN( (B), (V) ) )
#define IM_NUMBER(R) ((int)(sizeof(R)/sizeof(R[0]))) #define IM_NUMBER(R) ((int)(sizeof(R)/sizeof(R[0])))
#define IM_FREEF( F, S ) do { \ #define IM_FREEF( F, S ) \
G_STMT_START \
if( S ) { \ if( S ) { \
(void) F( (S) ); \ (void) F( (S) ); \
(S) = 0; \ (S) = 0; \
} \ } \
} while( 0 ) G_STMT_END
/* Can't just use IM_FREEF(), we want the extra cast to void on the argumen t /* Can't just use IM_FREEF(), we want the extra cast to void on the argumen t
* to im_free() to make sure we can work for "const char *" variables. * to im_free() to make sure we can work for "const char *" variables.
*/ */
#define IM_FREE( S ) do { \ #define IM_FREE( S ) \
G_STMT_START \
if( S ) { \ if( S ) { \
(void) im_free( (void *) (S) ); \ (void) im_free( (void *) (S) ); \
(S) = 0; \ (S) = 0; \
} \ } \
} while( 0 ) G_STMT_END
#define IM_SETSTR( S, V ) do { \ #define IM_SETSTR( S, V ) \
G_STMT_START { \
const char *sst = (V); \ const char *sst = (V); \
\ \
if( (S) != sst ) { \ if( (S) != sst ) { \
if( !(S) || !sst || strcmp( (S), sst ) != 0 ) { \ if( !(S) || !sst || strcmp( (S), sst ) != 0 ) { \
IM_FREE( S ); \ IM_FREE( S ); \
if( sst ) \ if( sst ) \
(S) = im_strdup( NULL, sst ); \ (S) = im_strdup( NULL, sst ); \
} \ } \
} \ } \
} while( 0 ) } G_STMT_END
/* Duff's device. Do OPERation N times in a 16-way unrolled loop. /* Duff's device. Do OPERation N times in a 16-way unrolled loop.
*/ */
#define IM_UNROLL( N, OPER ) { \ #define IM_UNROLL( N, OPER ) { \
if( (N) ) { \ if( (N) ) { \
int duff_count = ((N) + 15) / 16; \ int duff_count = ((N) + 15) / 16; \
\ \
switch( (N) % 16 ) { \ switch( (N) % 16 ) { \
case 0: do { OPER; \ case 0: do { OPER; \
case 15: OPER; \ case 15: OPER; \
skipping to change at line 116 skipping to change at line 119
case 5: OPER; \ case 5: OPER; \
case 4: OPER; \ case 4: OPER; \
case 3: OPER; \ case 3: OPER; \
case 2: OPER; \ case 2: OPER; \
case 1: OPER; \ case 1: OPER; \
} while( --duff_count > 0 ); \ } while( --duff_count > 0 ); \
} \ } \
} \ } \
} }
/* Round a float to the nearest integer. This should give an identical resu /* Round a float to the nearest integer. Much faster than rint().
lt
* to the math.h rint() function (and the old SunOS nint() function), but b
e
* much faster. Beware: it evaluates its argument more than once, so don't
use
* ++!
*/ */
#define IM_RINT( R ) ((int)((R)>0?((R)+0.5):((R)-0.5))) #define IM_RINT( R ) ((int)((R)>0?((R)+0.5):((R)-0.5)))
/* Various integer range clips. Record over/under flows. /* Various integer range clips. Record over/under flows.
*/ */
#define IM_CLIP_UCHAR( V, SEQ ) { \ #define IM_CLIP_UCHAR( V, SEQ ) { \
if( (V) < 0 ) { \ if( (V) < 0 ) { \
(SEQ)->underflow++; \ (SEQ)->underflow++; \
(V) = 0; \ (V) = 0; \
} \ } \
skipping to change at line 231 skipping to change at line 231
const char *im_skip_dir( const char *filename ); const char *im_skip_dir( const char *filename );
void im_filename_split( const char *path, char *name, char *mode ); void im_filename_split( const char *path, char *name, char *mode );
void im_filename_suffix( const char *path, char *suffix ); void im_filename_suffix( const char *path, char *suffix );
int im_filename_suffix_match( const char *path, const char *suffixes[] ); int im_filename_suffix_match( const char *path, const char *suffixes[] );
char *im_getnextoption( char **in ); char *im_getnextoption( char **in );
char *im_getsuboption( const char *buf ); char *im_getsuboption( const char *buf );
gint64 im_file_length( int fd ); gint64 im_file_length( int fd );
int im__write( int fd, const void *buf, size_t count ); int im__write( int fd, const void *buf, size_t count );
FILE *im__file_open_read( const char *filename ); FILE *im__file_open_read( const char *filename, const char *fallback_dir );
FILE *im__file_open_write( const char *filename ); FILE *im__file_open_write( const char *filename );
char *im__file_read( FILE *fp, const char *name, unsigned int *length_out ) ; char *im__file_read( FILE *fp, const char *name, unsigned int *length_out ) ;
char *im__file_read_name( const char *name, unsigned int *length_out ); char *im__file_read_name( const char *name, const char *fallback_dir,
unsigned int *length_out );
int im__file_write( void *data, size_t size, size_t nmemb, FILE *stream ); int im__file_write( void *data, size_t size, size_t nmemb, FILE *stream );
typedef enum { typedef enum {
VIPS_TOKEN_LEFT = 1, /* ({[ */ VIPS_TOKEN_LEFT = 1, /* ({[ */
VIPS_TOKEN_RIGHT, /* ]}) */ VIPS_TOKEN_RIGHT, /* ]}) */
VIPS_TOKEN_STRING, /* string or "str\"ing" */ VIPS_TOKEN_STRING, /* string or "str\"ing" */
VIPS_TOKEN_EQUALS, /* = */ VIPS_TOKEN_EQUALS, /* = */
VIPS_TOKEN_COMMA /* , */ VIPS_TOKEN_COMMA /* , */
} VipsToken; } VipsToken;
const char *vips__token_get( const char *buffer, const char *vips__token_get( const char *buffer,
VipsToken *token, char *string, int size ); VipsToken *token, char *string, int size );
const char *vips__token_must( const char *buffer, VipsToken *token, const char *vips__token_must( const char *buffer, VipsToken *token,
char *string, int size ); char *string, int size );
const char *vips__token_need( const char *buffer, VipsToken need_token, const char *vips__token_need( const char *buffer, VipsToken need_token,
char *string, int size ); char *string, int size );
int im_existsf( const char *name, ... ) int im_existsf( const char *name, ... )
__attribute__((format(printf, 1, 2))); __attribute__((format(printf, 1, 2)));
FILE *im_popenf( const char *fmt, const char *mode, ... )
__attribute__((format(printf, 1, 3)));
int im_ispoweroftwo( int p ); int im_ispoweroftwo( int p );
int im_isvips( const char *filename ); int im_isvips( const char *filename );
int im_amiMSBfirst( void ); int im_amiMSBfirst( void );
IMAGE *im__open_temp( void ); char *im__temp_name( const char *format );
IMAGE *im__open_temp( const char *format );
int im_bits_of_fmt( VipsBandFmt fmt ); int im_bits_of_fmt( VipsBandFmt fmt );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*IM_UTIL_H*/ #endif /*IM_UTIL_H*/
 End of changes. 11 change blocks. 
16 lines changed or deleted 17 lines changed or added


 version.h   version.h 
/* Macros for the header version. /* Macros for the header version.
*/ */
#ifndef IM_VERSION_H #ifndef IM_VERSION_H
#define IM_VERSION_H #define IM_VERSION_H
#define IM_VERSION "7.20.7" #define IM_VERSION "7.22.0"
#define IM_VERSION_STRING "7.20.7-Tue Jan 21 00:49:39 MSK 2014" #define IM_VERSION_STRING "7.22.0-Tue Jan 21 00:47:39 MSK 2014"
#define IM_MAJOR_VERSION (7) #define IM_MAJOR_VERSION (7)
#define IM_MINOR_VERSION (20) #define IM_MINOR_VERSION (22)
#define IM_MICRO_VERSION (7) #define IM_MICRO_VERSION (0)
#define IM_INTERFACE_AGE (@IM_INTERFACE_AGE@) #define IM_INTERFACE_AGE (@IM_INTERFACE_AGE@)
#define IM_BINARY_AGE (@IM_BINARY_AGE@) #define IM_BINARY_AGE (@IM_BINARY_AGE@)
#endif /*IM_VERSION_H*/ #endif /*IM_VERSION_H*/
 End of changes. 2 change blocks. 
4 lines changed or deleted 4 lines changed or added


 vips.h   vips.h 
skipping to change at line 85 skipping to change at line 85
*/ */
#ifndef IM_VIPS_H #ifndef IM_VIPS_H
#define IM_VIPS_H #define IM_VIPS_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#include <glib.h> #include <glib.h>
#include <glib/gstdio.h>
#include <gmodule.h> #include <gmodule.h>
#include <glib-object.h> #include <glib-object.h>
/* If we're being parsed by SWIG, remove gcc attributes. /* If we're being parsed by SWIG, remove gcc attributes.
*/ */
#ifdef SWIG #ifdef SWIG
# ifndef __attribute__ # ifndef __attribute__
# define __attribute__(x) /*NOTHING*/ # define __attribute__(x) /*NOTHING*/
# endif # endif
#endif /*SWIG*/ #endif /*SWIG*/
skipping to change at line 118 skipping to change at line 119
#include <vips/callback.h> #include <vips/callback.h>
#include <vips/error.h> #include <vips/error.h>
#include <vips/util.h> #include <vips/util.h>
#include <vips/format.h> #include <vips/format.h>
#include <vips/dispatch.h> #include <vips/dispatch.h>
#include <vips/region.h> #include <vips/region.h>
#include <vips/generate.h> #include <vips/generate.h>
#include <vips/check.h> #include <vips/check.h>
#include <vips/interpolate.h> #include <vips/interpolate.h>
#include <vips/semaphore.h> #include <vips/semaphore.h>
#include <vips/threadgroup.h> #include <vips/threadpool.h>
#include <vips/meta.h> #include <vips/meta.h>
#include <vips/header.h> #include <vips/header.h>
#include <vips/arithmetic.h> #include <vips/arithmetic.h>
#include <vips/boolean.h> #include <vips/boolean.h>
#include <vips/relational.h> #include <vips/relational.h>
#include <vips/conversion.h> #include <vips/conversion.h>
#include <vips/convolution.h> #include <vips/convolution.h>
#include <vips/morphology.h> #include <vips/morphology.h>
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 vipsc++.h   vipsc++.h 
// headers for package arithmetic // headers for package arithmetic
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage abs() throw( VError ); VImage abs() throw( VError );
VImage acos() throw( VError ); VImage acos() throw( VError );
VImage add( VImage ) throw( VError ); VImage add( VImage ) throw( VError );
VImage asin() throw( VError ); VImage asin() throw( VError );
VImage atan() throw( VError ); VImage atan() throw( VError );
double avg() throw( VError ); double avg() throw( VError );
double point_bilinear( double, double, int ) throw( VError ); double point_bilinear( double, double, int ) throw( VError );
VImage bandmean() throw( VError ); VImage bandmean() throw( VError );
VImage ceil() throw( VError ); VImage ceil() throw( VError );
VImage cmulnorm( VImage ) throw( VError );
VImage cos() throw( VError ); VImage cos() throw( VError );
VImage cross_phase( VImage ) throw( VError ); VImage cross_phase( VImage ) throw( VError );
double deviate() throw( VError ); double deviate() throw( VError );
VImage divide( VImage ) throw( VError ); VImage divide( VImage ) throw( VError );
VImage exp10() throw( VError ); VImage exp10() throw( VError );
VImage expn( double ) throw( VError ); VImage expn( double ) throw( VError );
VImage expn( std::vector<double> ) throw( VError ); VImage expn( std::vector<double> ) throw( VError );
VImage exp() throw( VError ); VImage exp() throw( VError );
VImage fav4( VImage, VImage, VImage ) throw( VError );
VImage floor() throw( VError ); VImage floor() throw( VError );
VImage gadd( double, double, VImage, double ) throw( VError );
VImage invert() throw( VError ); VImage invert() throw( VError );
VImage lin( double, double ) throw( VError ); VImage lin( double, double ) throw( VError );
static VImage linreg( std::vector<VImage>, std::vector<double> ) throw( VEr ror ); static VImage linreg( std::vector<VImage>, std::vector<double> ) throw( VEr ror );
VImage lin( std::vector<double>, std::vector<double> ) throw( VError ); VImage lin( std::vector<double>, std::vector<double> ) throw( VError );
VImage litecor( VImage, int, double ) throw( VError );
VImage log10() throw( VError ); VImage log10() throw( VError );
VImage log() throw( VError ); VImage log() throw( VError );
double max() throw( VError ); double max() throw( VError );
std::complex<double> maxpos() throw( VError ); std::complex<double> maxpos() throw( VError );
double maxpos_avg( double&, double& ) throw( VError ); double maxpos_avg( double&, double& ) throw( VError );
VDMask measure( int, int, int, int, int, int ) throw( VError ); VDMask measure( int, int, int, int, int, int ) throw( VError );
double min() throw( VError ); double min() throw( VError );
std::complex<double> minpos() throw( VError ); std::complex<double> minpos() throw( VError );
VImage multiply( VImage ) throw( VError ); VImage multiply( VImage ) throw( VError );
VImage pow( double ) throw( VError ); VImage pow( double ) throw( VError );
VImage pow( std::vector<double> ) throw( VError ); VImage pow( std::vector<double> ) throw( VError );
VImage recomb( VDMask ) throw( VError );
VImage remainder( VImage ) throw( VError ); VImage remainder( VImage ) throw( VError );
VImage remainder( double ) throw( VError ); VImage remainder( double ) throw( VError );
VImage remainder( std::vector<double> ) throw( VError ); VImage remainder( std::vector<double> ) throw( VError );
VImage rint() throw( VError ); VImage rint() throw( VError );
VImage sign() throw( VError ); VImage sign() throw( VError );
VImage sin() throw( VError ); VImage sin() throw( VError );
VDMask stats() throw( VError ); VDMask stats() throw( VError );
VImage subtract( VImage ) throw( VError ); VImage subtract( VImage ) throw( VError );
VImage tan() throw( VError ); VImage tan() throw( VError );
// headers for package boolean // headers for package boolean
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage andimage( VImage ) throw( VError ); VImage andimage( VImage ) throw( VError );
VImage andimage( int ) throw( VError ); VImage andimage( int ) throw( VError );
VImage andimage( std::vector<double> ) throw( VError ); VImage andimage( std::vector<double> ) throw( VError );
VImage orimage( VImage ) throw( VError ); VImage orimage( VImage ) throw( VError );
VImage orimage( int ) throw( VError ); VImage orimage( int ) throw( VError );
VImage orimage( std::vector<double> ) throw( VError ); VImage orimage( std::vector<double> ) throw( VError );
VImage eorimage( VImage ) throw( VError ); VImage eorimage( VImage ) throw( VError );
VImage eorimage( int ) throw( VError ); VImage eorimage( int ) throw( VError );
VImage eorimage( std::vector<double> ) throw( VError ); VImage eorimage( std::vector<double> ) throw( VError );
VImage shiftleft( std::vector<double> ) throw( VError );
VImage shiftleft( int ) throw( VError ); VImage shiftleft( int ) throw( VError );
VImage shiftright( std::vector<double> ) throw( VError );
VImage shiftright( int ) throw( VError ); VImage shiftright( int ) throw( VError );
// headers for package cimg // headers for package cimg
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage greyc( int, double, double, double, double, double, double, double, double, int, int ) throw( VError ); VImage greyc( int, double, double, double, double, double, double, double, double, int, int ) throw( VError );
VImage greyc_mask( VImage, int, double, double, double, double, double, dou ble, double, double, int, int ) throw( VError ); VImage greyc_mask( VImage, int, double, double, double, double, double, dou ble, double, double, int, int ) throw( VError );
// headers for package colour // headers for package colour
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage LCh2Lab() throw( VError ); VImage LCh2Lab() throw( VError );
VImage LCh2UCS() throw( VError ); VImage LCh2UCS() throw( VError );
VImage Lab2LCh() throw( VError ); VImage Lab2LCh() throw( VError );
VImage Lab2LabQ() throw( VError ); VImage Lab2LabQ() throw( VError );
VImage Lab2LabS() throw( VError ); VImage Lab2LabS() throw( VError );
VImage Lab2UCS() throw( VError ); VImage Lab2UCS() throw( VError );
VImage Lab2XYZ() throw( VError ); VImage Lab2XYZ() throw( VError );
VImage Lab2XYZ_temp( double, double, double ) throw( VError ); VImage Lab2XYZ_temp( double, double, double ) throw( VError );
VImage Lab2disp( VDisplay ) throw( VError ); VImage Lab2disp( VDisplay ) throw( VError );
VImage LabQ2LabS() throw( VError ); VImage LabQ2LabS() throw( VError );
skipping to change at line 110 skipping to change at line 111
VImage dE00_fromLab( VImage ) throw( VError ); VImage dE00_fromLab( VImage ) throw( VError );
VImage dECMC_fromLab( VImage ) throw( VError ); VImage dECMC_fromLab( VImage ) throw( VError );
VImage dECMC_fromdisp( VImage, VDisplay ) throw( VError ); VImage dECMC_fromdisp( VImage, VDisplay ) throw( VError );
VImage dE_fromLab( VImage ) throw( VError ); VImage dE_fromLab( VImage ) throw( VError );
VImage dE_fromXYZ( VImage ) throw( VError ); VImage dE_fromXYZ( VImage ) throw( VError );
VImage dE_fromdisp( VImage, VDisplay ) throw( VError ); VImage dE_fromdisp( VImage, VDisplay ) throw( VError );
VImage disp2Lab( VDisplay ) throw( VError ); VImage disp2Lab( VDisplay ) throw( VError );
VImage disp2XYZ( VDisplay ) throw( VError ); VImage disp2XYZ( VDisplay ) throw( VError );
VImage float2rad() throw( VError ); VImage float2rad() throw( VError );
VImage icc_ac2rc( char* ) throw( VError ); VImage icc_ac2rc( char* ) throw( VError );
VImage icc_export( char*, int ) throw( VError );
VImage icc_export_depth( int, char*, int ) throw( VError ); VImage icc_export_depth( int, char*, int ) throw( VError );
VImage icc_import( char*, int ) throw( VError ); VImage icc_import( char*, int ) throw( VError );
VImage icc_import_embedded( int ) throw( VError ); VImage icc_import_embedded( int ) throw( VError );
VImage icc_transform( char*, char*, int ) throw( VError ); VImage icc_transform( char*, char*, int ) throw( VError );
VImage lab_morph( VDMask, double, double, double, double ) throw( VError ); VImage lab_morph( VDMask, double, double, double, double ) throw( VError );
VImage rad2float() throw( VError ); VImage rad2float() throw( VError );
VImage sRGB2XYZ() throw( VError ); VImage sRGB2XYZ() throw( VError );
// headers for package conversion // headers for package conversion
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage addgnoise( double ) throw( VError );
static VImage gaussnoise( int, int, double, double ) throw( VError );
VImage bandjoin( VImage ) throw( VError ); VImage bandjoin( VImage ) throw( VError );
static VImage black( int, int, int ) throw( VError ); static VImage black( int, int, int ) throw( VError );
VImage c2amph() throw( VError ); VImage c2amph() throw( VError );
VImage c2imag() throw( VError ); VImage c2imag() throw( VError );
VImage c2ps() throw( VError ); VImage c2ps() throw( VError );
VImage c2real() throw( VError ); VImage c2real() throw( VError );
VImage c2rect() throw( VError ); VImage c2rect() throw( VError );
VImage clip() throw( VError ); VImage clip2c() throw( VError );
VImage clip2cm() throw( VError );
VImage clip2d() throw( VError );
VImage clip2dcm() throw( VError );
VImage clip2f() throw( VError );
VImage clip2fmt( int ) throw( VError ); VImage clip2fmt( int ) throw( VError );
VImage clip2i() throw( VError );
VImage clip2s() throw( VError );
VImage clip2ui() throw( VError );
VImage clip2us() throw( VError );
VImage clip() throw( VError );
VImage copy() throw( VError ); VImage copy() throw( VError );
VImage copy_file() throw( VError );
VImage copy_morph( int, int, int ) throw( VError ); VImage copy_morph( int, int, int ) throw( VError );
VImage copy_swap() throw( VError ); VImage copy_swap() throw( VError );
VImage copy_( int, double, double, int, int ) throw( VError ); VImage copy_set( int, double, double, int, int ) throw( VError );
VImage extract_area( int, int, int, int ) throw( VError ); VImage extract_area( int, int, int, int ) throw( VError );
VImage extract_areabands( int, int, int, int, int, int ) throw( VError ); VImage extract_areabands( int, int, int, int, int, int ) throw( VError );
VImage extract_band( int ) throw( VError ); VImage extract_band( int ) throw( VError );
VImage extract_bands( int, int ) throw( VError ); VImage extract_bands( int, int ) throw( VError );
VImage extract( int, int, int, int, int ) throw( VError ); VImage extract( int, int, int, int, int ) throw( VError );
VImage falsecolour() throw( VError ); VImage falsecolour() throw( VError );
VImage fliphor() throw( VError ); VImage fliphor() throw( VError );
VImage flipver() throw( VError ); VImage flipver() throw( VError );
static VImage gbandjoin( std::vector<VImage> ) throw( VError ); static VImage gbandjoin( std::vector<VImage> ) throw( VError );
VImage grid( int, int, int ) throw( VError ); VImage grid( int, int, int ) throw( VError );
VImage insert( VImage, int, int ) throw( VError ); VImage insert( VImage, int, int ) throw( VError );
VImage insert( VImage, std::vector<int>, std::vector<int> ) throw( VError ) ;
VImage insert_noexpand( VImage, int, int ) throw( VError ); VImage insert_noexpand( VImage, int, int ) throw( VError );
VImage embed( int, int, int, int, int ) throw( VError );
VImage lrjoin( VImage ) throw( VError ); VImage lrjoin( VImage ) throw( VError );
static VImage mask2vips( VDMask ) throw( VError ); static VImage mask2vips( VDMask ) throw( VError );
VImage msb() throw( VError ); VImage msb() throw( VError );
VImage msb_band( int ) throw( VError ); VImage msb_band( int ) throw( VError );
VImage recomb( VDMask ) throw( VError );
VImage replicate( int, int ) throw( VError ); VImage replicate( int, int ) throw( VError );
VImage ri2c( VImage ) throw( VError ); VImage ri2c( VImage ) throw( VError );
VImage rot180() throw( VError ); VImage rot180() throw( VError );
VImage rot270() throw( VError ); VImage rot270() throw( VError );
VImage rot90() throw( VError ); VImage rot90() throw( VError );
VImage scale() throw( VError ); VImage scale() throw( VError );
VImage scaleps() throw( VError ); VImage scaleps() throw( VError );
VImage rightshift_size( int, int, int ) throw( VError );
VImage slice( double, double ) throw( VError );
VImage subsample( int, int ) throw( VError ); VImage subsample( int, int ) throw( VError );
char* system( char* ) throw( VError ); char* system( char* ) throw( VError );
VImage tbjoin( VImage ) throw( VError ); VImage tbjoin( VImage ) throw( VError );
static VImage text( char*, char*, int, int, int ) throw( VError ); static VImage text( char*, char*, int, int, int ) throw( VError );
VImage thresh( double ) throw( VError );
VDMask vips2mask() throw( VError ); VDMask vips2mask() throw( VError );
VImage wrap( int, int ) throw( VError ); VImage wrap( int, int ) throw( VError );
VImage zoom( int, int ) throw( VError ); VImage zoom( int, int ) throw( VError );
// headers for package convolution // headers for package convolution
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage addgnoise( double ) throw( VError );
VImage compass( VIMask ) throw( VError ); VImage compass( VIMask ) throw( VError );
VImage contrast_surface( int, int ) throw( VError ); VImage contrast_surface( int, int ) throw( VError );
VImage contrast_surface_raw( int, int ) throw( VError );
VImage conv( VIMask ) throw( VError ); VImage conv( VIMask ) throw( VError );
VImage conv( VDMask ) throw( VError ); VImage conv_raw( VIMask ) throw( VError );
VImage convf( VDMask ) throw( VError );
VImage convf_raw( VDMask ) throw( VError );
VImage convsep( VIMask ) throw( VError ); VImage convsep( VIMask ) throw( VError );
VImage convsep( VDMask ) throw( VError ); VImage convsep_raw( VIMask ) throw( VError );
VImage convsepf( VDMask ) throw( VError );
VImage convsepf_raw( VDMask ) throw( VError );
VImage convsub( VIMask, int, int ) throw( VError );
VImage embed( int, int, int, int, int ) throw( VError );
VImage fastcor( VImage ) throw( VError ); VImage fastcor( VImage ) throw( VError );
VImage gradcor( VImage ) throw( VError ); VImage fastcor_raw( VImage ) throw( VError );
VImage gradient( VIMask ) throw( VError ); static VImage gaussnoise( int, int, double, double ) throw( VError );
VImage grad_x() throw( VError ); VImage grad_x() throw( VError );
VImage grad_y() throw( VError ); VImage grad_y() throw( VError );
VImage gradcor( VImage ) throw( VError );
VImage gradcor_raw( VImage ) throw( VError );
VImage gradient( VIMask ) throw( VError );
static VImage rank_image( std::vector<VImage>, int ) throw( VError );
VImage lindetect( VIMask ) throw( VError ); VImage lindetect( VIMask ) throw( VError );
static VImage maxvalue( std::vector<VImage> ) throw( VError );
int mpercent( double ) throw( VError );
VImage phasecor_fft( VImage ) throw( VError );
VImage rank( int, int, int ) throw( VError );
VImage rank_raw( int, int, int ) throw( VError );
VImage resize_linear( int, int ) throw( VError );
VImage sharpen( int, double, double, double, double, double ) throw( VError ); VImage sharpen( int, double, double, double, double, double ) throw( VError );
VImage shrink( double, double ) throw( VError );
VImage spcor( VImage ) throw( VError ); VImage spcor( VImage ) throw( VError );
// headers for package deprecated
// this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010
VImage resize_linear( int, int ) throw( VError );
VImage cmulnorm( VImage ) throw( VError );
VImage fav4( VImage, VImage, VImage ) throw( VError );
VImage gadd( double, double, VImage, double ) throw( VError );
VImage icc_export( char*, int ) throw( VError );
VImage litecor( VImage, int, double ) throw( VError );
VImage affine( double, double, double, double, double, double, int, int, in
t, int ) throw( VError );
VImage clip2c() throw( VError );
VImage clip2cm() throw( VError );
VImage clip2d() throw( VError );
VImage clip2dcm() throw( VError );
VImage clip2f() throw( VError );
VImage clip2i() throw( VError );
VImage convsub( VIMask, int, int ) throw( VError );
VImage convf( VDMask ) throw( VError );
VImage convsepf( VDMask ) throw( VError );
VImage clip2s() throw( VError );
VImage clip2ui() throw( VError );
VImage insertplace( VImage, std::vector<int>, std::vector<int> ) throw( VEr
ror );
VImage clip2us() throw( VError );
VImage slice( double, double ) throw( VError );
VImage segment( int& ) throw( VError );
void line( int, int, int, int, int ) throw( VError );
VImage thresh( double ) throw( VError );
VImage convf_raw( VDMask ) throw( VError );
VImage conv_raw( VIMask ) throw( VError );
VImage contrast_surface_raw( int, int ) throw( VError );
VImage convsepf_raw( VDMask ) throw( VError );
VImage convsep_raw( VIMask ) throw( VError );
VImage fastcor_raw( VImage ) throw( VError );
VImage gradcor_raw( VImage ) throw( VError );
VImage spcor_raw( VImage ) throw( VError ); VImage spcor_raw( VImage ) throw( VError );
VImage lhisteq_raw( int, int ) throw( VError ); VImage stretch3( double, double ) throw( VError );
VImage stdif_raw( double, double, double, double, int, int ) throw( VError VImage zerox( int ) throw( VError );
);
VImage rank_raw( int, int, int ) throw( VError );
VImage dilate_raw( VIMask ) throw( VError );
VImage erode_raw( VIMask ) throw( VError );
VImage similarity_area( double, double, double, double, int, int, int, int
) throw( VError );
VImage similarity( double, double, double, double ) throw( VError );
// headers for package format // headers for package format
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
static VImage csv2vips( char* ) throw( VError ); static VImage csv2vips( char* ) throw( VError );
static VImage jpeg2vips( char* ) throw( VError ); static VImage jpeg2vips( char* ) throw( VError );
static VImage magick2vips( char* ) throw( VError ); static VImage magick2vips( char* ) throw( VError );
static VImage png2vips( char* ) throw( VError ); static VImage png2vips( char* ) throw( VError );
static VImage exr2vips( char* ) throw( VError ); static VImage exr2vips( char* ) throw( VError );
static VImage ppm2vips( char* ) throw( VError ); static VImage ppm2vips( char* ) throw( VError );
static VImage analyze2vips( char* ) throw( VError ); static VImage analyze2vips( char* ) throw( VError );
static VImage tiff2vips( char* ) throw( VError ); static VImage tiff2vips( char* ) throw( VError );
void vips2csv( char* ) throw( VError ); void vips2csv( char* ) throw( VError );
void vips2jpeg( char* ) throw( VError ); void vips2jpeg( char* ) throw( VError );
void vips2mimejpeg( int ) throw( VError ); void vips2mimejpeg( int ) throw( VError );
void vips2png( char* ) throw( VError ); void vips2png( char* ) throw( VError );
void vips2ppm( char* ) throw( VError ); void vips2ppm( char* ) throw( VError );
void vips2tiff( char* ) throw( VError ); void vips2tiff( char* ) throw( VError );
// headers for package freq_filt // headers for package freq_filt
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
static VImage create_fmask( int, int, int, double, double, double, double, double ) throw( VError ); static VImage create_fmask( int, int, int, double, double, double, double, double ) throw( VError );
VImage disp_ps() throw( VError ); VImage disp_ps() throw( VError );
VImage flt_image_freq( int, double, double, double, double, double ) throw( VError ); VImage flt_image_freq( int, double, double, double, double, double ) throw( VError );
static VImage fractsurf( int, double ) throw( VError ); static VImage fractsurf( int, double ) throw( VError );
VImage freqflt( VImage ) throw( VError ); VImage freqflt( VImage ) throw( VError );
VImage fwfft() throw( VError ); VImage fwfft() throw( VError );
VImage rotquad() throw( VError ); VImage rotquad() throw( VError );
VImage invfft() throw( VError ); VImage invfft() throw( VError );
VImage phasecor_fft( VImage ) throw( VError );
VImage invfftr() throw( VError ); VImage invfftr() throw( VError );
// headers for package histograms_lut // headers for package histograms_lut
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage gammacorrect( double ) throw( VError ); VImage gammacorrect( double ) throw( VError );
VImage heq( int ) throw( VError ); VImage heq( int ) throw( VError );
VImage hist( int ) throw( VError ); VImage hist( int ) throw( VError );
VImage histcum() throw( VError ); VImage histcum() throw( VError );
VImage histeq() throw( VError ); VImage histeq() throw( VError );
VImage hist_indexed( VImage ) throw( VError );
VImage histgr( int ) throw( VError ); VImage histgr( int ) throw( VError );
VImage histnD( int ) throw( VError ); VImage histnD( int ) throw( VError );
VImage histnorm() throw( VError ); VImage histnorm() throw( VError );
VImage histplot() throw( VError ); VImage histplot() throw( VError );
VImage histspec( VImage ) throw( VError ); VImage histspec( VImage ) throw( VError );
VImage hsp( VImage ) throw( VError ); VImage hsp( VImage ) throw( VError );
static VImage identity( int ) throw( VError ); static VImage identity( int ) throw( VError );
static VImage identity_ushort( int, int ) throw( VError ); static VImage identity_ushort( int, int ) throw( VError );
int ismonotonic() throw( VError ); int ismonotonic() throw( VError );
VImage lhisteq( int, int ) throw( VError ); VImage lhisteq( int, int ) throw( VError );
int mpercent( double ) throw( VError ); VImage lhisteq_raw( int, int ) throw( VError );
static VImage invertlut( VDMask, int ) throw( VError ); static VImage invertlut( VDMask, int ) throw( VError );
static VImage buildlut( VDMask ) throw( VError ); static VImage buildlut( VDMask ) throw( VError );
VImage maplut( VImage ) throw( VError ); VImage maplut( VImage ) throw( VError );
VImage project( VImage& ) throw( VError ); VImage project( VImage& ) throw( VError );
VImage stdif( double, double, double, double, int, int ) throw( VError ); VImage stdif( double, double, double, double, int, int ) throw( VError );
VImage stdif_raw( double, double, double, double, int, int ) throw( VError );
VImage tone_analyse( double, double, double, double, double, double ) throw ( VError ); VImage tone_analyse( double, double, double, double, double, double ) throw ( VError );
static VImage tone_build( double, double, double, double, double, double, d ouble, double ) throw( VError ); static VImage tone_build( double, double, double, double, double, double, d ouble, double ) throw( VError );
static VImage tone_build_range( int, int, double, double, double, double, d ouble, double, double, double ) throw( VError ); static VImage tone_build_range( int, int, double, double, double, double, d ouble, double, double, double ) throw( VError );
VImage tone_map( VImage ) throw( VError ); VImage tone_map( VImage ) throw( VError );
// headers for package inplace // headers for package inplace
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
void circle( int, int, int, int ) throw( VError ); void circle( int, int, int, int ) throw( VError );
VImage flood_blob_copy( int, int, std::vector<double> ) throw( VError ); VImage flood_blob_copy( int, int, std::vector<double> ) throw( VError );
VImage flood_other_copy( VImage, int, int, int ) throw( VError );
void insertplace( VImage, int, int ) throw( VError ); void insertplace( VImage, int, int ) throw( VError );
VImage line( VImage, VImage, std::vector<int>, std::vector<int>, std::vecto void line( int, int, int, int, int ) throw( VError );
r<int>, std::vector<int> ) throw( VError ); VImage lineset( VImage, VImage, std::vector<int>, std::vector<int>, std::ve
ctor<int>, std::vector<int> ) throw( VError );
// headers for package iofuncs // headers for package iofuncs
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
static VImage binfile( char*, int, int, int, int ) throw( VError ); static VImage binfile( char*, int, int, int, int ) throw( VError );
VImage cache( int, int, int ) throw( VError ); VImage cache( int, int, int ) throw( VError );
char* getext() throw( VError ); int header_get_type( char* ) throw( VError );
int header_get_typeof( char* ) throw( VError );
int header_int( char* ) throw( VError ); int header_int( char* ) throw( VError );
double header_double( char* ) throw( VError ); double header_double( char* ) throw( VError );
char* header_string( char* ) throw( VError ); char* header_string( char* ) throw( VError );
char* history_get() throw( VError );
void printdesc() throw( VError );
// headers for package mask // headers for package matrix
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
// headers for package morphology // headers for package morphology
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
double cntlines( int ) throw( VError ); double cntlines( int ) throw( VError );
VImage dilate( VIMask ) throw( VError ); VImage dilate( VIMask ) throw( VError );
VImage rank( int, int, int ) throw( VError ); VImage dilate_raw( VIMask ) throw( VError );
static VImage rank_image( std::vector<VImage>, int ) throw( VError );
static VImage maxvalue( std::vector<VImage> ) throw( VError );
VImage label_regions( int& ) throw( VError );
VImage zerox( int ) throw( VError );
VImage erode( VIMask ) throw( VError ); VImage erode( VIMask ) throw( VError );
VImage erode_raw( VIMask ) throw( VError );
VImage profile( int ) throw( VError ); VImage profile( int ) throw( VError );
// headers for package mosaicing // headers for package mosaicing
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage align_bands() throw( VError ); VImage align_bands() throw( VError );
double correl( VImage, int, int, int, int, int, int, int&, int& ) throw( VE rror ); double correl( VImage, int, int, int, int, int, int, int&, int& ) throw( VE rror );
int _find_lroverlap( VImage, int, int, int, int, int, int, int, int&, doubl e&, double&, double&, double& ) throw( VError ); int _find_lroverlap( VImage, int, int, int, int, int, int, int, int&, doubl e&, double&, double&, double& ) throw( VError );
int _find_tboverlap( VImage, int, int, int, int, int, int, int, int&, doubl e&, double&, double&, double& ) throw( VError ); int _find_tboverlap( VImage, int, int, int, int, int, int, int, int&, doubl e&, double&, double&, double& ) throw( VError );
VImage global_balance( double ) throw( VError ); VImage global_balance( double ) throw( VError );
VImage global_balancef( double ) throw( VError ); VImage global_balancef( double ) throw( VError );
VImage lrmerge( VImage, int, int, int ) throw( VError ); VImage lrmerge( VImage, int, int, int ) throw( VError );
VImage lrmerge1( VImage, int, int, int, int, int, int, int, int, int ) thro w( VError ); VImage lrmerge1( VImage, int, int, int, int, int, int, int, int, int ) thro w( VError );
VImage lrmosaic( VImage, int, int, int, int, int, int, int, int, int ) thro w( VError ); VImage lrmosaic( VImage, int, int, int, int, int, int, int, int, int ) thro w( VError );
VImage lrmosaic1( VImage, int, int, int, int, int, int, int, int, int, int, int, int, int ) throw( VError ); VImage lrmosaic1( VImage, int, int, int, int, int, int, int, int, int, int, int, int, int ) throw( VError );
skipping to change at line 356 skipping to change at line 338
VImage match_linear_search( VImage, int, int, int, int, int, int, int, int, int, int ) throw( VError ); VImage match_linear_search( VImage, int, int, int, int, int, int, int, int, int, int ) throw( VError );
double maxpos_subpel( double& ) throw( VError ); double maxpos_subpel( double& ) throw( VError );
VImage remosaic( char*, char* ) throw( VError ); VImage remosaic( char*, char* ) throw( VError );
VImage tbmerge( VImage, int, int, int ) throw( VError ); VImage tbmerge( VImage, int, int, int ) throw( VError );
VImage tbmerge1( VImage, int, int, int, int, int, int, int, int, int ) thro w( VError ); VImage tbmerge1( VImage, int, int, int, int, int, int, int, int, int ) thro w( VError );
VImage tbmosaic( VImage, int, int, int, int, int, int, int, int, int ) thro w( VError ); VImage tbmosaic( VImage, int, int, int, int, int, int, int, int, int ) thro w( VError );
VImage tbmosaic1( VImage, int, int, int, int, int, int, int, int, int, int, int, int, int ) throw( VError ); VImage tbmosaic1( VImage, int, int, int, int, int, int, int, int, int, int, int, int, int ) throw( VError );
// headers for package other // headers for package other
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage benchmark() throw( VError ); VImage benchmark() throw( VError );
double benchmark2() throw( VError ); double benchmark2() throw( VError );
VImage benchmarkn( int ) throw( VError ); VImage benchmarkn( int ) throw( VError );
static VImage eye( int, int, double ) throw( VError ); static VImage eye( int, int, double ) throw( VError );
static VImage grey( int, int ) throw( VError ); static VImage grey( int, int ) throw( VError );
static VImage feye( int, int, double ) throw( VError ); static VImage feye( int, int, double ) throw( VError );
static VImage fgrey( int, int ) throw( VError ); static VImage fgrey( int, int ) throw( VError );
static VImage fzone( int ) throw( VError ); static VImage fzone( int ) throw( VError );
static VImage make_xy( int, int ) throw( VError ); static VImage make_xy( int, int ) throw( VError );
static VImage zone( int ) throw( VError ); static VImage zone( int ) throw( VError );
// headers for package relational // headers for package relational
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage blend( VImage, VImage ) throw( VError ); VImage blend( VImage, VImage ) throw( VError );
VImage equal( VImage ) throw( VError ); VImage equal( VImage ) throw( VError );
VImage equal( std::vector<double> ) throw( VError ); VImage equal( std::vector<double> ) throw( VError );
VImage equal( double ) throw( VError ); VImage equal( double ) throw( VError );
VImage ifthenelse( VImage, VImage ) throw( VError ); VImage ifthenelse( VImage, VImage ) throw( VError );
VImage less( VImage ) throw( VError ); VImage less( VImage ) throw( VError );
VImage less( std::vector<double> ) throw( VError ); VImage less( std::vector<double> ) throw( VError );
VImage less( double ) throw( VError ); VImage less( double ) throw( VError );
VImage lesseq( VImage ) throw( VError ); VImage lesseq( VImage ) throw( VError );
VImage lesseq( std::vector<double> ) throw( VError ); VImage lesseq( std::vector<double> ) throw( VError );
skipping to change at line 394 skipping to change at line 376
VImage more( double ) throw( VError ); VImage more( double ) throw( VError );
VImage moreeq( VImage ) throw( VError ); VImage moreeq( VImage ) throw( VError );
VImage moreeq( std::vector<double> ) throw( VError ); VImage moreeq( std::vector<double> ) throw( VError );
VImage moreeq( double ) throw( VError ); VImage moreeq( double ) throw( VError );
VImage notequal( VImage ) throw( VError ); VImage notequal( VImage ) throw( VError );
VImage notequal( std::vector<double> ) throw( VError ); VImage notequal( std::vector<double> ) throw( VError );
VImage notequal( double ) throw( VError ); VImage notequal( double ) throw( VError );
// headers for package resample // headers for package resample
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
VImage rightshift_size( int, int, int ) throw( VError ); VImage affine( double, double, double, double, double, double, int, int, in
VImage shrink( double, double ) throw( VError ); t, int ) throw( VError );
VImage stretch3( double, double ) throw( VError ); VImage similarity_area( double, double, double, double, int, int, int, int
) throw( VError );
VImage similarity( double, double, double, double ) throw( VError );
// headers for package video // headers for package video
// this file automatically generated from // this file automatically generated from
// VIPS library 7.20.7-Wed Jan 13 11:47:21 GMT 2010 // VIPS library 7.18.1-Tue Sep 8 04:54:03 UTC 2009
static VImage video_test( int, int ) throw( VError ); static VImage video_test( int, int ) throw( VError );
static VImage video_v4l1( char*, int, int, int, int, int, int ) throw( VErr or ); static VImage video_v4l1( char*, int, int, int, int, int, int ) throw( VErr or );
 End of changes. 55 change blocks. 
97 lines changed or deleted 77 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/