phew all done

iofuncs is now all on the vips_ namespace, and all revised, hopefully
This commit is contained in:
John Cupitt 2011-03-28 17:18:06 +01:00
parent 4120f7b296
commit 8ddc805878
31 changed files with 270 additions and 272 deletions

View File

@ -3,7 +3,7 @@
if ENABLE_CXX
C_COMPILE_DIR = libvipsCC
C_DIST_DIR =
C_PKGCONFIG = vipsCC-7.${IM_MINOR_VERSION}.pc
C_PKGCONFIG = vipsCC-7.${VIPS_MINOR_VERSION}.pc
# turn on Python if we can (requires C++)
if HAVE_PYTHON
@ -31,15 +31,15 @@ EXTRA_DIST = \
m4 \
benchmark \
bootstrap.sh \
vips-7.${IM_MINOR_VERSION}.pc.in \
vipsCC-7.${IM_MINOR_VERSION}.pc.in \
vips-7.${VIPS_MINOR_VERSION}.pc.in \
vipsCC-7.${VIPS_MINOR_VERSION}.pc.in \
acinclude.m4 \
depcomp \
$(C_DIST_DIR) \
$(P_DIST_DIR)
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = vips-7.${IM_MINOR_VERSION}.pc $(C_PKGCONFIG)
pkgconfig_DATA = vips-7.${VIPS_MINOR_VERSION}.pc $(C_PKGCONFIG)
install-exec-hook:
-rm -rf ${DESTDIR}$(datadir)/doc/vips

View File

@ -10,13 +10,13 @@ m4_define([vips_micro_version], [0])
m4_define([vips_version],
[vips_major_version.vips_minor_version.vips_micro_version])
IM_MAJOR_VERSION=vips_major_version
IM_MINOR_VERSION=vips_minor_version
IM_MICRO_VERSION=vips_micro_version
IM_VERSION=vips_version()
IM_VERSION_STRING=$IM_VERSION-`date`
VIPS_MAJOR_VERSION=vips_major_version
VIPS_MINOR_VERSION=vips_minor_version
VIPS_MICRO_VERSION=vips_micro_version
VIPS_VERSION=vips_version()
VIPS_VERSION_STRING=$VIPS_VERSION-`date`
VERSION=$IM_VERSION
VERSION=$VIPS_VERSION
PACKAGE=vips
# libtool library versioning ... not user-visible (except as part of the
@ -35,11 +35,11 @@ LIBRARY_AGE=15
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
# patched into include/vips/version.h
AC_SUBST(IM_VERSION)
AC_SUBST(IM_VERSION_STRING)
AC_SUBST(IM_MAJOR_VERSION)
AC_SUBST(IM_MINOR_VERSION)
AC_SUBST(IM_MICRO_VERSION)
AC_SUBST(VIPS_VERSION)
AC_SUBST(VIPS_VERSION_STRING)
AC_SUBST(VIPS_MAJOR_VERSION)
AC_SUBST(VIPS_MINOR_VERSION)
AC_SUBST(VIPS_MICRO_VERSION)
# put into library name by libsrc/Makefile.am and libsrcCC/Makefile.am
AC_SUBST(LIBRARY_CURRENT)
@ -173,7 +173,7 @@ fi
# we need a fully expanded version of $libdir
# without this we get something like
# define IM_LIBDIR ${exec_prefix}/lib
# define VIPS_LIBDIR ${exec_prefix}/lib
# argh
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
@ -187,13 +187,13 @@ expand () {
}
expand $libdir
IM_LIBDIR=$expanded_value
VIPS_LIBDIR=$expanded_value
# vips.c/im_guess_prefix.c need to know the exe suffix and (as a fallback)
# the configure-time install prefix
AC_DEFINE_UNQUOTED(IM_EXEEXT,"$EXEEXT",[extension for executable files])
AC_DEFINE_UNQUOTED(IM_PREFIX,"$prefix",[configure-time install prefix])
AC_DEFINE_UNQUOTED(IM_LIBDIR,"$IM_LIBDIR",[configure-time library directory])
AC_DEFINE_UNQUOTED(VIPS_EXEEXT,"$EXEEXT",[extension for executable files])
AC_DEFINE_UNQUOTED(VIPS_PREFIX,"$prefix",[configure-time install prefix])
AC_DEFINE_UNQUOTED(VIPS_LIBDIR,"$VIPS_LIBDIR",[configure-time library directory])
# i18n
GETTEXT_PACKAGE=vips7
@ -601,7 +601,7 @@ VIPS_LIBS="$MAGICK_LIBS $PNG_LIBS $TIFF_LIBS $ZIP_LIBS $JPEG_LIBS $GTHREAD_LIBS
# we need this to generate paths in swig/python/setup.py.in
AC_SUBST(top_srcdir)
AC_SUBST(IM_LIBDIR)
AC_SUBST(VIPS_LIBDIR)
AC_SUBST(VIPS_CFLAGS)
AC_SUBST(VIPS_INCLUDES)
@ -610,7 +610,7 @@ AC_SUBST(VIPS_CXX_LIBS)
AC_SUBST(PACKAGES_USED)
# you'd think we could have
# vips-$IM_MAJOR_VERSION.$IM_MINOR_VERSION.pc
# vips-$VIPS_MAJOR_VERSION.$VIPS_MINOR_VERSION.pc
# in AC_OUTPUT, but that seems to break for some combinations of sh/m4
AC_OUTPUT([
vips-7.25.pc

View File

@ -27,8 +27,8 @@
*/
#ifndef IM_DEBUG_H
#define IM_DEBUG_H
#ifndef VIPS_DEBUG_H
#define VIPS_DEBUG_H
#ifdef __cplusplus
extern "C" {
@ -70,4 +70,4 @@ extern "C" {
}
#endif /*__cplusplus*/
#endif /* IM_DEBUG_H */
#endif /* VIPS_DEBUG_H */

View File

@ -27,8 +27,8 @@
*/
#ifndef IM_ERROR_H
#define IM_ERROR_H
#ifndef VIPS_ERROR_H
#define VIPS_ERROR_H
#ifdef __cplusplus
extern "C" {
@ -87,4 +87,4 @@ int vips_check_dmask( const char *domain, DOUBLEMASK *mask );
}
#endif /*__cplusplus*/
#endif /*!IM_ERROR_H*/
#endif /*VIPS_ERROR_H*/

View File

@ -29,8 +29,8 @@
*/
#ifndef IM_GENERATE_H
#define IM_GENERATE_H
#ifndef VIPS_GENERATE_H
#define VIPS_GENERATE_H
#ifdef __cplusplus
extern "C" {
@ -61,4 +61,4 @@ int vips_demand_hint( VipsImage *image, VipsDemandStyle hint, ... )
}
#endif /*__cplusplus*/
#endif /*IM_GENERATE_H*/
#endif /*VIPS_GENERATE_H*/

View File

@ -30,8 +30,8 @@
*/
#ifndef IM_HEADER_H
#define IM_HEADER_H
#ifndef VIPS_HEADER_H
#define VIPS_HEADER_H
#ifdef __cplusplus
extern "C" {
@ -182,4 +182,4 @@ const char *vips_image_get_history( VipsImage *image );
}
#endif /*__cplusplus*/
#endif /*IM_HEADER_H*/
#endif /*VIPS_HEADER_H*/

View File

@ -181,7 +181,7 @@ typedef struct _VipsImage {
/* Derived fields that some code can fiddle with. New code should use
* vips_image_get_history() and friends.
*/
char *Hist; /* don't use ... call im_history_get() */
char *Hist; /* don't use, see vips_image_get_history() */
char *filename; /* pointer to copy of filename */
char *data; /* start of image data for WIO */
int kill; /* set to non-zero to block eval */
@ -198,7 +198,7 @@ typedef struct _VipsImage {
guint32 magic; /* magic from header, endian-ness of image */
/* Partial image stuff. All private! All these fields are initialised
* to NULL and ignored unless set by im_generate() or im_partial().
* to NULL and ignored unless set by vips_image_generate() etc.
*/
void *(*start)(); /* user-supplied start function */
int (*generate)(); /* user-supplied generate function */
@ -209,7 +209,7 @@ typedef struct _VipsImage {
GSList *regions; /* list of regions current for this image */
VipsDemandStyle dhint; /* demand style hint */
/* Extra user-defined fields ... see im_meta_get_int() etc.
/* Extra user-defined fields ... see vips_image_get() etc.
*/
GHashTable *meta; /* GhashTable of GValue */
GSList *meta_traverse; /* traverse order for Meta */
@ -222,12 +222,12 @@ typedef struct _VipsImage {
/* 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
* image. List of im_window_t.
* image. List of VipsWindow.
*/
GSList *windows;
/* Upstream/downstream relationships, built from args to
* im_demand_hint().
* vips_demand_hint().
*
* We use these to invalidate downstream pixel buffers.
* Use 'serial' to spot circular dependencies.
@ -256,10 +256,10 @@ typedef struct _VipsImage {
*/
gint64 file_length;
/* Set this when im_demand_hint_array() is called, and check in any
/* Set this when vips_demand_hint_array() is called, and check in any
* operation that will demand pixels from the image.
*
* We use im_demand_hint_array() to build the tree of
* We use vips_demand_hint_array() to build the tree of
* upstream/downstream relationships, so it's a mandatory thing.
*/
gboolean hint_set;
@ -285,7 +285,8 @@ typedef struct _VipsImageClass {
void (*posteval)( VipsImage *image, VipsProgress *progress );
/* An image has been written to.
* Used by eg. im_open("x.jpg", "w") to do the final write to jpeg.
* Used by eg. vips_image_new_from_file("x.jpg", "w") to do the
* final write to jpeg.
* Set *result to non-zero to indicate an error on write.
*/
void (*written)( VipsImage *image, int *result );

View File

@ -31,8 +31,8 @@
*/
#ifndef IM_INTERNAL_H
#define IM_INTERNAL_H
#ifndef VIPS_INTERNAL_H
#define VIPS_INTERNAL_H
#ifdef __cplusplus
extern "C" {
@ -57,23 +57,23 @@ int vips__meta_cp( VipsImage *, const VipsImage * );
/* Default tile geometry.
*/
extern int im__tile_width;
extern int im__tile_height;
extern int im__fatstrip_height;
extern int im__thinstrip_height;
extern int vips__tile_width;
extern int vips__tile_height;
extern int vips__fatstrip_height;
extern int vips__thinstrip_height;
/* Default n threads.
*/
extern int im__concurrency;
extern int vips__concurrency;
/* Give progress feedback.
*/
extern int im__progress;
extern int vips__progress;
/* A string giving the image size (in bytes of uncompressed image) above which
* we decompress to disc on open.
*/
extern char *im__disc_threshold;
extern char *vips__disc_threshold;
typedef int (*im__fftproc_fn)( VipsImage *, VipsImage *, VipsImage * );
@ -83,6 +83,20 @@ int vips__open_image_read( const char *filename );
int vips_image_open_input( VipsImage *image );
int vips_image_open_output( VipsImage *image );
void vips__link_break_all( VipsImage *im );
void *vips__link_map( VipsImage *im, VipsSListMap2Fn fn, void *a, void *b );
char *vips__b64_encode( const unsigned char *data, size_t data_length );
unsigned char *vips__b64_decode( const char *buffer, size_t *data_length );
void *vips__mmap( int fd, int writeable, size_t length, gint64 offset );
int vips__munmap( void *start, size_t length );
int vips_mapfile( VipsImage * );
int vips_mapfilerw( VipsImage * );
int vips_remapfilerw( VipsImage * );
void vips__buffer_init( void );
void vips__read_4byte( int msb_first, unsigned char *to, unsigned char **from );
void vips__read_2byte( int msb_first, unsigned char *to, unsigned char **from );
void vips__write_4byte( unsigned char **to, unsigned char *from );
@ -94,12 +108,9 @@ int vips__writehist( VipsImage *image );
int vips__read_header_bytes( VipsImage *im, unsigned char *from );
int vips__write_header_bytes( VipsImage *im, unsigned char *to );
int im__ftruncate( int fd, gint64 pos );
int im__seek( int fd, gint64 pos );
extern GMutex *vips__global_lock;
int im__open_image_file( const char * );
void im__format_init( void );
void im__type_init( void );
void im__tiff_register( void );
void im__jpeg_register( void );
@ -110,9 +121,6 @@ void im__analyze_register( void );
void im__exr_register( void );
void im__magick_register( void );
extern int im__read_test;
extern GMutex *vips__global_lock;
typedef enum {
IM__RGB, /* 1 or 3 bands (eg. PPM) */
IM__RGBA, /* 1, 2, 3 or 4 bands (eg. PNG) */
@ -123,17 +131,6 @@ typedef enum {
VipsImage *im__convert_saveable( VipsImage *in,
im__saveable_t saveable, int format_table[10] );
void vips__link_break_all( VipsImage *im );
void *vips__link_map( VipsImage *im, VipsSListMap2Fn fn, void *a, void *b );
GValue *im__gvalue_ref_string_new( const char *text );
void im__gslist_gvalue_free( GSList *list );
GSList *im__gslist_gvalue_copy( const GSList *list );
GSList *im__gslist_gvalue_merge( GSList *a, const GSList *b );
char *im__gslist_gvalue_get( const GSList *list );
void vips__buffer_init( void );
int im__bandup( const char *domain, VipsImage *in, VipsImage *out, int n );
int im__bandalike_vec( const char *domain, VipsImage **in, VipsImage **out, int n );
int im__bandalike( const char *domain,
@ -184,20 +181,9 @@ struct im_col_tab_disp *im_col_make_tables_RGB( VipsImage *im,
struct im_col_display *d );
struct im_col_tab_disp *im_col_display_get_table( struct im_col_display *d );
char *vips__b64_encode( const unsigned char *data, size_t data_length );
unsigned char *vips__b64_decode( const char *buffer, size_t *data_length );
void *vips__mmap( int fd, int writeable, size_t length, gint64 offset );
int vips__munmap( void *start, size_t length );
int vips_mapfile( VipsImage * );
int vips_mapfilerw( VipsImage * );
int vips_remapfilerw( VipsImage * );
int im__write( int, const void *, size_t );
int im__trigger_callbacks( GSList *cblist );
int im__close( VipsImage * );
int im__fft_sp( float *rvec, float *ivec, int logrows, int logcols );
int im__fftproc( VipsImage *dummy, VipsImage *in, VipsImage *out, im__fftproc_fn fn );
int im__find_lroverlap( VipsImage *ref_in, VipsImage *sec_in, VipsImage *out,
int bandno_in,
int xref, int yref, int xsec, int ysec,
@ -276,4 +262,4 @@ void vips__interpolate_init( void );
}
#endif /*__cplusplus*/
#endif /*IM_INTERNAL_H*/
#endif /*VIPS_INTERNAL_H*/

View File

@ -1,8 +1,8 @@
/* i18n stuff for vips.
*/
#ifndef IM_VIPS_INTL_H
#define IM_VIPS_INTL_H
#ifndef VIPS_INTL_H
#define VIPS_INTL_H
#ifdef __cplusplus
extern "C" {
@ -47,4 +47,4 @@ const char *vips__ngettext( const char *msgid,
}
#endif /*__cplusplus*/
#endif /* IM_VIPS_INTL_H */
#endif /* VIPS_INTL_H */

View File

@ -32,28 +32,28 @@
*/
#ifndef IM_PRIVATE_H
#define IM_PRIVATE_H
#ifndef VIPS_PRIVATE_H
#define VIPS_PRIVATE_H
#ifdef __cplusplus
extern "C" {
#endif /*__cplusplus*/
#define IM_SPARE (8)
#define VIPS_SPARE (8)
/* Private to iofuncs: the minimum number of scanlines we add above and below
* the window as a margin for slop.
*/
#define IM__WINDOW_MARGIN_PIXELS (128)
#define VIPS__WINDOW_MARGIN_PIXELS (128)
/* Private to iofuncs: add at least this many bytes above and below the window.
* There's no point mapping just a few KB of a small image.
*/
#define IM__WINDOW_MARGIN_BYTES (1024 * 1024 * 10)
#define VIPS__WINDOW_MARGIN_BYTES (1024 * 1024 * 10)
/* sizeof() a VIPS header on disc.
*/
#define IM_SIZEOF_HEADER (64)
#define VIPS_SIZEOF_HEADER (64)
typedef unsigned char PEL; /* useful datum */
@ -132,16 +132,17 @@ typedef enum region_type {
VIPS_REGION_WINDOW /* mmap() buffer on fd on another image */
} RegionType;
/* Private to iofuncs: the size of the `tiles' requested by im_generate()
/* Private to iofuncs: the size of the `tiles' requested by
* vips_image_generate()
* when acting as a data sink.
*/
#define IM__TILE_WIDTH (64)
#define IM__TILE_HEIGHT (64)
#define VIPS__TILE_WIDTH (64)
#define VIPS__TILE_HEIGHT (64)
/* The height of the strips for the other two request styles.
*/
#define IM__THINSTRIP_HEIGHT (1)
#define IM__FATSTRIP_HEIGHT (16)
#define VIPS__THINSTRIP_HEIGHT (1)
#define VIPS__FATSTRIP_HEIGHT (16)
/* Functions on regions.
*/
@ -150,8 +151,6 @@ void vips__region_take_ownership( struct _VipsRegion *reg );
void vips__region_check_ownership( struct _VipsRegion *reg );
void vips__region_no_ownership( struct _VipsRegion *reg );
void im__find_demand_size( struct _VipsImage *im, int *pw, int *ph );
int vips__region_start( struct _VipsRegion *reg );
void vips__region_stop( struct _VipsRegion *reg );
@ -167,4 +166,4 @@ int vips__image_write_prepare( struct _VipsImage *image );
}
#endif /*__cplusplus*/
#endif /*IM_PRIVATE_H*/
#endif /*VIPS_PRIVATE_H*/

View File

@ -32,8 +32,8 @@
*/
#ifndef IM_REGION_H
#define IM_REGION_H
#ifndef VIPS_REGION_H
#define VIPS_REGION_H
#ifdef __cplusplus
extern "C" {
@ -65,7 +65,7 @@ typedef struct _VipsRegion {
VipsImage *im; /* Link back to parent image */
VipsRect valid; /* Area of parent we can see */
/* The rest of REGION is private.
/* The rest of VipsRegion is private.
*/
/*< private >*/
RegionType type; /* What kind of attachment */
@ -118,7 +118,7 @@ int vips_region_prepare_to( VipsRegion *reg,
VipsRegion *dest, VipsRect *r, int x, int y );
int vips_region_prepare_many( VipsRegion **reg, VipsRect *r );
/* Macros on REGIONs.
/* Macros on VipsRegion.
* VIPS_REGION_LSKIP() add to move down line
* VIPS_REGION_N_ELEMENTS() number of elements across region
* VIPS_REGION_SIZEOF_LINE() sizeof width of region
@ -135,7 +135,7 @@ int vips_region_prepare_many( VipsRegion **reg, VipsRect *r );
*/
#ifdef DEBUG
#define VIPS_REGION_ADDR( R, X, Y ) \
( (im_rect_includespoint( &(R)->valid, (X), (Y) ))? \
( (vips_rect_includespoint( &(R)->valid, (X), (Y) ))? \
((R)->data + ((Y) - (R)->valid.top) * VIPS_REGION_LSKIP(R) + \
((X) - (R)->valid.left) * VIPS_IMAGE_SIZEOF_PEL((R)->im)): \
(fprintf( stderr, \
@ -164,4 +164,4 @@ int vips_region_prepare_many( VipsRegion **reg, VipsRect *r );
}
#endif /*__cplusplus*/
#endif /*IM_REGION_H*/
#endif /*VIPS_REGION_H*/

View File

@ -33,8 +33,8 @@
*/
#ifndef IM_SEMAPHORE_H
#define IM_SEMAPHORE_H
#ifndef VIPS_SEMAPHORE_H
#define VIPS_SEMAPHORE_H
#ifdef __cplusplus
extern "C" {
@ -61,4 +61,4 @@ void vips_semaphore_init( VipsSemaphore *s, int v, char *name );
}
#endif /*__cplusplus*/
#endif /*IM_SEMAPHORE_H*/
#endif /*VIPS_SEMAPHORE_H*/

View File

@ -28,8 +28,8 @@
*/
#ifndef IM_THREAD_H
#define IM_THREAD_H
#ifndef VIPS_THREAD_H
#define VIPS_THREAD_H
#ifdef __cplusplus
extern "C" {
@ -41,25 +41,25 @@ extern "C" {
FIXME ... should have an environment variable for this?
*/
#define IM__DEFAULT_STACK_SIZE (2 * 1024 * 1024)
#define VIPS__DEFAULT_STACK_SIZE (2 * 1024 * 1024)
#ifndef HAVE_THREADS
#undef g_thread_supported
#define g_thread_supported() (0)
#define g_thread_init im__g_thread_init
#define g_thread_join im__g_thread_join
#define g_thread_self im__g_thread_self
#define g_thread_create_full im__g_thread_create_full
#define g_thread_init vips__g_thread_init
#define g_thread_join vips__g_thread_join
#define g_thread_self vips__g_thread_self
#define g_thread_create_full vips__g_thread_create_full
/* We don't need a shadow imlementation of g_thread_create(), even though we
* use it, because it's just a macro over g_thread_create_full().
*/
void im__g_thread_init( GThreadFunctions *vtable );
gpointer im__g_thread_join( GThread * );
gpointer im__g_thread_self( void );
GThread *im__g_thread_create_full( GThreadFunc,
void vips__g_thread_init( GThreadFunctions *vtable );
gpointer vips__g_thread_join( GThread * );
gpointer vips__g_thread_self( void );
GThread *vips__g_thread_create_full( GThreadFunc,
gpointer, gulong, gboolean, gboolean, GThreadPriority, GError ** );
#undef g_mutex_new
@ -67,19 +67,19 @@ GThread *im__g_thread_create_full( GThreadFunc,
#undef g_mutex_lock
#undef g_mutex_unlock
#define g_mutex_new im__g_mutex_new
#define g_mutex_free im__g_mutex_free
#define g_mutex_lock im__g_mutex_lock
#define g_mutex_unlock im__g_mutex_unlock
#define g_mutex_new vips__g_mutex_new
#define g_mutex_free vips__g_mutex_free
#define g_mutex_lock vips__g_mutex_lock
#define g_mutex_unlock vips__g_mutex_unlock
GMutex *im__g_mutex_new( void );
void im__g_mutex_free( GMutex * );
void im__g_mutex_lock( GMutex * );
void im__g_mutex_unlock( GMutex * );
GMutex *vips__g_mutex_new( void );
void vips__g_mutex_free( GMutex * );
void vips__g_mutex_lock( GMutex * );
void vips__g_mutex_unlock( GMutex * );
#endif /*!HAVE_THREADS*/
#ifdef __cplusplus
}
#endif /*__cplusplus*/
#endif /*IM_THREAD_H*/
#endif /*VIPS_THREAD_H*/

View File

@ -33,8 +33,8 @@
*/
#ifndef IM_THREADPOOL_H
#define IM_THREADPOOL_H
#ifndef VIPS_THREADPOOL_H
#define VIPS_THREADPOOL_H
#ifdef __cplusplus
extern "C" {
@ -152,11 +152,11 @@ int vips_sink_memory( VipsImage *im );
void vips__print_renders( void );
void im_concurrency_set( int concurrency );
int im_concurrency_get( void );
void vips_concurrency_set( int concurrency );
int vips_concurrency_get( void );
#ifdef __cplusplus
}
#endif /*__cplusplus*/
#endif /*IM_THREADPOOL_H*/
#endif /*VIPS_THREADPOOL_H*/

View File

@ -30,8 +30,8 @@
*/
#ifndef IM_VECTOR_H
#define IM_VECTOR_H
#ifndef VIPS_VECTOR_H
#define VIPS_VECTOR_H
#ifdef HAVE_ORC
#include <orc/orc.h>
@ -135,4 +135,4 @@ void vips_executor_run( VipsExecutor *executor );
}
#endif /*__cplusplus*/
#endif /*IM_VECTOR_H*/
#endif /*VIPS_VECTOR_H*/

View File

@ -1,15 +1,13 @@
/* Macros for the header version.
*/
#ifndef IM_VERSION_H
#define IM_VERSION_H
#ifndef VIPS_VERSION_H
#define VIPS_VERSION_H
#define IM_VERSION "@IM_VERSION@"
#define IM_VERSION_STRING "@IM_VERSION_STRING@"
#define IM_MAJOR_VERSION (@IM_MAJOR_VERSION@)
#define IM_MINOR_VERSION (@IM_MINOR_VERSION@)
#define IM_MICRO_VERSION (@IM_MICRO_VERSION@)
#define IM_INTERFACE_AGE (@IM_INTERFACE_AGE@)
#define IM_BINARY_AGE (@IM_BINARY_AGE@)
#define VIPS_VERSION "@VIPS_VERSION@"
#define VIPS_VERSION_STRING "@VIPS_VERSION_STRING@"
#define VIPS_MAJOR_VERSION (@VIPS_MAJOR_VERSION@)
#define VIPS_MINOR_VERSION (@VIPS_MINOR_VERSION@)
#define VIPS_MICRO_VERSION (@VIPS_MICRO_VERSION@)
#endif /*IM_VERSION_H*/
#endif /*VIPS_VERSION_H*/

View File

@ -473,6 +473,18 @@ int im_wrapmany( VipsImage **in, VipsImage *out,
#define im_amiMSBfirst vips_amiMSBfirst
#define im__temp_name vips__temp_name
#define IM_VERSION_STRING VIPS_VERSION_STRING
#define IM_MAJOR_VERSION VIPS_MAJOR_VERSION
#define IM_MINOR_VERSION VIPS_MINOR_VERSION
#define IM_MICRO_VERSION VIPS_MICRO_VERSION
#define IM_EXEEXT VIPS_EXEEXT
#define IM_SIZEOF_HEADER VIPS_SIZEOF_HEADER
#define im_concurrency_set vips_concurrency_set
#define im_concurrency_get vips_concurrency_get
#ifdef __cplusplus
}
#endif /*__cplusplus*/

View File

@ -93,13 +93,13 @@
* |[
* IMAGE *im;
*
* if( !(im = im_open( filename, "r" )) )
* // im_open will set a mmessage, we don't need to
* if( !(im = vips_image_new_from_file( filename, "r" )) )
* // vips_image_new_from_file() will set a mmessage, we don't need to
* return( -1 );
*
* if( im->Xsize < 100 ) {
* if( vips_image_get_width( im ) < 100 ) {
* // we have detected an error, we must set a message
* vips_error( "myprogram", "%s", _( "XSize too small" ) );
* vips_error( "myprogram", "%s", _( "width too small" ) );
* return( -1 );
* }
* ]|
@ -110,8 +110,8 @@
/* Make global array to keep the error message buffer.
*/
#define IM_MAX_ERROR (10240)
static char vips_error_text[IM_MAX_ERROR] = "";
#define VIPS_MAX_ERROR (10240)
static char vips_error_text[VIPS_MAX_ERROR] = "";
static VipsBuf vips_error_buf = VIPS_BUF_STATIC( vips_error_text );
#define IM_DIAGNOSTICS "IM_DIAGNOSTICS"
@ -211,7 +211,7 @@ vips_verror_system( int err, const char *domain, const char *fmt, va_list ap )
err,
MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ),
(LPSTR) &buf, 0, NULL ) ) {
im_error( _( "windows error" ), "%s", buf );
vips_error( _( "windows error" ), "%s", buf );
LocalFree( buf );
}
}

View File

@ -270,7 +270,7 @@ vips_demand_hint_array( VipsImage *image, VipsDemandStyle hint, VipsImage **in )
int i, len, nany;
VipsDemandStyle set_hint;
/* How many input images are there? And how many are IM_ANY?
/* How many input images are there? And how many are ANY?
*/
for( i = 0, len = 0, nany = 0; in[i]; i++, len++ )
if( in[i]->dhint == VIPS_DEMAND_STYLE_ANY )
@ -285,8 +285,8 @@ vips_demand_hint_array( VipsImage *image, VipsDemandStyle hint, VipsImage **in )
*/
;
else if( nany == len )
/* Special case: if all the inputs are IM_ANY, then output can
* be IM_ANY regardless of what this function wants.
/* Special case: if all the inputs are ANY, then output can
* be ANY regardless of what this function wants.
*/
set_hint = VIPS_DEMAND_STYLE_ANY;
else

View File

@ -88,7 +88,7 @@
* @VIPS_DEMAND_STYLE_THINSTRIP: demand in thin (typically 1 pixel high) strips
* @VIPS_DEMAND_STYLE_ANY: demand geometry does not matter
*
* See im_demand_hint(). Operations can hint to the VIPS image IO system about
* See vips_demand_hint(). Operations can hint to the VIPS image IO system about
* the kind of demand geometry they prefer.
*
* These demand styles are given below in order of increasing
@ -191,7 +191,7 @@
* @start: Start time
*
* A structure available to eval callbacks giving information on evaluation
* progress. See im_add_eval_callback().
* progress. See #VipsImage::eval.
*/
/**
@ -319,12 +319,12 @@ enum {
/* Progress feedback. Only really useful for testing, tbh.
*/
int im__progress = 0;
int vips__progress = 0;
/* A string giving the image size (in bytes of uncompressed image) above which
* we decompress to disc on open. Can be eg. "12m" for 12 megabytes.
*/
char *im__disc_threshold = NULL;
char *vips__disc_threshold = NULL;
static guint vips_image_signals[SIG_LAST] = { 0 };
@ -490,19 +490,19 @@ vips_image_print( VipsObject *object, VipsBuf *buf )
}
static void *
vips_image_sanity_upstream( VipsImage *im_up, VipsImage *im_down )
vips_image_sanity_upstream( VipsImage *up, VipsImage *down )
{
if( !g_slist_find( im_up->downstream, im_down ) ||
!g_slist_find( im_down->upstream, im_up ) )
return( im_up );
if( !g_slist_find( up->downstream, down ) ||
!g_slist_find( down->upstream, up ) )
return( up );
return( NULL );
}
static void *
vips_image_sanity_downstream( VipsImage *im_down, VipsImage *im_up )
vips_image_sanity_downstream( VipsImage *down, VipsImage *up )
{
return( vips_image_sanity_upstream( im_up, im_down ) );
return( vips_image_sanity_upstream( up, down ) );
}
static void
@ -676,8 +676,8 @@ disc_threshold( void )
if( (env = g_getenv( "IM_DISC_THRESHOLD" )) )
threshold = parse_size( env );
if( im__disc_threshold )
threshold = parse_size( im__disc_threshold );
if( vips__disc_threshold )
threshold = parse_size( vips__disc_threshold );
VIPS_DEBUG_MSG( "disc_threshold: %zd bytes\n", threshold );
}
@ -845,7 +845,7 @@ vips_image_preeval_cb( VipsImage *image, VipsProgress *progress, int *last )
&tile_width, &tile_height, &nlines );
printf( _( "%s %s: %d threads, %d x %d tiles, groups of %d scanlines" ),
g_get_prgname(), image->filename,
im_concurrency_get(),
vips_concurrency_get(),
tile_width, tile_height, nlines );
printf( "\n" );
@ -884,7 +884,7 @@ vips_image_posteval_cb( VipsImage *image, VipsProgress *progress )
static void
vips_image_add_progress( VipsImage *image )
{
if( im__progress ||
if( vips__progress ||
g_getenv( "IM_PROGRESS" ) ) {
/* Keep the %complete we displayed last time here.
@ -1079,7 +1079,7 @@ vips_image_class_init( VipsImageClass *class )
GParamSpec *pspec;
/* Pass in a nonsense name for argv0 ... this init world is only here
* for old programs which are missing an im_init_world() call. We must
* for old programs which are missing an vips_init() call. We must
* have threads set up before we can process.
*/
if( vips_init( "vips" ) )
@ -1177,7 +1177,7 @@ vips_image_class_init( VipsImageClass *class )
pspec = g_param_spec_int( "sizeof_header", "Size of header",
_( "Offset in bytes from start of file" ),
0, 1000000, IM_SIZEOF_HEADER,
0, 1000000, VIPS_SIZEOF_HEADER,
G_PARAM_READWRITE );
g_object_class_install_property( gobject_class,
PROP_SIZEOF_HEADER, pspec );
@ -1253,7 +1253,7 @@ vips_image_init( VipsImage *image )
image->fd = -1; /* since 0 is stdout */
image->sslock = g_mutex_new();
image->sizeof_header = IM_SIZEOF_HEADER;
image->sizeof_header = VIPS_SIZEOF_HEADER;
}
int
@ -1661,9 +1661,9 @@ vips_image_new_from_file_raw( const char *filename,
*
* This function wraps an #IMAGE around a memory buffer. VIPS does not take
* responsibility for the area of memory, it's up to you to make sure it's
* freed when the image is closed. See for example im_add_close_callback().
* freed when the image is closed. See for example #VipsObject::close.
*
* See also: im_binfile(), im_raw2vips(), im_open().
* See also: im_binfile(), im_raw2vips(), vips_image_new().
*
* Returns: the new #VipsImage, or %NULL on error.
*/
@ -1706,9 +1706,9 @@ vips_image_new_temp_cb( VipsImage *image )
* Make a "w" disc #VipsImage which will be automatically unlinked when it is
* destroyed. @format is something like "%s.v" for a vips file.
*
* The file is created in the temporary directory, see im__temp_name().
* The file is created in the temporary directory, see vips__temp_name().
*
* See also: im__temp_name().
* See also: vips__temp_name().
*
* Returns: the new #VipsImage, or %NULL on error.
*/
@ -1808,8 +1808,8 @@ vips_image_new_array( VipsImage *parent, VipsImage **images, int n )
}
/* Get the image ready for writing. This can get called many
* times. Used by vips_image_generate() and vips_image_write_line(). vips7 compat can
* call this as im_setupout().
* times. Used by vips_image_generate() and vips_image_write_line(). vips7
* compat can call this as im_setupout().
*/
int
vips__image_write_prepare( VipsImage *image )
@ -1829,8 +1829,6 @@ vips__image_write_prepare( VipsImage *image )
image->Bbits = vips_format_sizeof( image->BandFmt ) << 3;
if( image->dtype == VIPS_IMAGE_PARTIAL ) {
/* Make it into a im_setbuf() image.
*/
VIPS_DEBUG_MSG( "vips__image_write_prepare: "
"old-style output for %s\n", image->filename );
@ -1874,7 +1872,7 @@ vips__image_write_prepare( VipsImage *image )
*
* Write a line of pixels to an image. This function must be called repeatedly
* with @ypos increasing from 0 to @YSize -
* @linebuffer must be IM_IMAGE_SIZEOF_LINE() bytes long.
* @linebuffer must be VIPS_IMAGE_SIZEOF_LINE() bytes long.
*
* See also: vips_image_generate().
*
@ -1904,7 +1902,7 @@ vips_image_write_line( VipsImage *image, int ypos, PEL *linebuffer )
case VIPS_IMAGE_OPENOUT:
/* Don't use ypos for this.
*/
if( im__write( image->fd, linebuffer, linesize ) )
if( vips__write( image->fd, linebuffer, linesize ) )
return( -1 );
break;
@ -2011,7 +2009,8 @@ vips_image_wio_input( VipsImage *image )
case VIPS_IMAGE_PARTIAL:
#ifdef DEBUG_IO
printf( "im_incheck: converting partial image to WIO\n" );
printf( "vips_image_wio_input: "
"converting partial image to WIO\n" );
#endif/*DEBUG_IO*/
/* Change to VIPS_IMAGE_SETBUF. First, make a memory
@ -2040,7 +2039,8 @@ vips_image_wio_input( VipsImage *image )
case VIPS_IMAGE_OPENIN:
#ifdef DEBUG_IO
printf( "im_incheck: converting openin image for wio input\n" );
printf( "vips_image_wio_input: "
"converting openin image for wio input\n" );
#endif/*DEBUG_IO*/
/* just mmap() the whole thing.
@ -2245,7 +2245,8 @@ vips_image_pio_input( VipsImage *image )
break;
default:
vips_error( "im_pincheck", "%s", _( "image not readable" ) );
vips_error( "vips_image_pio_input",
"%s", _( "image not readable" ) );
return( -1 );
}
@ -2274,8 +2275,8 @@ vips_image_pio_output( VipsImage *image )
switch( image->dtype ) {
case VIPS_IMAGE_SETBUF:
if( image->data ) {
vips_error( "im_poutcheck", "%s",
_( "image already written" ) );
vips_error( "vips_image_pio_output",
"%s", _( "image already written" ) );
return( -1 );
}
@ -2283,8 +2284,8 @@ vips_image_pio_output( VipsImage *image )
case VIPS_IMAGE_PARTIAL:
if( image->generate ) {
vips_error( "im_poutcheck", "%s",
_( "image already written" ) );
vips_error( "im_poutcheck",
"%s", _( "image already written" ) );
return( -1 );
}

View File

@ -222,7 +222,7 @@ vips_init( const char *argv0 )
* plugin.
*/
if( im_load_plugins( "%s/vips-%d.%d",
libdir, IM_MAJOR_VERSION, IM_MINOR_VERSION ) ) {
libdir, VIPS_MAJOR_VERSION, VIPS_MINOR_VERSION ) ) {
vips_warn( "vips_init", "%s", vips_error_buffer() );
vips_error_clear();
}
@ -271,22 +271,22 @@ vips__ngettext( const char *msgid, const char *plural, unsigned long int n )
}
static GOptionEntry option_entries[] = {
{ "vips-concurrency", 'c', 0, G_OPTION_ARG_INT, &im__concurrency,
{ "vips-concurrency", 'c', 0, G_OPTION_ARG_INT, &vips__concurrency,
N_( "evaluate with N concurrent threads" ), "N" },
{ "vips-tile-width", 'w', 0, G_OPTION_ARG_INT, &im__tile_width,
{ "vips-tile-width", 'w', 0, G_OPTION_ARG_INT, &vips__tile_width,
N_( "set tile width to N (DEBUG)" ), "N" },
{ "vips-tile-height", 'h', 0, G_OPTION_ARG_INT, &im__tile_height,
{ "vips-tile-height", 'h', 0, G_OPTION_ARG_INT, &vips__tile_height,
N_( "set tile height to N (DEBUG)" ), "N" },
{ "vips-thinstrip-height", 't', 0,
G_OPTION_ARG_INT, &im__thinstrip_height,
G_OPTION_ARG_INT, &vips__thinstrip_height,
N_( "set thinstrip height to N (DEBUG)" ), "N" },
{ "vips-fatstrip-height", 'f', 0,
G_OPTION_ARG_INT, &im__fatstrip_height,
G_OPTION_ARG_INT, &vips__fatstrip_height,
N_( "set fatstrip height to N (DEBUG)" ), "N" },
{ "vips-progress", 'p', 0, G_OPTION_ARG_NONE, &im__progress,
{ "vips-progress", 'p', 0, G_OPTION_ARG_NONE, &vips__progress,
N_( "show progress feedback" ), NULL },
{ "vips-disc-threshold", 'd', 0, G_OPTION_ARG_STRING,
&im__disc_threshold,
&vips__disc_threshold,
N_( "image size above which to decompress to disc" ), NULL },
{ "vips-novector", 't', G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE,
&vips__vector_enabled,
@ -535,7 +535,7 @@ guess_prefix( const char *argv0, const char *name )
/* Fall back to the configure-time prefix.
*/
return( IM_PREFIX );
return( VIPS_PREFIX );
}
/**
@ -580,10 +580,10 @@ vips_guess_prefix( const char *argv0, const char *env_name )
/* Add the exe suffix, if it's missing.
*/
if( strlen( IM_EXEEXT ) > 0 ) {
const char *olds[] = { IM_EXEEXT };
if( strlen( VIPS_EXEEXT ) > 0 ) {
const char *olds[] = { VIPS_EXEEXT };
vips__change_suffix( p, name, PATH_MAX, IM_EXEEXT, olds, 1 );
vips__change_suffix( p, name, PATH_MAX, VIPS_EXEEXT, olds, 1 );
}
else
vips_strncpy( name, p, PATH_MAX );
@ -632,14 +632,14 @@ vips_guess_libdir( const char *argv0, const char *env_name )
/* Have we been moved since configure? If not, use the configure-time
* libdir.
*/
if( strcmp( prefix, IM_PREFIX ) == 0 )
libdir = IM_LIBDIR;
if( strcmp( prefix, VIPS_PREFIX ) == 0 )
libdir = VIPS_LIBDIR;
else
libdir = g_strdup_printf( "%s/lib", prefix );
#ifdef DEBUG
printf( "vips_guess_libdir: IM_PREFIX = %s\n", IM_PREFIX );
printf( "vips_guess_libdir: IM_LIBDIR = %s\n", IM_LIBDIR );
printf( "vips_guess_libdir: VIPS_PREFIX = %s\n", VIPS_PREFIX );
printf( "vips_guess_libdir: VIPS_LIBDIR = %s\n", VIPS_LIBDIR );
printf( "vips_guess_libdir: prefix = %s\n", prefix );
printf( "vips_guess_libdir: libdir = %s\n", libdir );
#endif /*DEBUG*/

View File

@ -155,7 +155,7 @@ vips_free( void *s )
next_trace += 1;
if( next_trace > trace_freq ) {
printf( "im_free: %d, %d allocs, total %.3gM, "
printf( "vips_free: %d, %d allocs, total %.3gM, "
"high water %.3gM\n",
size,
total_allocs,
@ -191,8 +191,8 @@ vips_malloc_cb( VipsImage *image, char *buf )
*
* Malloc local to @im, that is, the memory will be automatically
* freed for you when the image is closed. If @im is %NULL, you need to free
* the memory explicitly with im_free().
* If allocation fails im_malloc() returns %NULL and
* the memory explicitly with vips_free().
* If allocation fails vips_malloc() returns %NULL and
* sets an error message.
*
* If two threads try to allocate local to the same @im at the same time, you
@ -206,7 +206,7 @@ vips_malloc( VipsImage *image, size_t size )
void *buf;
#ifdef DEBUGM
/* Assume the first im_malloc() is single-threaded.
/* Assume the first vips_malloc() is single-threaded.
*/
if( !malloc_mutex )
malloc_mutex = g_mutex_new();
@ -225,10 +225,10 @@ vips_malloc( VipsImage *image, size_t size )
g_assert( 0 );
#endif /*DEBUG*/
vips_error( "im_malloc",
vips_error( "vips_malloc",
_( "out of memory --- size == %dMB" ),
(int) (size / (1024.0*1024.0)) );
vips_warn( "im_malloc",
vips_warn( "vips_malloc",
_( "out of memory --- size == %dMB" ),
(int) (size / (1024.0*1024.0)) );
return( NULL );

View File

@ -329,13 +329,13 @@ vips_region_print( VipsObject *object, VipsBuf *buf )
/* If a region is being created in one thread (eg. the main thread) and then
* used in another (eg. a worker thread), the new thread needs to tell VIPS
* to stop sanity g_assert() fails. The previous owner needs to
* im__region_no_ownership() before we can call this.
* vips__region_no_ownership() before we can call this.
*/
void
vips__region_take_ownership( VipsRegion *region )
{
/* Lock so that there's a memory barrier with the thread doing the
* im__region_no_ownership() before us.
* vips__region_no_ownership() before us.
*/
g_mutex_lock( region->im->sslock );
@ -943,10 +943,10 @@ vips_region_generate( VipsRegion *reg )
* blocks until the pixels are ready.
*
* Use vips_region_prepare_thread() to calculate an area of pixels with many
* threads. Use im_render_priority() to calculate an area of pixels in the
* threads. Use vips_sink_screen() to calculate an area of pixels in the
* background.
*
* See also: vips_region_prepare_thread(), im_render_priority(),
* See also: vips_region_prepare_thread(), vips_sink_screen(),
* vips_region_prepare_to().
*
* Returns: 0 on success, or -1 on error.
@ -1031,7 +1031,8 @@ vips_region_prepare_to_generate( VipsRegion *reg,
char *p;
if( !im->generate ) {
vips_error( "im_prepare_to", "%s", _( "incomplete header" ) );
vips_error( "vips_region_prepare_to",
"%s", _( "incomplete header" ) );
return( -1 );
}
@ -1101,14 +1102,14 @@ vips_region_prepare_to( VipsRegion *reg,
if( !dest->data ||
dest->im->BandFmt != reg->im->BandFmt ||
dest->im->Bands != reg->im->Bands ) {
vips_error( "im_prepare_to",
vips_error( "vips_region_prepare_to",
"%s", _( "inappropriate region type" ) );
return( -1 );
}
/* clip r first against the size of reg->im, then again against the
* memory we have available to write to on dest. Just like
* im_region_region()
* vips_region_region()
*/
image.top = 0;
image.left = 0;
@ -1127,7 +1128,8 @@ vips_region_prepare_to( VipsRegion *reg,
/* Test that dest->valid is large enough.
*/
if( !vips_rect_includesrect( &dest->valid, &wanted ) ) {
vips_error( "im_prepare_to", "%s", _( "dest too small" ) );
vips_error( "vips_region_prepare_to",
"%s", _( "dest too small" ) );
return( -1 );
}
@ -1144,13 +1146,14 @@ vips_region_prepare_to( VipsRegion *reg,
y = clipped2.top;
if( vips_rect_isempty( &final ) ) {
vips_error( "im_prepare_to",
vips_error( "vips_region_prepare_to",
"%s", _( "valid clipped to nothing" ) );
return( -1 );
}
#ifdef DEBUG
printf( "im_prepare_to: left = %d, top = %d, width = %d, height = %d\n",
printf( "vips_region_prepare_to: "
"left = %d, top = %d, width = %d, height = %d\n",
final.left, final.top, final.width, final.height );
#endif /*DEBUG*/
@ -1196,8 +1199,9 @@ vips_region_prepare_to( VipsRegion *reg,
break;
default:
vips_error( "im_prepare_to", _( "unable to input from a "
"%s image" ), im_dtype2char( im->dtype ) );
vips_error( "vips_region_prepare_to",
_( "unable to input from a %s image" ),
VIPS_ENUM_NICK( VIPS_TYPE_DEMAND_STYLE, im->dtype ) );
return( -1 );
}

View File

@ -99,7 +99,7 @@ vips_semaphore_upn( VipsSemaphore *s, int n )
printf( "vips_semaphore_upn(\"%s\",%d) = %d\n",
s->name, n, value_after_op );
if( value_after_op > 1 )
im_errormsg( "up over 1!" );
vips_error( "vips_semaphore_upn", "up over 1!" );
#endif /*DEBUG_IO*/
return( value_after_op );

View File

@ -99,10 +99,6 @@ typedef struct _Write {
void *a;
} Write;
/* Enable im_wbuffer2 ... set from the cmd line, tested by our users.
*/
int im__wbuffer2 = 0;
/* Our per-thread state ... we need to also track the buffer that pos is
* supposed to write to.
*/
@ -468,7 +464,7 @@ write_free( Write *write )
* This operation is handy for making image sinks which output to things like
* disc files.
*
* See also: im_concurrency_set().
* See also: vips_concurrency_set().
*
* Returns: 0 on success, -1 on error.
*/

View File

@ -535,7 +535,7 @@ render_thread_create( void )
if( !render_thread && have_threads ) {
if( !(render_thread = g_thread_create_full(
render_thread_main, NULL,
IM__DEFAULT_STACK_SIZE, TRUE, FALSE,
VIPS__DEFAULT_STACK_SIZE, TRUE, FALSE,
G_THREAD_PRIORITY_NORMAL, NULL )) ) {
vips_error( "sink_screen",
"%s", _( "unable to create thread" ) );

View File

@ -96,14 +96,14 @@
/* Default tile geometry ... can be set by init_world.
*/
int im__tile_width = IM__TILE_WIDTH;
int im__tile_height = IM__TILE_HEIGHT;
int im__fatstrip_height = IM__FATSTRIP_HEIGHT;
int im__thinstrip_height = IM__THINSTRIP_HEIGHT;
int vips__tile_width = VIPS__TILE_WIDTH;
int vips__tile_height = VIPS__TILE_HEIGHT;
int vips__fatstrip_height = VIPS__FATSTRIP_HEIGHT;
int vips__thinstrip_height = VIPS__THINSTRIP_HEIGHT;
/* Default n threads ... 0 means get from environment.
*/
int im__concurrency = 0;
int vips__concurrency = 0;
#ifndef HAVE_THREADS
/* If we're building without gthread, we need stubs for the g_thread_*() and
@ -111,24 +111,24 @@ int im__concurrency = 0;
* names here.
*/
void im__g_thread_init( GThreadFunctions *vtable ) {}
gpointer im__g_thread_join( GThread *dummy ) { return( NULL ); }
gpointer im__g_thread_self( void ) { return( NULL ); }
GThread *im__g_thread_create_full( GThreadFunc d1,
void vips__g_thread_init( GThreadFunctions *vtable ) {}
gpointer vips__g_thread_join( GThread *dummy ) { return( NULL ); }
gpointer vips__g_thread_self( void ) { return( NULL ); }
GThread *vips__g_thread_create_full( GThreadFunc d1,
gpointer d2, gulong d3, gboolean d4, gboolean d5, GThreadPriority d6,
GError **d7 )
{ return( NULL ); }
GMutex *im__g_mutex_new( void ) { return( NULL ); }
void im__g_mutex_free( GMutex *d ) {}
void im__g_mutex_lock( GMutex *d ) {}
void im__g_mutex_unlock( GMutex *d ) {}
GMutex *vips__g_mutex_new( void ) { return( NULL ); }
void vips__g_mutex_free( GMutex *d ) {}
void vips__g_mutex_lock( GMutex *d ) {}
void vips__g_mutex_unlock( GMutex *d ) {}
#endif /*!HAVE_THREADS*/
void
im_concurrency_set( int concurrency )
vips_concurrency_set( int concurrency )
{
im__concurrency = concurrency;
vips__concurrency = concurrency;
}
static int
@ -198,7 +198,7 @@ get_num_processors( void )
* the number of regions we should pass over the image.
*/
int
im_concurrency_get( void )
vips_concurrency_get( void )
{
const char *str;
int nthr;
@ -206,8 +206,8 @@ im_concurrency_get( void )
/* Tell the threads system how much concurrency we expect.
*/
if( im__concurrency > 0 )
nthr = im__concurrency;
if( vips__concurrency > 0 )
nthr = vips__concurrency;
else if( (str = g_getenv( IM_CONCURRENCY )) &&
(x = atoi( str )) > 0 )
nthr = x;
@ -217,13 +217,13 @@ im_concurrency_get( void )
if( nthr < 1 || nthr > MAX_THREADS ) {
nthr = VIPS_CLIP( 1, nthr, MAX_THREADS );
vips_warn( "im_concurrency_get",
vips_warn( "vips_concurrency_get",
_( "threads clipped to %d" ), nthr );
}
/* Save for next time around.
*/
im_concurrency_set( nthr );
vips_concurrency_set( nthr );
return( nthr );
}
@ -400,10 +400,10 @@ vips_thread_save_time_buffers( VipsThread *thr )
FILE *fp;
char name[256];
im_snprintf( name, 256, "time%d", rn++ );
vips_snprintf( name, 256, "time%d", rn++ );
printf( "vips_thread_save_time_buffers: "
"saving buffer to \"%s\"\n", name );
if( !(fp = im__file_open_write( name, TRUE )) )
if( !(fp = vips__file_open_write( name, TRUE )) )
return( -1 );
for( i = 0; i < thr->tpos; i++ )
fprintf( fp, "%g, %g\n", thr->btime[i], thr->etime[i] );
@ -603,7 +603,7 @@ vips_thread_new( VipsThreadpool *pool )
* very small values (eg. various BSDs).
*/
if( !(thr->thread = g_thread_create_full( vips_thread_main_loop, thr,
IM__DEFAULT_STACK_SIZE, TRUE, FALSE,
VIPS__DEFAULT_STACK_SIZE, TRUE, FALSE,
G_THREAD_PRIORITY_NORMAL, NULL )) ) {
vips_error( "vips_thread_new",
"%s", _( "unable to create thread" ) );
@ -669,7 +669,7 @@ vips_threadpool_new( VipsImage *im )
pool->allocate = NULL;
pool->work = NULL;
pool->allocate_lock = g_mutex_new();
pool->nthr = im_concurrency_get();
pool->nthr = vips_concurrency_get();
pool->thr = NULL;
vips_semaphore_init( &pool->finish, 0, "finish" );
vips_semaphore_init( &pool->tick, 0, "tick" );
@ -813,7 +813,7 @@ vips_threadpool_create_threads( VipsThreadpool *pool )
* always called by
* the main thread (ie. the thread which called vips_threadpool_run()).
*
* See also: im_wbuffer2(), im_concurrency_set().
* See also: vips_concurrency_set().
*
* Returns: 0 on success, or -1 on error.
*/
@ -893,21 +893,21 @@ vips_threadpool_run( VipsImage *im,
* @nlines: return buffer height in scanlines
*
* Pick a tile size and a buffer height for this image and the current
* value of im_concurrency_get(). The buffer height
* value of vips_concurrency_get(). The buffer height
* will always be a multiple of tile_height.
*/
void
vips_get_tile_size( VipsImage *im,
int *tile_width, int *tile_height, int *nlines )
{
const int nthr = im_concurrency_get();
const int nthr = vips_concurrency_get();
/* Pick a render geometry.
*/
switch( im->dhint ) {
case VIPS_DEMAND_STYLE_SMALLTILE:
*tile_width = im__tile_width;
*tile_height = im__tile_height;
*tile_width = vips__tile_width;
*tile_height = vips__tile_height;
/* Enough lines of tiles that we can expect to be able to keep
* nthr busy. Then double it.
@ -919,13 +919,13 @@ vips_get_tile_size( VipsImage *im,
case VIPS_DEMAND_STYLE_ANY:
case VIPS_DEMAND_STYLE_FATSTRIP:
*tile_width = im->Xsize;
*tile_height = im__fatstrip_height;
*tile_height = vips__fatstrip_height;
*nlines = *tile_height * nthr * 2;
break;
case VIPS_DEMAND_STYLE_THINSTRIP:
*tile_width = im->Xsize;
*tile_height = im__thinstrip_height;
*tile_height = vips__thinstrip_height;
*nlines = *tile_height * nthr * 2;
break;

View File

@ -846,7 +846,7 @@ vips__writehist( VipsImage *im )
vips_snprintf( namespace, 256, "%s/%d.%d.%d",
NAMESPACE,
IM_MAJOR_VERSION, IM_MINOR_VERSION, IM_MICRO_VERSION );
VIPS_MAJOR_VERSION, VIPS_MINOR_VERSION, VIPS_MICRO_VERSION );
if( !(doc->children = xmlNewDocNode( doc,
NULL, (xmlChar *) "root", NULL )) ||
set_sprop( doc->children, "xmlns", namespace ) ||
@ -908,7 +908,7 @@ vips_image_open_input( VipsImage *image )
/* We don't use im->sizeof_header here, but we know we're reading a
* VIPS image anyway.
*/
unsigned char header[IM_SIZEOF_HEADER];
unsigned char header[VIPS_SIZEOF_HEADER];
gint64 psize;
gint64 rsize;
@ -916,7 +916,8 @@ vips_image_open_input( VipsImage *image )
image->dtype = VIPS_IMAGE_OPENIN;
if( (image->fd = vips__open_image_read( image->filename )) == -1 )
return( -1 );
if( read( image->fd, header, IM_SIZEOF_HEADER ) != IM_SIZEOF_HEADER ||
if( read( image->fd, header, VIPS_SIZEOF_HEADER ) !=
VIPS_SIZEOF_HEADER ||
vips__read_header_bytes( image, header ) ) {
vips_error_system( errno, "VipsImage",
_( "unable to read header for \"%s\"" ),
@ -959,7 +960,7 @@ vips_image_open_output( VipsImage *image )
/* Don't use im->sizeof_header here, but we know we're
* writing a VIPS image anyway.
*/
unsigned char header[IM_SIZEOF_HEADER];
unsigned char header[VIPS_SIZEOF_HEADER];
if( (image->fd = open( image->filename,
MODE_WRITE, 0666 )) < 0 ) {
@ -970,7 +971,7 @@ vips_image_open_output( VipsImage *image )
}
if( vips__write_header_bytes( image, header ) ||
vips__write( image->fd, header, IM_SIZEOF_HEADER ) )
vips__write( image->fd, header, VIPS_SIZEOF_HEADER ) )
return( -1 );
}

View File

@ -73,12 +73,12 @@ int vips__read_test;
/* Add this many lines above and below the mmap() window.
*/
int vips__window_margin_pixels = IM__WINDOW_MARGIN_PIXELS;
int vips__window_margin_pixels = VIPS__WINDOW_MARGIN_PIXELS;
/* Always map at least this many bytes. There's no point making tiny windows
* on small files.
*/
int vips__window_margin_bytes = IM__WINDOW_MARGIN_BYTES;
int vips__window_margin_bytes = VIPS__WINDOW_MARGIN_BYTES;
/* Track global mmap usage.
*/

View File

@ -3,7 +3,7 @@ exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: vips-@IM_MAJOR_VERSION@.@IM_MINOR_VERSION@
Name: vips-@VIPS_MAJOR_VERSION@.@VIPS_MINOR_VERSION@
Description: Image processing library
Version: @VERSION@
Requires: @PACKAGES_USED@

View File

@ -3,8 +3,8 @@ exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: vipsCC-@IM_MAJOR_VERSION@.@IM_MINOR_VERSION@
Name: vipsCC-@VIPS_MAJOR_VERSION@.@VIPS_MINOR_VERSION@
Description: C++ API for vips image processing library
Version: @VERSION@
Requires: vips-@IM_MAJOR_VERSION@.@IM_MINOR_VERSION@ = @VERSION@
Requires: vips-@VIPS_MAJOR_VERSION@.@VIPS_MINOR_VERSION@ = @VERSION@
Libs: -L${libdir} -lvipsCC