diff --git a/ChangeLog b/ChangeLog index 9b6ddedc..dcc118c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,8 +4,20 @@ - nearest-neighbor interpolation rounds coordinates to nearest instead of rounding down (thanks Nicolas) - add dzsave, save in deep zoom format -- add VIPS_CODING_ARGB -- openslideload output tagged as ARGB + +17/4/12 started 7.28.4 +- up max buffer size for vipsbuf + +6/4/12 started 7.28.3 +- vips_divide() failed for int arguments +- fix warning for unused vips7 gvalue argument +- fix openslide read: always return png-style rgba, im_argb2rgba() becomes a + NOP +- cast to unsigned int now removes <0 values +- vips7 interface to openslide now supports :,level,associated options (thanks + Benjamin) +- make vips8 cache smaller +- more accurate progress reporting 13/3/12 started 7.28.2 - xres/yres tiffsave args were broken diff --git a/TODO b/TODO index df7412bf..55e60209 100644 --- a/TODO +++ b/TODO @@ -83,10 +83,18 @@ foreign ppm.c radiance.c -- should there be some way to set the seq cache size? +- is the tif reader deadlocking sometimes? + + is it when we get a non-seq error? + + should there be some way to set the seq cache size? - foreign docs come up as "VipsForeignSave", annoying, why? +- make an argb coding type, add to nip2 and known coding + + see openslide + - add nifti support http://niftilib.sourceforge.net/ @@ -119,8 +127,6 @@ packaging - do we bundle "convert" in the OS X / win32 builds? if we don't we should -- goffice on OS X seems to be broken? - convolution =========== diff --git a/libvips/arithmetic/divide.c b/libvips/arithmetic/divide.c index ea3ddc07..baee9732 100644 --- a/libvips/arithmetic/divide.c +++ b/libvips/arithmetic/divide.c @@ -30,6 +30,9 @@ * - rewrite as a class * 22/2/12 * - avoid /0 for complex as well + * 6/4/12 + * - fixed switch cases + * - fixed int operands with <1 result */ /* @@ -150,7 +153,7 @@ G_DEFINE_TYPE( VipsDivide, vips_divide, VIPS_TYPE_BINARY ); #endif /* USE_MODARG_DIV */ -/* Real divide. +/* Real divide. Cast in to OUT before divide so we work for float output. */ #define RLOOP( IN, OUT ) { \ IN *left = (IN *) in[0]; \ @@ -158,10 +161,10 @@ G_DEFINE_TYPE( VipsDivide, vips_divide, VIPS_TYPE_BINARY ); OUT *q = (OUT *) out; \ \ for( x = 0; x < sz; x++ ) \ - if( right[x] == 0.0 ) \ + if( right[x] == 0 ) \ q[x] = 0; \ else \ - q[x] = left[x] / right[x]; \ + q[x] = (OUT) left[x] / (OUT) right[x]; \ } static void @@ -177,12 +180,12 @@ vips_divide_buffer( VipsArithmetic *arithmetic, * below. */ switch( vips_image_get_format( im ) ) { - case VIPS_FORMAT_CHAR: RLOOP( signed char, signed short ); break; - case VIPS_FORMAT_UCHAR: RLOOP( unsigned char, signed short ); break; - case VIPS_FORMAT_SHORT: RLOOP( signed short, signed int ); break; - case VIPS_FORMAT_USHORT:RLOOP( unsigned short, signed int ); break; - case VIPS_FORMAT_INT: RLOOP( signed int, signed int ); break; - case VIPS_FORMAT_UINT: RLOOP( unsigned int, signed int ); break; + case VIPS_FORMAT_CHAR: RLOOP( signed char, float ); break; + case VIPS_FORMAT_UCHAR: RLOOP( unsigned char, float ); break; + case VIPS_FORMAT_SHORT: RLOOP( signed short, float ); break; + case VIPS_FORMAT_USHORT: RLOOP( unsigned short, float ); break; + case VIPS_FORMAT_INT: RLOOP( signed int, float ); break; + case VIPS_FORMAT_UINT: RLOOP( unsigned int, float ); break; case VIPS_FORMAT_FLOAT: RLOOP( float, float ); break; case VIPS_FORMAT_DOUBLE: RLOOP( double, double ); break; @@ -235,7 +238,7 @@ vips_divide_init( VipsDivide *divide ) } /** - * vips_divide:: + * vips_divide: * @in1: input image 1 * @in2: input image 2 * @out: output image diff --git a/libvips/colour/Makefile.am b/libvips/colour/Makefile.am index 49bd2bc1..87a9718f 100644 --- a/libvips/colour/Makefile.am +++ b/libvips/colour/Makefile.am @@ -7,7 +7,6 @@ libcolour_la_SOURCES = \ colour_dispatch.c \ derived.c \ im_icc_transform.c \ - im_argb2rgba.c \ im_LCh2Lab.c \ im_LCh2UCS.c \ im_Lab2LCh.c \ diff --git a/libvips/colour/colour_dispatch.c b/libvips/colour/colour_dispatch.c index eb4663ae..4534bd2d 100644 --- a/libvips/colour/colour_dispatch.c +++ b/libvips/colour/colour_dispatch.c @@ -640,25 +640,6 @@ static im_function rad2float_desc = { one_in_one_out /* Arg list */ }; -/* Call im_argb2rgba() via arg vector. - */ -static int -argb2rgba_vec( im_object *argv ) -{ - return( im_argb2rgba( argv[0], argv[1] ) ); -} - -/* Description of im_argb2rgba. - */ -static im_function argb2rgba_desc = { - "im_argb2rgba", /* Name */ - "convert pre-multipled argb to png-style rgba", /* Description */ - IM_FN_PIO, /* Flags */ - argb2rgba_vec, /* Dispatch function */ - IM_NUMBER( one_in_one_out ), /* Size of arg list */ - one_in_one_out /* Arg list */ -}; - /* Call im_float2rad() via arg vector. */ static int @@ -1204,7 +1185,6 @@ static im_function *colour_list[] = { &disp2Lab_desc, &disp2XYZ_desc, &float2rad_desc, - &argb2rgba_desc, &icc_ac2rc_desc, &icc_export_depth_desc, &icc_import_desc, diff --git a/libvips/colour/im_argb2rgba.c b/libvips/colour/im_argb2rgba.c deleted file mode 100644 index 0009e2fc..00000000 --- a/libvips/colour/im_argb2rgba.c +++ /dev/null @@ -1,104 +0,0 @@ -/* Convert pre-multipled argb to rgba - * - * 11/12/11 - * - from im_rad2float.c - */ - -/* - - This file is part of VIPS. - - VIPS is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - */ - -/* - - These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk - - */ - -#ifdef HAVE_CONFIG_H -#include -#endif /*HAVE_CONFIG_H*/ -#include - -#include -#include - -#include - -static void -argb2rgba( guint32 *in, VipsPel *out, int n, void *_bg ) -{ - guint32 bg = GPOINTER_TO_UINT( _bg ); - - int i; - - for( i = 0; i < n; i++ ) { - guint32 x = in[i]; - guint8 a = x >> 24; - - /* Convert from ARGB to RGBA and undo premultiplication. - */ - if( a != 0 ) { - out[0] = 255 * ((x >> 16) & 255) / a; - out[1] = 255 * ((x >> 8) & 255) / a; - out[2] = 255 * (x & 255) / a; - } - else { - /* Use background color. - */ - out[0] = (bg >> 16) & 255; - out[1] = (bg >> 8) & 255; - out[2] = bg & 255; - } - out[3] = a; - - out += 4; - } -} - -/** - * im_argb2rgba: - * @in: input image - * @out: output image - * - * Convert Cairo-style pre-multiplied argb to png-style rgba. Background - * pixels are painted with the metadata item "background-rgb". - * - * See also: im_openslide2vips(). - * - * Returns: 0 on success, -1 on error. - */ -int -im_argb2rgba( VipsImage *in, IMAGE *out ) -{ - guint32 bg; - - if( vips_check_coding_argb( "argb2rgba", in ) || - im_cp_desc( out, in ) ) - return( -1 ); - out->Coding = IM_CODING_NONE; - - if( vips_image_get_int( in, VIPS_META_BACKGROUND_RGB, (int *) &bg ) ) - bg = 0xffffff; - - if( im_wrapone( in, out, - (im_wrapone_fn) argb2rgba, GUINT_TO_POINTER( bg ), NULL ) ) - return( -1 ); - - return( 0 ); -} diff --git a/libvips/colour/im_rad2float.c b/libvips/colour/im_rad2float.c index 89467332..f63be113 100644 --- a/libvips/colour/im_rad2float.c +++ b/libvips/colour/im_rad2float.c @@ -180,12 +180,12 @@ rad2float( COLR *inp, COLOR *outbuf, int n ) int im_rad2float( IMAGE *in, IMAGE *out ) { - if( vips_check_coding_rad( "rad2float", in ) || + if( vips_check_coding_rad( "argb2rgba", in ) || im_cp_desc( out, in ) ) return( -1 ); out->Bands = 3; out->BandFmt = IM_BANDFMT_FLOAT; - out->Coding = VIPS_CODING_NONE; + out->Coding = IM_CODING_NONE; if( im_wrapone( in, out, (im_wrapone_fn) rad2float, NULL, NULL ) ) diff --git a/libvips/conversion/cast.c b/libvips/conversion/cast.c index 9e5d05f7..a18c2357 100644 --- a/libvips/conversion/cast.c +++ b/libvips/conversion/cast.c @@ -45,6 +45,8 @@ * - gtk-doc * 27/10/11 * - redone as a class + * 10/4/12 + * - cast to uint now removes <0 values */ /* @@ -288,7 +290,7 @@ vips_cast_start( VipsImage *out, void *a, void *b ) break; \ \ case VIPS_FORMAT_UINT: \ - INT( ITYPE, unsigned int, VIPS_CLIP_NONE ); \ + INT( ITYPE, unsigned int, VIPS_CLIP_UINT ); \ break; \ \ case VIPS_FORMAT_INT: \ diff --git a/libvips/deprecated/deprecated_dispatch.c b/libvips/deprecated/deprecated_dispatch.c index 2992f7b4..2bbeb062 100644 --- a/libvips/deprecated/deprecated_dispatch.c +++ b/libvips/deprecated/deprecated_dispatch.c @@ -2188,10 +2188,30 @@ static im_function ifthenelse_desc = { ifthenelse_args /* Arg list */ }; +/* Call im_argb2rgba() via arg vector. + */ +static int +argb2rgba_vec( im_object *argv ) +{ + return( im_argb2rgba( argv[0], argv[1] ) ); +} + +/* Description of im_argb2rgba. + */ +static im_function argb2rgba_desc = { + "im_argb2rgba", /* Name */ + "convert pre-multipled argb to png-style rgba", /* Description */ + IM_FN_PIO, /* Flags */ + argb2rgba_vec, /* Dispatch function */ + IM_NUMBER( one_in_one_out ), /* Size of arg list */ + one_in_one_out /* Arg list */ +}; + /* Package up all these functions. */ static im_function *deprecated_list[] = { + &argb2rgba_desc, &flood_copy_desc, &flood_blob_copy_desc, &flood_other_copy_desc, diff --git a/libvips/deprecated/dispatch_types.c b/libvips/deprecated/dispatch_types.c index d354dca5..72147afe 100644 --- a/libvips/deprecated/dispatch_types.c +++ b/libvips/deprecated/dispatch_types.c @@ -817,7 +817,11 @@ gvalue_free( im_object obj ) { GValue *value = obj; - g_value_unset( value ); + /* If it's just zeros (built but not used) we'll get an error if we + * unset(). + */ + if( G_IS_VALUE( value ) ) + g_value_unset( value ); return( 0 ); } diff --git a/libvips/deprecated/im_openslide2vips.c b/libvips/deprecated/im_openslide2vips.c index 4a2ccf88..49b14af6 100644 --- a/libvips/deprecated/im_openslide2vips.c +++ b/libvips/deprecated/im_openslide2vips.c @@ -2,6 +2,8 @@ * * 17/12/11 * - just a stub + * 11/4/12 + * - support :level,associated in filenames */ /* @@ -49,11 +51,35 @@ #include static int -im_openslide2vips( const char *filename, IMAGE *out ) +im_openslide2vips( const char *name, IMAGE *out ) { + char filename[FILENAME_MAX]; + char mode[FILENAME_MAX]; + char *p, *q; + char *associated; + int level; + char *endptr; VipsImage *t; - if( vips_openslideload( filename, &t, NULL ) ) + im_filename_split( name, filename, mode ); + level = 0; + associated = NULL; + p = &mode[0]; + if( (q = im_getnextoption( &p )) ) { + level = strtoul( q, &endptr, 10 ); + if( *endptr ) { + vips_error( "openslide2vips", "%s", + _( "level must be a number" ) ); + return( -1 ); + } + } + if( (q = im_getnextoption( &p )) ) + associated = q; + + if( vips_openslideload( filename, &t, + "level", level, + "associated", associated, + NULL ) ) return( -1 ); if( vips_image_write( t, out ) ) { g_object_unref( t ); diff --git a/libvips/deprecated/vips7compat.c b/libvips/deprecated/vips7compat.c index 32976458..b6398056 100644 --- a/libvips/deprecated/vips7compat.c +++ b/libvips/deprecated/vips7compat.c @@ -293,7 +293,6 @@ static const char *im_Coding[] = { "RGB_COMPRESSED", "LUM_COMPRESSED", "IM_CODING_RAD", - "VIPS_CODING_ARGB", NULL }; @@ -2099,3 +2098,11 @@ im_cache( VipsImage *in, VipsImage *out, return( vips_sink_screen( in, out, NULL, width, height, max, 0, NULL, NULL ) ); } + +int +im_argb2rgba( VipsImage *in, VipsImage *out ) +{ + /* No longer exists, just a null op. + */ + return( im_copy( in, out ) ); +} diff --git a/libvips/foreign/foreign.c b/libvips/foreign/foreign.c index 37d308f9..ef64b34a 100644 --- a/libvips/foreign/foreign.c +++ b/libvips/foreign/foreign.c @@ -1138,20 +1138,6 @@ vips_foreign_convert_saveable( VipsForeignSave *save ) in = out; } - /* If this is a ARGB, we go to png-style RGBA. - */ - if( in->Coding == VIPS_CODING_ARGB ) { - VipsImage *out; - - if( vips_argb2rgba( in, &out, NULL ) ) { - g_object_unref( in ); - return( -1 ); - } - g_object_unref( in ); - - in = out; - } - /* Get the bands right. */ if( in->Coding == VIPS_CODING_NONE ) { @@ -2068,7 +2054,7 @@ vips_openexrload( const char *filename, VipsImage **out, ... ) * * Optional arguments: * - * @level: load this level of the pyramid + * @layer: load this layer * @associated: load this associated image * * Read a virtual slide supported by the OpenSlide library into a VIPS image. @@ -2076,9 +2062,10 @@ vips_openexrload( const char *filename, VipsImage **out, ... ) * and Trestle formats. * * To facilitate zooming, virtual slide formats include multiple scaled-down - * versions of the high-resolution image. + * versions of the high-resolution image. These are typically called + * "levels", though OpenSlide and im_openslide2vips() call them "layers". * By default, vips_openslideload() reads the highest-resolution layer - * (level 0). Set @level to the level number you want. + * (layer 0). Set @layer to the layer number you want. * * In addition to the slide image itself, virtual slide formats sometimes * include additional images, such as a scan of the slide's barcode. @@ -2087,10 +2074,10 @@ vips_openexrload( const char *filename, VipsImage **out, ... ) * A slide's associated images are listed in the * "slide-associated-images" metadata item. * - * The output of this operator is in Cairo-style pre-multipled ARGB format. - * Use vips_argb2rgba() to decode to png-style RGBA. + * The output of this operator is in pre-multipled ARGB format. Use + * im_argb2rgba() to decode to png-style RGBA. * - * See also: vips_argb2rgba(), vips_image_new_from_file(). + * See also: vips_image_new_from_file(). * * Returns: 0 on success, -1 on error. */ diff --git a/libvips/foreign/openslide2vips.c b/libvips/foreign/openslide2vips.c index 23f58725..4a03e1a6 100644 --- a/libvips/foreign/openslide2vips.c +++ b/libvips/foreign/openslide2vips.c @@ -26,6 +26,11 @@ * - turn into a set of read fns ready to be called from a class * 28/2/12 * - convert "layer" to "level" where externally visible + * 9/4/12 + * - move argb2rgba back in here, we don't have a use for coded pixels + * - small cleanups + * 11/4/12 + * - fail if both level and associated image are specified */ /* @@ -83,8 +88,9 @@ typedef struct { /* Only valid if associated == NULL. */ - int32_t layer; + int32_t level; double downsample; + uint32_t bg; } ReadSlide; int @@ -138,19 +144,26 @@ check_associated_image( openslide_t *osr, const char *name ) static ReadSlide * readslide_new( const char *filename, VipsImage *out, - int layer, const char *associated ) + int level, const char *associated ) { ReadSlide *rslide; int64_t w, h; const char *background; const char * const *properties; + if( level && associated ) { + vips_error( "openslide2vips", + "%s", _( "specify only one of level or associated " + "image" ) ); + return( NULL ); + } + rslide = VIPS_NEW( out, ReadSlide ); memset( rslide, 0, sizeof( *rslide ) ); g_signal_connect( out, "close", G_CALLBACK( readslide_destroy_cb ), rslide ); - rslide->layer = layer; + rslide->level = level; rslide->associated = g_strdup( associated ); rslide->osr = openslide_open( filename ); @@ -160,8 +173,8 @@ readslide_new( const char *filename, VipsImage *out, return( NULL ); } - if( layer < 0 || - layer >= openslide_get_layer_count( rslide->osr ) ) { + if( level < 0 || + level >= openslide_get_layer_count( rslide->osr ) ) { vips_error( "openslide2vips", "%s", _( "invalid slide level" ) ); return( NULL ); @@ -180,23 +193,17 @@ readslide_new( const char *filename, VipsImage *out, } else { openslide_get_layer_dimensions( rslide->osr, - layer, &w, &h ); + level, &w, &h ); rslide->downsample = openslide_get_layer_downsample( - rslide->osr, layer ); - vips_image_set_int( out, "slide-level", layer ); + rslide->osr, level ); + vips_image_set_int( out, "slide-level", level ); vips_demand_hint( out, VIPS_DEMAND_STYLE_SMALLTILE, NULL ); } - /* This tag is used by argb2rgba() to paint fully-transparent pixels. - */ - background = openslide_get_property_value( rslide->osr, - OPENSLIDE_PROPERTY_NAME_BACKGROUND_COLOR ); - if( background != NULL ) - vips_image_set_int( out, - VIPS_META_BACKGROUND_RGB, - strtoul( background, NULL, 16 ) ); - else - vips_image_set_int( out, VIPS_META_BACKGROUND_RGB, 0xffffff ); + rslide->bg = 0xffffff; + if( (background = openslide_get_property_value( rslide->osr, + OPENSLIDE_PROPERTY_NAME_BACKGROUND_COLOR )) ) + rslide->bg = strtoul( background, NULL, 16 ); if( w < 0 || h < 0 || rslide->downsample < 0 ) { vips_error( "openslide2vips", _( "getting dimensions: %s" ), @@ -211,7 +218,7 @@ readslide_new( const char *filename, VipsImage *out, } vips_image_init_fields( out, w, h, 4, VIPS_FORMAT_UCHAR, - VIPS_CODING_ARGB, VIPS_INTERPRETATION_RGB, 1.0, 1.0 ); + VIPS_CODING_NONE, VIPS_INTERPRETATION_RGB, 1.0, 1.0 ); for( properties = openslide_get_property_names( rslide->osr ); *properties != NULL; properties++ ) @@ -228,11 +235,11 @@ readslide_new( const char *filename, VipsImage *out, int vips__openslide_read_header( const char *filename, VipsImage *out, - int layer, char *associated ) + int level, char *associated ) { ReadSlide *rslide; - if( !(rslide = readslide_new( filename, out, layer, associated )) ) + if( !(rslide = readslide_new( filename, out, level, associated )) ) return( -1 ); return( 0 ); @@ -243,30 +250,31 @@ vips__openslide_generate( VipsRegion *out, void *seq, void *_rslide, void *unused, gboolean *stop ) { ReadSlide *rslide = _rslide; + uint32_t bg = rslide->bg; VipsRect *r = &out->valid; + int n = r->width * r->height; + uint32_t *buf = (uint32_t *) VIPS_REGION_ADDR( out, r->left, r->top ); const char *error; - int x, y; + int i; VIPS_DEBUG_MSG( "vips__openslide_generate: %dx%d @ %dx%d\n", r->width, r->height, r->left, r->top ); - /* Fill in tile-sized chunks. Some versions of OpenSlide can fail for - * very large requests. + /* We're inside a cache, so requests should always be TILE_WIDTH by + * TILE_HEIGHT pixels and on a tile boundary. */ - for( y = 0; y < r->height; y += TILE_HEIGHT ) - for( x = 0; x < r->width; x += TILE_WIDTH ) { - int w = VIPS_MIN( TILE_WIDTH, r->width - x ); - int h = VIPS_MIN( TILE_HEIGHT, r->height - y ); + g_assert( (r->left % TILE_WIDTH) == 0 ); + g_assert( (r->height % TILE_HEIGHT) == 0 ); + g_assert( r->width <= TILE_WIDTH ); + g_assert( r->height <= TILE_HEIGHT ); - openslide_read_region( rslide->osr, - (uint32_t *) VIPS_REGION_ADDR( out, - r->left + x, r->top + y ), - (r->left + x) * rslide->downsample, - (r->top + y) * rslide->downsample, - rslide->layer, - w, h ); - } + openslide_read_region( rslide->osr, + buf, + r->left * rslide->downsample, + r->top * rslide->downsample, + rslide->level, + r->width, r->height ); error = openslide_get_error( rslide->osr ); if( error ) { @@ -276,18 +284,41 @@ vips__openslide_generate( VipsRegion *out, return( -1 ); } + /* Convert from ARGB to RGBA and undo premultiplication. + */ + for( i = 0; i < n; i++ ) { + uint32_t x = buf[i]; + uint8_t a = x >> 24; + VipsPel *out = (VipsPel *) (buf + i); + + if( a != 0 ) { + out[0] = 255 * ((x >> 16) & 255) / a; + out[1] = 255 * ((x >> 8) & 255) / a; + out[2] = 255 * (x & 255) / a; + out[3] = a; + } + else { + /* Use background color. + */ + out[0] = (bg >> 16) & 255; + out[1] = (bg >> 8) & 255; + out[2] = bg & 255; + out[3] = 0; + } + } + return( 0 ); } int -vips__openslide_read( const char *filename, VipsImage *out, int layer ) +vips__openslide_read( const char *filename, VipsImage *out, int level ) { ReadSlide *rslide; VipsImage *raw; VipsImage *t; VIPS_DEBUG_MSG( "vips__openslide_read: %s %d\n", - filename, layer ); + filename, level ); /* Tile cache: keep enough for two complete rows of tiles. OpenSlide * has its own tile cache, but it's not large enough for a complete @@ -296,7 +327,7 @@ vips__openslide_read( const char *filename, VipsImage *out, int layer ) raw = vips_image_new(); vips_object_local( out, raw ); - if( !(rslide = readslide_new( filename, raw, layer, NULL )) ) + if( !(rslide = readslide_new( filename, raw, level, NULL )) ) return( -1 ); if( vips_image_generate( raw, diff --git a/libvips/foreign/openslide2vips.h b/libvips/foreign/openslide2vips.h index 8fc6cdec..83b0bf27 100644 --- a/libvips/foreign/openslide2vips.h +++ b/libvips/foreign/openslide2vips.h @@ -36,9 +36,9 @@ extern "C" { int vips__openslide_isslide( const char *filename ); int vips__openslide_read_header( const char *filename, VipsImage *out, - int layer, char *associated ); + int level, char *associated ); int vips__openslide_read( const char *filename, VipsImage *out, - int layer ); + int level ); int vips__openslide_read_associated( const char *filename, VipsImage *out, const char *associated ); diff --git a/libvips/foreign/openslideload.c b/libvips/foreign/openslideload.c index 3c2a3c69..11b7b2f3 100644 --- a/libvips/foreign/openslideload.c +++ b/libvips/foreign/openslideload.c @@ -4,8 +4,8 @@ * - from openslideload.c * 28/2/12 * - convert "layer" to "level" where externally visible - * 2/4/12 - * - output images coded as ARGB + * 11/4/12 + * - convert remaining uses of "layer" to "level" */ /* @@ -62,9 +62,9 @@ typedef struct _VipsForeignLoadOpenslide { */ char *filename; - /* Load this layer. + /* Load this level. */ - int layer; + int level; /* Load this associated image. */ @@ -105,7 +105,7 @@ vips_foreign_load_openslide_header( VipsForeignLoad *load ) VipsForeignLoadOpenslide *openslide = (VipsForeignLoadOpenslide *) load; if( vips__openslide_read_header( openslide->filename, load->out, - openslide->layer, openslide->associated ) ) + openslide->level, openslide->associated ) ) return( -1 ); return( 0 ); @@ -118,7 +118,7 @@ vips_foreign_load_openslide_load( VipsForeignLoad *load ) if( !openslide->associated ) { if( vips__openslide_read( openslide->filename, load->real, - openslide->layer ) ) + openslide->level ) ) return( -1 ); } else { @@ -185,7 +185,7 @@ vips_foreign_load_openslide_class_init( VipsForeignLoadOpenslideClass *class ) _( "Level" ), _( "Load this level from the file" ), VIPS_ARGUMENT_OPTIONAL_INPUT, - G_STRUCT_OFFSET( VipsForeignLoadOpenslide, layer ), + G_STRUCT_OFFSET( VipsForeignLoadOpenslide, level ), 0, 100000, 0 ); VIPS_ARG_STRING( class, "associated", 11, diff --git a/libvips/include/vips/colour.h b/libvips/include/vips/colour.h index 3a33e1ab..802101ce 100644 --- a/libvips/include/vips/colour.h +++ b/libvips/include/vips/colour.h @@ -51,8 +51,6 @@ int vips_rad2float( VipsImage *in, VipsImage **out, ... ) __attribute__((sentinel)); int vips_float2rad( VipsImage *in, VipsImage **out, ... ) __attribute__((sentinel)); -int vips_argb2rgba( VipsImage *in, VipsImage **out, ... ) - __attribute__((sentinel)); int vips_LabS2LabQ( VipsImage *in, VipsImage **out, ... ) __attribute__((sentinel)); int vips_LabQ2Lab( VipsImage *in, VipsImage **out, ... ) @@ -148,7 +146,6 @@ float im_col_dE00( int im_LCh2Lab( VipsImage *in, VipsImage *out ); int im_LabQ2XYZ( VipsImage *in, VipsImage *out ); int im_rad2float( VipsImage *in, VipsImage *out ); -int im_argb2rgba( VipsImage *in, VipsImage *out ); int im_float2rad( VipsImage *in, VipsImage *out ); int im_LCh2UCS( VipsImage *in, VipsImage *out ); int im_Lab2LCh( VipsImage *in, VipsImage *out ); diff --git a/libvips/include/vips/error.h b/libvips/include/vips/error.h index 086f4e43..2681efae 100644 --- a/libvips/include/vips/error.h +++ b/libvips/include/vips/error.h @@ -59,7 +59,6 @@ int vips_check_uncoded( const char *domain, VipsImage *im ); int vips_check_coding_known( const char *domain, VipsImage *im ); int vips_check_coding_labq( const char *domain, VipsImage *im ); int vips_check_coding_rad( const char *domain, VipsImage *im ); -int vips_check_coding_argb( const char *domain, VipsImage *im ); int vips_check_coding_noneorlabq( const char *domain, VipsImage *im ); int vips_check_coding_same( const char *domain, VipsImage *im1, VipsImage *im2 ); int vips_check_mono( const char *domain, VipsImage *im ); diff --git a/libvips/include/vips/header.h b/libvips/include/vips/header.h index dcee0143..65cdc0d8 100644 --- a/libvips/include/vips/header.h +++ b/libvips/include/vips/header.h @@ -77,14 +77,6 @@ extern "C" { */ #define VIPS_META_RESOLUTION_UNIT "resolution-unit" -/** - * VIPS_META_BACKGROUND_RGB: - * - * The OpenSlide load operator uses this to note the colour to use to paint - * transparent pixels in pre-multiplied ARGB format. See im_argb2rgba(). - */ -#define VIPS_META_BACKGROUND_RGB "background-rgb" - guint64 vips_format_sizeof( VipsBandFormat format ); int vips_image_get_width( const VipsImage *image ); diff --git a/libvips/include/vips/image.h b/libvips/include/vips/image.h index 81aa9a3b..e93d3e3c 100644 --- a/libvips/include/vips/image.h +++ b/libvips/include/vips/image.h @@ -198,12 +198,11 @@ typedef enum { * @VIPS_CODING_NONE: pixels are not coded * @VIPS_CODING_LABQ: pixels encode 3 float CIELAB values as 4 uchar * @VIPS_CODING_RAD: pixels encode 3 float RGB as 4 uchar (Radiance coding) - * @VIPS_CODING_ARGB: Cairo-style pre-multiplied ARGB * * How pixels are coded. * * Normally, pixels are uncoded and can be manipulated as you would expect. - * However some file formats code pixels for storage, and sometimes it's + * However some file formats code pixels for compression, and sometimes it's * useful to be able to manipulate images in the coded format. * * The gaps in the numbering are historical and must be maintained. Allocate @@ -214,8 +213,7 @@ typedef enum { VIPS_CODING_NONE = 0, VIPS_CODING_LABQ = 2, VIPS_CODING_RAD = 6, - VIPS_CODING_ARGB = 7, - VIPS_CODING_LAST = 8 + VIPS_CODING_LAST = 7 } VipsCoding; /* Struct we keep a record of execution time in. Passed to eval signal so @@ -478,7 +476,7 @@ int vips_image_written( VipsImage *image ); void vips_image_invalidate_all( VipsImage *image ); void vips_image_preeval( VipsImage *image ); -void vips_image_eval( VipsImage *image, int w, int h ); +void vips_image_eval( VipsImage *image, guint64 processed ); void vips_image_posteval( VipsImage *image ); void vips_image_set_progress( VipsImage *image, gboolean progress ); diff --git a/libvips/include/vips/util.h b/libvips/include/vips/util.h index ff29ff43..b887561f 100644 --- a/libvips/include/vips/util.h +++ b/libvips/include/vips/util.h @@ -146,6 +146,14 @@ G_STMT_START { \ } \ } G_STMT_END +#define VIPS_CLIP_UINT( V, SEQ ) \ +G_STMT_START { \ + if( (V) < 0 ) { \ + (SEQ)->underflow++; \ + (V) = 0; \ + } \ +} G_STMT_END + #define VIPS_CLIP_NONE( V, SEQ ) {} const char *vips_enum_string( GType enm, int value ); diff --git a/libvips/include/vips/vips7compat.h b/libvips/include/vips/vips7compat.h index facf011b..3765bf48 100644 --- a/libvips/include/vips/vips7compat.h +++ b/libvips/include/vips/vips7compat.h @@ -64,7 +64,6 @@ extern "C" { #define IM_CODING_NONE VIPS_CODING_NONE #define IM_CODING_LABQ VIPS_CODING_LABQ #define IM_CODING_RAD VIPS_CODING_RAD -#define IM_CODING_ARGB VIPS_CODING_ARGB #define IM_TYPE_MULTIBAND VIPS_INTERPRETATION_MULTIBAND #define IM_TYPE_B_W VIPS_INTERPRETATION_B_W @@ -649,6 +648,7 @@ int im_mask2vips( DOUBLEMASK *in, VipsImage *out ); int im_bandmean( VipsImage *in, VipsImage *out ); int im_recomb( VipsImage *in, VipsImage *out, DOUBLEMASK *recomb ); +int im_argb2rgba( VipsImage *in, VipsImage *out ); /* ruby-vips uses this */ diff --git a/libvips/iofuncs/buf.c b/libvips/iofuncs/buf.c index 815fb76c..ea875ba2 100644 --- a/libvips/iofuncs/buf.c +++ b/libvips/iofuncs/buf.c @@ -74,7 +74,7 @@ /* Largest string we can append in one operation. */ -#define MAX_STRSIZE (16000) +#define MAX_STRSIZE (100000) /** * VIPS_BUF_STATIC: diff --git a/libvips/iofuncs/cache.c b/libvips/iofuncs/cache.c index 9a137a5d..8acb9923 100644 --- a/libvips/iofuncs/cache.c +++ b/libvips/iofuncs/cache.c @@ -74,18 +74,23 @@ char *vips__cache_max_files = NULL; gboolean vips__cache_dump = FALSE; gboolean vips__cache_trace = FALSE; -/* Max number of cached operations. +/* Max number of cached operations. We are likely to trim due to memuse or + * file use before we hit this limit. */ static int vips_cache_max = 10000; /* How many tracked open files we allow before we start dropping cache. */ -static int vips_cache_max_files = 900; +static int vips_cache_max_files = 100; /* How much RAM we spend on caches before we start dropping cached operations - * ... default 1gb. + * ... default 100mb. + * + * It was 1gb, but that's a lot of memory for things like vipsthumbnail where + * there will be (almost) no reuse. Default low and let apps raise it if it'd + * be useful. */ -static size_t vips_cache_max_mem = 1024 * 1024 * 1024; +static size_t vips_cache_max_mem = 100 * 1024 * 1024; /* Hold a ref to all "recent" operations. */ @@ -542,7 +547,8 @@ vips_cache_trim( void ) { VipsOperation *operation; - while( (g_hash_table_size( vips_cache_table ) > vips_cache_max || + while( vips_cache_table && + (g_hash_table_size( vips_cache_table ) > vips_cache_max || vips_tracked_get_files() > vips_cache_max_files || vips_tracked_get_mem() > vips_cache_max_mem) && (operation = vips_cache_select()) ) { diff --git a/libvips/iofuncs/enumtypes.c b/libvips/iofuncs/enumtypes.c index 66fb9b88..c8eb8554 100644 --- a/libvips/iofuncs/enumtypes.c +++ b/libvips/iofuncs/enumtypes.c @@ -483,7 +483,6 @@ vips_coding_get_type( void ) {VIPS_CODING_NONE, "VIPS_CODING_NONE", "none"}, {VIPS_CODING_LABQ, "VIPS_CODING_LABQ", "labq"}, {VIPS_CODING_RAD, "VIPS_CODING_RAD", "rad"}, - {VIPS_CODING_ARGB, "VIPS_CODING_ARGB", "argb"}, {VIPS_CODING_LAST, "VIPS_CODING_LAST", "last"}, {0, NULL, NULL} }; diff --git a/libvips/iofuncs/error.c b/libvips/iofuncs/error.c index 61fb7013..e790ecd2 100644 --- a/libvips/iofuncs/error.c +++ b/libvips/iofuncs/error.c @@ -262,6 +262,12 @@ vips_error_g( GError **error ) if( !vips_domain ) vips_domain = g_quark_from_string( "libvips" ); + /* glib does not expect a trailing '\n' and vips always has one. + */ + g_mutex_lock( vips__global_lock ); + vips_buf_removec( &vips_error_buf, '\n' ); + g_mutex_unlock( vips__global_lock ); + g_set_error( error, vips_domain, -1, "%s", vips_error_buffer() ); vips_error_clear(); } @@ -490,8 +496,7 @@ vips_check_coding_known( const char *domain, VipsImage *im ) */ if( im->Coding != VIPS_CODING_NONE && im->Coding != VIPS_CODING_LABQ && - im->Coding != VIPS_CODING_RAD && - im->Coding != VIPS_CODING_ARGB ) { + im->Coding != VIPS_CODING_RAD ) { vips_error( domain, "%s", _( "unknown image coding" ) ); return( -1 ); } @@ -525,32 +530,6 @@ vips_check_coding_rad( const char *domain, VipsImage *im ) return( 0 ); } -/** - * vips_check_coding_argb: - * @domain: the originating domain for the error message - * @im: image to check - * - * Check that the image is in ARGB coding. - * If not, set an error message - * and return non-zero. - * - * See also: vips_error(). - * - * Returns: 0 on OK, or -1 on error. - */ -int -vips_check_coding_argb( const char *domain, VipsImage *im ) -{ - if( im->Coding != VIPS_CODING_ARGB || - im->BandFmt != VIPS_FORMAT_UCHAR || - im->Bands != 4 ) { - vips_error( domain, "%s", _( "ARGB coding only" ) ); - return( -1 ); - } - - return( 0 ); -} - /** * vips_check_coding_labq: * @domain: the originating domain for the error message diff --git a/libvips/iofuncs/image.c b/libvips/iofuncs/image.c index 52332a37..de8c2f99 100644 --- a/libvips/iofuncs/image.c +++ b/libvips/iofuncs/image.c @@ -456,8 +456,7 @@ vips_image_sanity( VipsObject *object, VipsBuf *buf ) (image->Coding != -1 && image->Coding != VIPS_CODING_NONE && image->Coding != VIPS_CODING_LABQ && - image->Coding != VIPS_CODING_RAD && - image->Coding != VIPS_CODING_ARGB) || + image->Coding != VIPS_CODING_RAD) || image->Type > VIPS_INTERPRETATION_ARRAY || image->dtype > VIPS_IMAGE_PARTIAL || image->dhint > VIPS_DEMAND_STYLE_ANY ) @@ -1093,8 +1092,8 @@ vips_progress_add( VipsImage *image ) return( 0 ); } -void -vips_progress_update( VipsProgress *progress, int w, int h ) +static void +vips_progress_update( VipsProgress *progress, guint64 processed ) { float prop; @@ -1103,11 +1102,11 @@ vips_progress_update( VipsProgress *progress, int w, int h ) g_assert( progress ); progress->run = g_timer_elapsed( progress->start, NULL ); - progress->npels += w * h; + progress->npels = processed; prop = (float) progress->npels / (float) progress->tpels; progress->percent = 100 * prop; - /* Don't estiomate eta until we are 10% in. + /* Don't estimate eta until we are 10% in. */ if( prop > 0.1 ) progress->eta = (1.0 / prop) * progress->run - progress->run; @@ -1136,10 +1135,10 @@ vips_image_preeval( VipsImage *image ) } } -/* Another w * h pixels have been processed. +/* Updated the number of pixels that have been processed. */ void -vips_image_eval( VipsImage *image, int w, int h ) +vips_image_eval( VipsImage *image, guint64 processed ) { if( image->progress_signal ) { VIPS_DEBUG_MSG( "vips_image_eval: %p\n", image ); @@ -1147,7 +1146,7 @@ vips_image_eval( VipsImage *image, int w, int h ) g_assert( vips_object_sanity( VIPS_OBJECT( image->progress_signal ) ) ); - vips_progress_update( image->time, w, h ); + vips_progress_update( image->time, processed ); /* For vips7 compat, update the ->time on the signalling image * too, even though it may have a different width/height to @@ -1155,7 +1154,7 @@ vips_image_eval( VipsImage *image, int w, int h ) */ if( image->progress_signal->time != image->time ) vips_progress_update( image->progress_signal->time, - w, h ); + processed ); g_signal_emit( image->progress_signal, vips_image_signals[SIG_EVAL], 0, image->time ); @@ -1879,7 +1878,7 @@ vips_image_write_line( VipsImage *image, int ypos, VipsPel *linebuffer ) /* Trigger evaluation callbacks for this image. */ - vips_image_eval( image, image->Xsize, 1 ); + vips_image_eval( image, ypos * image->Xsize ); if( vips_image_get_kill( image ) ) return( -1 ); diff --git a/libvips/iofuncs/object.c b/libvips/iofuncs/object.c index 69665d6b..c161b87c 100644 --- a/libvips/iofuncs/object.c +++ b/libvips/iofuncs/object.c @@ -1477,26 +1477,53 @@ vips_object_set_argument_from_string( VipsObject *object, else if( G_IS_PARAM_SPEC_BOOLEAN( pspec ) ) { gboolean b; - g_value_init( &gvalue, G_TYPE_BOOLEAN ); b = TRUE; if( value && (strcasecmp( value, "false" ) == 0 || strcasecmp( value, "no" ) == 0 || strcmp( value, "0" ) == 0) ) b = FALSE; + + g_value_init( &gvalue, G_TYPE_BOOLEAN ); g_value_set_boolean( &gvalue, b ); } else if( G_IS_PARAM_SPEC_INT( pspec ) ) { + int i; + + if( sscanf( value, "%d", &i ) != 1 ) { + vips_error( class->nickname, + _( "'%s' is not an integer" ), value ); + return( -1 ); + } + g_value_init( &gvalue, G_TYPE_INT ); - g_value_set_int( &gvalue, atoi( value ) ); + g_value_set_int( &gvalue, i ); } else if( G_IS_PARAM_SPEC_UINT64( pspec ) ) { + /* Not allways the same as guint64 :-( argh. + */ + long long l; + + if( sscanf( value, "%Ld", &l ) != 1 ) { + vips_error( class->nickname, + _( "'%s' is not an integer" ), value ); + return( -1 ); + } + g_value_init( &gvalue, G_TYPE_UINT64 ); - g_value_set_uint64( &gvalue, atoll( value ) ); + g_value_set_uint64( &gvalue, l ); } else if( G_IS_PARAM_SPEC_DOUBLE( pspec ) ) { + double d; + + if( sscanf( value, "%lg", &d ) != 1 ) { + vips_error( class->nickname, + _( "'%s' is not a double" ), value ); + return( -1 ); + } + g_value_init( &gvalue, G_TYPE_DOUBLE ); - g_value_set_double( &gvalue, atof( value ) ); + g_value_set_double( &gvalue, d ); } else if( G_IS_PARAM_SPEC_ENUM( pspec ) ) { GEnumValue *enum_value; @@ -1518,8 +1545,16 @@ vips_object_set_argument_from_string( VipsObject *object, else if( G_IS_PARAM_SPEC_FLAGS( pspec ) ) { /* Hard to set from a symbolic name. Just take an int. */ + int i; + + if( sscanf( value, "%d", &i ) != 1 ) { + vips_error( class->nickname, + _( "'%s' is not an integer" ), value ); + return( -1 ); + } + g_value_init( &gvalue, otype ); - g_value_set_flags( &gvalue, atoi( value ) ); + g_value_set_flags( &gvalue, i ); } else { g_value_init( &gvalue, G_TYPE_STRING ); diff --git a/libvips/iofuncs/operation.c b/libvips/iofuncs/operation.c index df7b757b..3422f7bb 100644 --- a/libvips/iofuncs/operation.c +++ b/libvips/iofuncs/operation.c @@ -697,6 +697,7 @@ vips_call_options_set( const gchar *option_name, const gchar *value, vips_call_find_pspec, (void *) name, NULL )) ) { vips_error( VIPS_OBJECT_GET_CLASS( operation )->nickname, _( "unknown argument '%s'" ), name ); + vips_error_g( error ); return( FALSE ); } argument_class = argument_instance->argument_class; @@ -705,8 +706,10 @@ vips_call_options_set( const gchar *option_name, const gchar *value, if( (argument_class->flags & VIPS_ARGUMENT_INPUT) ) { if( vips_object_set_argument_from_string( VIPS_OBJECT( operation ), - g_param_spec_get_name( pspec ), value ) ) + g_param_spec_get_name( pspec ), value ) ) { + vips_error_g( error ); return( FALSE ); + } #ifdef VIPS_DEBUG { diff --git a/libvips/iofuncs/sink.c b/libvips/iofuncs/sink.c index 1f05ed91..b34e90dd 100644 --- a/libvips/iofuncs/sink.c +++ b/libvips/iofuncs/sink.c @@ -211,6 +211,8 @@ vips_sink_base_init( SinkBase *sink_base, VipsImage *image ) vips_get_tile_size( image, &sink_base->tile_width, &sink_base->tile_height, &sink_base->nlines ); + + sink_base->processed = 0; } static int @@ -283,6 +285,10 @@ vips_sink_base_allocate( VipsThreadState *state, void *a, gboolean *stop ) */ sink_base->x += sink_base->tile_width; + /* Add the number of pixels we've just allocated to progress. + */ + sink_base->processed += state->pos.width * state->pos.height; + return( 0 ); } @@ -305,14 +311,12 @@ vips_sink_base_progress( void *a ) { SinkBase *sink_base = (SinkBase *) a; - VIPS_DEBUG_MSG( "vips_sink_base_progress: %d x %d\n", - sink_base->tile_width, sink_base->tile_height ); + VIPS_DEBUG_MSG( "vips_sink_base_progress:\n" ); /* Trigger any eval callbacks on our source image and * check for errors. */ - vips_image_eval( sink_base->im, - sink_base->tile_width, sink_base->tile_height ); + vips_image_eval( sink_base->im, sink_base->processed ); if( vips_image_get_kill( sink_base->im ) ) return( -1 ); diff --git a/libvips/iofuncs/sink.h b/libvips/iofuncs/sink.h index e520fc0c..38843506 100644 --- a/libvips/iofuncs/sink.h +++ b/libvips/iofuncs/sink.h @@ -56,6 +56,10 @@ typedef struct _SinkBase { int tile_height; int nlines; + /* The number of pixels allocate has allocated. Used for progress + * feedback. + */ + guint64 processed; } SinkBase; /* Some function we can share. diff --git a/libvips/iofuncs/sinkdisc.c b/libvips/iofuncs/sinkdisc.c index 432a0992..a8bda0b7 100644 --- a/libvips/iofuncs/sinkdisc.c +++ b/libvips/iofuncs/sinkdisc.c @@ -396,6 +396,10 @@ wbuffer_allocate_fn( VipsThreadState *state, void *a, gboolean *stop ) */ sink_base->x += sink_base->tile_width; + /* Add the number of pixels we've just allocated to progress. + */ + sink_base->processed += state->pos.width * state->pos.height; + return( 0 ); } diff --git a/libvips/iofuncs/sinkmemory.c b/libvips/iofuncs/sinkmemory.c index 375d5916..3b55d690 100644 --- a/libvips/iofuncs/sinkmemory.c +++ b/libvips/iofuncs/sinkmemory.c @@ -240,6 +240,10 @@ sink_memory_area_allocate_fn( VipsThreadState *state, void *a, gboolean *stop ) */ sink_base->x += sink_base->tile_width; + /* Add the number of pixels we've just allocated to progress. + */ + sink_base->processed += state->pos.width * state->pos.height; + return( 0 ); } diff --git a/libvips/iofuncs/util.c b/libvips/iofuncs/util.c index b45f7e79..61a3baeb 100644 --- a/libvips/iofuncs/util.c +++ b/libvips/iofuncs/util.c @@ -89,7 +89,7 @@ /* Temp buffer for snprintf() layer on old systems. */ -#define MAX_BUF (32768) +#define MAX_BUF (100000) /* Test two lists for eqality. */ diff --git a/libvips/iofuncs/vips.c b/libvips/iofuncs/vips.c index 22596e10..8c65478b 100644 --- a/libvips/iofuncs/vips.c +++ b/libvips/iofuncs/vips.c @@ -188,7 +188,6 @@ image_pixel_length( VipsImage *image ) switch( image->Coding ) { case VIPS_CODING_LABQ: case VIPS_CODING_RAD: - case VIPS_CODING_ARGB: case VIPS_CODING_NONE: psize = VIPS_IMAGE_SIZEOF_IMAGE( image ); break; diff --git a/po/POTFILES.in b/po/POTFILES.in index b042819c..8891591c 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,255 +1,255 @@ -libvips/arithmetic/abs.c -libvips/arithmetic/statistic.c -libvips/arithmetic/im_point_bilinear.c -libvips/arithmetic/im_linreg.c -libvips/arithmetic/arith_dispatch.c libvips/arithmetic/linear.c -libvips/arithmetic/remainder.c -libvips/arithmetic/multiply.c -libvips/arithmetic/im_maxpos_avg.c -libvips/arithmetic/im_maxpos_vec.c -libvips/arithmetic/min.c -libvips/arithmetic/boolean.c -libvips/arithmetic/arithmetic.c -libvips/arithmetic/add.c +libvips/arithmetic/avg.c +libvips/arithmetic/divide.c +libvips/arithmetic/arith_dispatch.c +libvips/arithmetic/measure.c libvips/arithmetic/stats.c libvips/arithmetic/math2.c -libvips/arithmetic/divide.c +libvips/arithmetic/im_linreg.c libvips/arithmetic/round.c -libvips/arithmetic/measure.c -libvips/arithmetic/math.c -libvips/arithmetic/relational.c -libvips/arithmetic/im_cross_phase.c -libvips/arithmetic/unaryconst.c -libvips/arithmetic/unary.c -libvips/arithmetic/invert.c -libvips/arithmetic/max.c -libvips/arithmetic/complex.c -libvips/arithmetic/avg.c libvips/arithmetic/deviate.c +libvips/arithmetic/unary.c +libvips/arithmetic/unaryconst.c +libvips/arithmetic/add.c +libvips/arithmetic/arithmetic.c +libvips/arithmetic/multiply.c +libvips/arithmetic/min.c +libvips/arithmetic/im_point_bilinear.c +libvips/arithmetic/complex.c +libvips/arithmetic/im_cross_phase.c +libvips/arithmetic/im_maxpos_avg.c +libvips/arithmetic/invert.c +libvips/arithmetic/remainder.c +libvips/arithmetic/math.c +libvips/arithmetic/abs.c +libvips/arithmetic/relational.c libvips/arithmetic/binary.c -libvips/arithmetic/subtract.c libvips/arithmetic/sign.c +libvips/arithmetic/subtract.c +libvips/arithmetic/im_maxpos_vec.c +libvips/arithmetic/statistic.c +libvips/arithmetic/boolean.c +libvips/arithmetic/max.c libvips/cimg/cimg_dispatch.c -libvips/colour/im_rad2float.c -libvips/colour/im_LCh2UCS.c -libvips/colour/im_icc_transform.c -libvips/colour/disp.c -libvips/colour/im_dE_fromLab.c -libvips/colour/im_Yxy2XYZ.c -libvips/colour/im_LabQ2disp.c -libvips/colour/im_Lab2LabS.c -libvips/colour/im_LabQ2Lab.c -libvips/colour/im_UCS2LCh.c -libvips/colour/im_LabS2Lab.c -libvips/colour/im_dECMC_fromLab.c -libvips/colour/im_LabQ2LabS.c -libvips/colour/im_Lab2XYZ.c -libvips/colour/im_disp2XYZ.c libvips/colour/im_XYZ2disp.c +libvips/colour/im_LabQ2LabS.c +libvips/colour/im_dECMC_fromLab.c +libvips/colour/colour_dispatch.c +libvips/colour/im_LCh2UCS.c +libvips/colour/im_Lab2LabQ.c +libvips/colour/im_Lab2LabS.c +libvips/colour/im_XYZ2Yxy.c +libvips/colour/im_disp2XYZ.c +libvips/colour/im_UCS2LCh.c +libvips/colour/im_LabQ2Lab.c +libvips/colour/disp.c +libvips/colour/im_LCh2Lab.c libvips/colour/colour.c +libvips/colour/im_rad2float.c +libvips/colour/im_icc_transform.c +libvips/colour/derived.c libvips/colour/im_float2rad.c libvips/colour/im_Lab2LCh.c -libvips/colour/colour_dispatch.c -libvips/colour/derived.c -libvips/colour/im_argb2rgba.c -libvips/colour/im_LabS2LabQ.c +libvips/colour/im_LabS2Lab.c libvips/colour/im_dE00_fromLab.c -libvips/colour/im_lab_morph.c -libvips/colour/im_XYZ2Yxy.c -libvips/colour/im_Lab2LabQ.c -libvips/colour/im_LCh2Lab.c libvips/colour/im_XYZ2Lab.c -libvips/conversion/im_gaussnoise.c +libvips/colour/im_Yxy2XYZ.c +libvips/colour/im_lab_morph.c +libvips/colour/im_dE_fromLab.c +libvips/colour/im_Lab2XYZ.c +libvips/colour/im_LabQ2disp.c +libvips/colour/im_LabS2LabQ.c +libvips/conversion/flip.c libvips/conversion/bandmean.c +libvips/conversion/im_zoom.c +libvips/conversion/im_system.c +libvips/conversion/im_gaussnoise.c +libvips/conversion/bandary.c libvips/conversion/cast.c +libvips/conversion/conversion.c +libvips/conversion/im_subsample.c +libvips/conversion/im_grid.c +libvips/conversion/extract.c +libvips/conversion/bandjoin.c +libvips/conversion/im_msb.c +libvips/conversion/im_copy_file.c +libvips/conversion/black.c +libvips/conversion/copy.c +libvips/conversion/rot.c +libvips/conversion/im_scale.c +libvips/conversion/replicate.c +libvips/conversion/join.c +libvips/conversion/im_text.c +libvips/conversion/conver_dispatch.c +libvips/conversion/im_scaleps.c +libvips/conversion/im_wrap.c +libvips/conversion/insert.c +libvips/conversion/tilecache.c +libvips/conversion/im_system_image.c +libvips/conversion/embed.c +libvips/conversion/cache.c libvips/conversion/im_falsecolour.c libvips/conversion/ifthenelse.c -libvips/conversion/insert.c -libvips/conversion/im_system.c -libvips/conversion/tilecache.c -libvips/conversion/im_text.c -libvips/conversion/im_zoom.c -libvips/conversion/conver_dispatch.c -libvips/conversion/extract.c -libvips/conversion/im_copy_file.c -libvips/conversion/embed.c -libvips/conversion/im_grid.c -libvips/conversion/im_scaleps.c -libvips/conversion/im_scale.c -libvips/conversion/join.c -libvips/conversion/rot.c -libvips/conversion/flip.c -libvips/conversion/copy.c -libvips/conversion/bandary.c -libvips/conversion/im_wrap.c -libvips/conversion/conversion.c libvips/conversion/recomb.c -libvips/conversion/replicate.c -libvips/conversion/black.c -libvips/conversion/im_msb.c -libvips/conversion/im_system_image.c -libvips/conversion/cache.c -libvips/conversion/im_subsample.c -libvips/conversion/bandjoin.c -libvips/convolution/im_contrast_surface.c -libvips/convolution/im_aconvsep.c -libvips/convolution/im_gradcor.c -libvips/convolution/im_compass.c +libvips/conversion/sequential.c libvips/convolution/im_conv.c libvips/convolution/im_fastcor.c -libvips/convolution/convol_dispatch.c -libvips/convolution/im_conv_f.c -libvips/convolution/im_addgnoise.c +libvips/convolution/im_contrast_surface.c +libvips/convolution/im_compass.c libvips/convolution/im_spcor.c -libvips/convolution/im_sharpen.c +libvips/convolution/im_gradcor.c +libvips/convolution/im_conv_f.c +libvips/convolution/im_aconvsep.c +libvips/convolution/convol_dispatch.c libvips/convolution/im_aconv.c -libvips/foreign/rawload.c -libvips/foreign/fitssave.c -libvips/foreign/ppmload.c -libvips/foreign/radload.c -libvips/foreign/openslideload.c -libvips/foreign/tiffload.c -libvips/foreign/fitsload.c -libvips/foreign/vipssave.c -libvips/foreign/radsave.c -libvips/foreign/openexrload.c -libvips/foreign/analyzeload.c -libvips/foreign/pngload.c -libvips/foreign/tiffsave.c -libvips/foreign/csv.c -libvips/foreign/vipsload.c -libvips/foreign/magickload.c -libvips/foreign/matload.c -libvips/foreign/jpegload.c -libvips/foreign/openslide2vips.c -libvips/foreign/analyze2vips.c -libvips/foreign/tiff2vips.c -libvips/foreign/jpegsave.c +libvips/convolution/im_addgnoise.c +libvips/convolution/im_sharpen.c libvips/foreign/rawsave.c -libvips/foreign/ppmsave.c -libvips/foreign/vips2jpeg.c -libvips/foreign/openexr2vips.c +libvips/foreign/radload.c +libvips/foreign/tiffload.c libvips/foreign/magick2vips.c +libvips/foreign/ppmsave.c +libvips/foreign/vipsload.c +libvips/foreign/pngload.c +libvips/foreign/analyze2vips.c +libvips/foreign/jpeg2vips.c +libvips/foreign/radiance.c +libvips/foreign/openexrload.c +libvips/foreign/tiffsave.c +libvips/foreign/analyzeload.c +libvips/foreign/jpegsave.c +libvips/foreign/vips2jpeg.c +libvips/foreign/ppm.c +libvips/foreign/fitsload.c +libvips/foreign/ppmload.c +libvips/foreign/csvload.c +libvips/foreign/magickload.c +libvips/foreign/openslideload.c +libvips/foreign/csvsave.c +libvips/foreign/jpegload.c +libvips/foreign/rawload.c +libvips/foreign/openexr2vips.c +libvips/foreign/tiff2vips.c +libvips/foreign/csv.c +libvips/foreign/matload.c +libvips/foreign/fitssave.c +libvips/foreign/radsave.c +libvips/foreign/vipssave.c +libvips/foreign/fits.c +libvips/foreign/openslide2vips.c +libvips/foreign/pngsave.c +libvips/foreign/vips2tiff.c +libvips/foreign/foreign.c libvips/foreign/vipspng.c libvips/foreign/matlab.c -libvips/foreign/jpeg2vips.c -libvips/foreign/fits.c -libvips/foreign/csvsave.c -libvips/foreign/ppm.c -libvips/foreign/vips2tiff.c -libvips/foreign/radiance.c -libvips/foreign/csvload.c -libvips/foreign/pngsave.c -libvips/foreign/foreign.c -libvips/freq_filt/im_freq_mask.c libvips/freq_filt/im_phasecor_fft.c -libvips/freq_filt/fmaskcir.c -libvips/freq_filt/im_fractsurf.c libvips/freq_filt/im_freqflt.c +libvips/freq_filt/im_fractsurf.c +libvips/freq_filt/im_freq_mask.c +libvips/freq_filt/freq_dispatch.c +libvips/freq_filt/im_disp_ps.c +libvips/freq_filt/im_fwfft.c +libvips/freq_filt/im_invfftr.c +libvips/freq_filt/fmaskcir.c libvips/freq_filt/fmask4th.c libvips/freq_filt/im_invfft.c -libvips/freq_filt/freq_dispatch.c libvips/freq_filt/im_rotquad.c -libvips/freq_filt/im_invfftr.c -libvips/freq_filt/im_fwfft.c -libvips/freq_filt/im_disp_ps.c -libvips/histograms_lut/im_gammacorrect.c -libvips/histograms_lut/im_hist.c -libvips/histograms_lut/im_project.c -libvips/histograms_lut/im_stdif.c -libvips/histograms_lut/im_mpercent.c +libvips/histograms_lut/im_histeq.c +libvips/histograms_lut/im_buildlut.c libvips/histograms_lut/im_histnD.c libvips/histograms_lut/im_histspec.c -libvips/histograms_lut/im_identity.c -libvips/histograms_lut/im_histindexed.c -libvips/histograms_lut/hist_dispatch.c -libvips/histograms_lut/im_hsp.c -libvips/histograms_lut/im_histgr.c -libvips/histograms_lut/im_buildlut.c -libvips/histograms_lut/tone.c -libvips/histograms_lut/im_histeq.c -libvips/histograms_lut/im_histplot.c -libvips/histograms_lut/im_lhisteq.c -libvips/histograms_lut/im_invertlut.c libvips/histograms_lut/im_heq.c +libvips/histograms_lut/im_hist.c +libvips/histograms_lut/im_stdif.c +libvips/histograms_lut/im_invertlut.c +libvips/histograms_lut/im_histplot.c +libvips/histograms_lut/im_project.c +libvips/histograms_lut/im_gammacorrect.c +libvips/histograms_lut/im_hsp.c +libvips/histograms_lut/im_mpercent.c +libvips/histograms_lut/im_histgr.c +libvips/histograms_lut/hist_dispatch.c +libvips/histograms_lut/im_histindexed.c +libvips/histograms_lut/tone.c +libvips/histograms_lut/im_lhisteq.c +libvips/histograms_lut/im_identity.c libvips/histograms_lut/im_maplut.c libvips/inplace/im_draw_point.c +libvips/inplace/im_draw_line.c +libvips/inplace/im_draw_rect.c libvips/inplace/im_draw_image.c libvips/inplace/draw.c libvips/inplace/flood.c -libvips/inplace/im_draw_smudge.c -libvips/inplace/im_draw_rect.c -libvips/inplace/im_draw_line.c libvips/inplace/im_draw_circle.c libvips/inplace/im_draw_mask.c +libvips/inplace/im_draw_smudge.c libvips/inplace/inplace_dispatch.c -libvips/iofuncs/sink.c -libvips/iofuncs/rect.c -libvips/iofuncs/semaphore.c -libvips/iofuncs/memory.c -libvips/iofuncs/vips.c -libvips/iofuncs/generate.c -libvips/iofuncs/region.c -libvips/iofuncs/init.c -libvips/iofuncs/image.c -libvips/iofuncs/sinkscreen.c libvips/iofuncs/vector.c -libvips/iofuncs/mapfile.c -libvips/iofuncs/base64.c -libvips/iofuncs/type.c -libvips/iofuncs/object.c -libvips/iofuncs/buf.c -libvips/iofuncs/util.c -libvips/iofuncs/enumtypes.c libvips/iofuncs/operation.c -libvips/iofuncs/header.c -libvips/iofuncs/sinkmemory.c -libvips/iofuncs/window.c libvips/iofuncs/sinkdisc.c +libvips/iofuncs/vips.c libvips/iofuncs/buffer.c -libvips/iofuncs/cache.c +libvips/iofuncs/enumtypes.c +libvips/iofuncs/semaphore.c +libvips/iofuncs/sinkscreen.c +libvips/iofuncs/window.c +libvips/iofuncs/sinkmemory.c +libvips/iofuncs/header.c +libvips/iofuncs/type.c +libvips/iofuncs/image.c +libvips/iofuncs/region.c +libvips/iofuncs/sink.c libvips/iofuncs/error.c +libvips/iofuncs/util.c +libvips/iofuncs/buf.c +libvips/iofuncs/base64.c +libvips/iofuncs/generate.c +libvips/iofuncs/mapfile.c +libvips/iofuncs/rect.c +libvips/iofuncs/init.c +libvips/iofuncs/object.c libvips/iofuncs/threadpool.c -libvips/morphology/im_profile.c -libvips/morphology/morphology.c -libvips/morphology/im_label_regions.c -libvips/morphology/morph_dispatch.c -libvips/morphology/im_zerox.c +libvips/iofuncs/memory.c +libvips/iofuncs/cache.c libvips/morphology/im_cntlines.c -libvips/morphology/im_rank.c +libvips/morphology/im_profile.c +libvips/morphology/morph_dispatch.c libvips/morphology/im_rank_image.c -libvips/mosaicing/mosaicing_dispatch.c -libvips/mosaicing/im_lrmerge.c -libvips/mosaicing/im_remosaic.c -libvips/mosaicing/im_tbmosaic.c -libvips/mosaicing/im_chkpair.c -libvips/mosaicing/im_tbcalcon.c -libvips/mosaicing/global_balance.c -libvips/mosaicing/im_tbmerge.c -libvips/mosaicing/im_maxpos_subpel.c -libvips/mosaicing/im_improve.c -libvips/mosaicing/im_avgdxdy.c -libvips/mosaicing/im_align_bands.c -libvips/mosaicing/im_lrcalcon.c -libvips/mosaicing/im_initialize.c -libvips/mosaicing/match.c +libvips/morphology/morphology.c +libvips/morphology/im_zerox.c +libvips/morphology/im_label_regions.c +libvips/morphology/im_rank.c libvips/mosaicing/mosaic1.c libvips/mosaicing/im_clinear.c +libvips/mosaicing/match.c +libvips/mosaicing/mosaicing_dispatch.c +libvips/mosaicing/im_improve.c +libvips/mosaicing/im_tbmosaic.c +libvips/mosaicing/im_tbmerge.c +libvips/mosaicing/global_balance.c +libvips/mosaicing/im_align_bands.c +libvips/mosaicing/im_lrmerge.c +libvips/mosaicing/im_initialize.c +libvips/mosaicing/im_avgdxdy.c +libvips/mosaicing/im_maxpos_subpel.c libvips/mosaicing/im_lrmosaic.c -libvips/other/im_grey.c +libvips/mosaicing/im_lrcalcon.c +libvips/mosaicing/im_chkpair.c +libvips/mosaicing/im_remosaic.c +libvips/mosaicing/im_tbcalcon.c libvips/other/other_dispatch.c libvips/other/im_benchmark.c -libvips/other/im_zone.c libvips/other/im_sines.c -libvips/other/im_eye.c libvips/other/im_make_xy.c -libvips/resample/im_affine.c -libvips/resample/transform.c +libvips/other/im_zone.c +libvips/other/im_eye.c +libvips/other/im_grey.c libvips/resample/im_shrink.c libvips/resample/resample_dispatch.c -libvips/resample/interpolate.c +libvips/resample/im_affine.c libvips/resample/im_rightshift_size.c +libvips/resample/transform.c +libvips/resample/interpolate.c libvips/video/video_dispatch.c libvips/video/im_video_test.c libvips/video/im_video_v4l1.c @@ -264,92 +264,91 @@ libvipsCC/VError.cc libvipsCC/VImage.cc libvipsCC/vipsc++.cc libvipsCC/VMask.cc -libvips/arithmetic/unary.h +libvips/cimg/dummy2.cc libvips/arithmetic/binary.h libvips/arithmetic/unaryconst.h libvips/arithmetic/statistic.h libvips/arithmetic/arithmetic.h -libvipsCC/include/vips/VDisplay.h +libvips/arithmetic/unary.h libvipsCC/include/vips/VImage.h libvipsCC/include/vips/vipscpp.h +libvipsCC/include/vips/VDisplay.h libvipsCC/include/vips/VError.h -libvipsCC/include/vips/VMask.h libvipsCC/include/vips/vipsc++.h +libvipsCC/include/vips/VMask.h libvips/cimg/CImg.h -libvips/conversion/bandary.h libvips/conversion/conversion.h -libvips/foreign/vipspng.h -libvips/foreign/openexr2vips.h -libvips/foreign/tiff.h -libvips/foreign/jpeg.h -libvips/foreign/radiance.h -libvips/foreign/fits.h -libvips/foreign/analyze2vips.h -libvips/foreign/csv.h -libvips/foreign/ppm.h -libvips/foreign/matlab.h +libvips/conversion/bandary.h libvips/foreign/dbh.h -libvips/foreign/magick.h +libvips/foreign/matlab.h +libvips/foreign/jpeg.h +libvips/foreign/analyze2vips.h +libvips/foreign/vipspng.h +libvips/foreign/ppm.h +libvips/foreign/csv.h +libvips/foreign/openexr2vips.h libvips/foreign/openslide2vips.h -libvips/include/vips/type.h -libvips/include/vips/operation.h -libvips/include/vips/deprecated.h -libvips/include/vips/image.h +libvips/foreign/radiance.h +libvips/foreign/magick.h +libvips/foreign/tiff.h +libvips/foreign/fits.h libvips/include/vips/mosaicing.h -libvips/include/vips/freq_filt.h -libvips/include/vips/buf.h -libvips/include/vips/threadpool.h -libvips/include/vips/header.h -libvips/include/vips/inlines.h -libvips/include/vips/generate.h -libvips/include/vips/cimg_funcs.h -libvips/include/vips/object.h -libvips/include/vips/other.h -libvips/include/vips/util.h -libvips/include/vips/inplace.h -libvips/include/vips/version.h -libvips/include/vips/private.h -libvips/include/vips/conversion.h -libvips/include/vips/almostdeprecated.h -libvips/include/vips/resample.h -libvips/include/vips/dispatch.h -libvips/include/vips/rect.h libvips/include/vips/semaphore.h -libvips/include/vips/disp.h -libvips/include/vips/colour.h -libvips/include/vips/enumtypes.h -libvips/include/vips/vector.h -libvips/include/vips/intl.h -libvips/include/vips/region.h -libvips/include/vips/morphology.h -libvips/include/vips/format.h -libvips/include/vips/foreign.h -libvips/include/vips/internal.h -libvips/include/vips/interpolate.h -libvips/include/vips/memory.h -libvips/include/vips/transform.h -libvips/include/vips/error.h -libvips/include/vips/basic.h -libvips/include/vips/convolution.h -libvips/include/vips/mask.h +libvips/include/vips/freq_filt.h +libvips/include/vips/cimg_funcs.h +libvips/include/vips/operation.h libvips/include/vips/vips.h +libvips/include/vips/memory.h +libvips/include/vips/buf.h +libvips/include/vips/dispatch.h libvips/include/vips/vips7compat.h -libvips/include/vips/debug.h -libvips/include/vips/histograms_lut.h -libvips/include/vips/thread.h +libvips/include/vips/conversion.h +libvips/include/vips/basic.h +libvips/include/vips/inplace.h libvips/include/vips/relational.h -libvips/include/vips/video.h +libvips/include/vips/mask.h +libvips/include/vips/rect.h +libvips/include/vips/generate.h libvips/include/vips/arithmetic.h +libvips/include/vips/version.h +libvips/include/vips/util.h +libvips/include/vips/colour.h +libvips/include/vips/threadpool.h +libvips/include/vips/vector.h +libvips/include/vips/morphology.h +libvips/include/vips/error.h +libvips/include/vips/transform.h +libvips/include/vips/region.h +libvips/include/vips/header.h +libvips/include/vips/image.h +libvips/include/vips/intl.h +libvips/include/vips/video.h +libvips/include/vips/enumtypes.h +libvips/include/vips/thread.h +libvips/include/vips/convolution.h +libvips/include/vips/debug.h +libvips/include/vips/interpolate.h +libvips/include/vips/private.h +libvips/include/vips/format.h +libvips/include/vips/object.h +libvips/include/vips/inlines.h +libvips/include/vips/histograms_lut.h +libvips/include/vips/other.h +libvips/include/vips/foreign.h +libvips/include/vips/resample.h +libvips/include/vips/internal.h +libvips/include/vips/disp.h +libvips/include/vips/type.h libvips/inplace/draw.h libvips/iofuncs/sink.h libvips/iofuncs/base64.h +libvips/mosaicing/global_balance.h libvips/mosaicing/mosaic.h libvips/mosaicing/merge.h -libvips/mosaicing/global_balance.h libvips/resample/templates.h libvips/video/im_video_v4l1.h libvips/cimg/cimg.cpp -libvips/resample/bicubic.cpp -libvips/resample/nohalo.cpp libvips/resample/vsqbs.cpp +libvips/resample/nohalo.cpp libvips/resample/lbb.cpp +libvips/resample/bicubic.cpp diff --git a/po/vips7.pot b/po/vips7.pot deleted file mode 100644 index 59f111f0..00000000 --- a/po/vips7.pot +++ /dev/null @@ -1,3451 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-03-08 21:02+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" - -#: libvips/arithmetic/abs.c:215 -msgid "absolute value of an image" -msgstr "" - -#: libvips/arithmetic/statistic.c:147 -msgid "VIPS statistic operations" -msgstr "" - -#: libvips/arithmetic/statistic.c:151 libvips/arithmetic/unary.c:87 -#: libvips/conversion/bandmean.c:197 libvips/conversion/cast.c:474 -#: libvips/conversion/tilecache.c:422 libvips/conversion/extract.c:194 -#: libvips/conversion/extract.c:353 libvips/conversion/embed.c:516 -#: libvips/conversion/rot.c:355 libvips/conversion/flip.c:240 -#: libvips/conversion/copy.c:318 libvips/conversion/recomb.c:200 -#: libvips/conversion/replicate.c:196 libvips/conversion/cache.c:106 -#: libvips/conversion/bandjoin.c:171 libvips/foreign/foreign.c:1379 -msgid "Input" -msgstr "" - -#: libvips/arithmetic/statistic.c:152 libvips/conversion/cast.c:475 -#: libvips/conversion/tilecache.c:423 libvips/conversion/extract.c:195 -#: libvips/conversion/extract.c:354 libvips/conversion/embed.c:517 -#: libvips/conversion/rot.c:356 libvips/conversion/flip.c:241 -#: libvips/conversion/copy.c:319 libvips/conversion/replicate.c:197 -#: libvips/conversion/cache.c:107 -msgid "Input image" -msgstr "" - -#: libvips/arithmetic/im_point_bilinear.c:74 -msgid "coords outside image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:298 -msgid "absolute value" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:317 libvips/arithmetic/add.c:186 -msgid "add two images" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:342 -msgid "average value of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:431 -msgid "standard deviation of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:450 -msgid "10^pel of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:469 -msgid "e^pel of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:498 -msgid "x^pel of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:527 -msgid "[x,y,z]^pel of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:546 libvips/arithmetic/divide.c:225 -msgid "divide two images" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:565 -msgid "photographic negative" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:596 -msgid "calculate a*in + b = outfile" -msgstr "" - -#: libvips/arithmetic/arith_dispatch.c:622 -msgid "vectors not equal length" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:633 -msgid "calculate a*in + b -> out, a and b vectors" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:652 -msgid "log10 of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:671 -msgid "ln of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:690 -msgid "tan of image (angles in degrees)" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:709 -msgid "atan of image (result in degrees)" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:728 -msgid "cos of image (angles in degrees)" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:747 -msgid "acos of image (result in degrees)" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:766 -msgid "round to smallest integer value not less than" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:785 -msgid "round to largest integer value not greater than" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:804 -msgid "round to nearest integer value" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:823 -msgid "sin of image (angles in degrees)" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:842 -msgid "average image bands" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:861 -msgid "unit vector in direction of value" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:880 -msgid "asin of image (result in degrees)" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:905 -msgid "maximum value of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:940 -msgid "position of maximum value of image" -msgstr "" - -#: libvips/arithmetic/arith_dispatch.c:968 -msgid "position of maximum value of image, averaging in case of draw" -msgstr "" - -#: libvips/arithmetic/arith_dispatch.c:1012 -msgid "position and value of n maxima of image" -msgstr "" - -#: libvips/arithmetic/arith_dispatch.c:1046 -msgid "position and value of n minima of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1094 -msgid "measure averages of a grid of patches" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1119 -msgid "minimum value of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1147 -msgid "position of minimum value of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1166 -msgid "remainder after integer division" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1195 -msgid "remainder after integer division by a constant" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1224 -msgid "remainder after integer division by a vector of constants" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1244 libvips/arithmetic/multiply.c:172 -msgid "multiply two images" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1265 -msgid "pel^x of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1286 -msgid "pel^[x,y,z] of image" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1317 -msgid "many image statistics in one pass" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1336 libvips/arithmetic/subtract.c:161 -msgid "subtract two images" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1384 -msgid "pixelwise linear regression" -msgstr "" - -#. Name -#: libvips/arithmetic/arith_dispatch.c:1403 -msgid "phase of cross power spectrum of two complex images" -msgstr "" - -#: libvips/arithmetic/linear.c:249 -msgid "calculate (a * in + b)" -msgstr "" - -#: libvips/arithmetic/linear.c:257 -msgid "a" -msgstr "" - -#: libvips/arithmetic/linear.c:258 -msgid "Multiply by this" -msgstr "" - -#: libvips/arithmetic/linear.c:264 -msgid "b" -msgstr "" - -#: libvips/arithmetic/linear.c:265 -msgid "Add this" -msgstr "" - -#: libvips/arithmetic/remainder.c:178 -msgid "remainder after integer division of two images" -msgstr "" - -#: libvips/arithmetic/remainder.c:327 -msgid "remainder after integer division of an image and a constant" -msgstr "" - -#: libvips/arithmetic/im_maxpos_vec.c:121 -#: libvips/arithmetic/im_maxpos_vec.c:186 -msgid "scalar images only" -msgstr "" - -#: libvips/arithmetic/im_maxpos_vec.c:126 -#: libvips/arithmetic/im_maxpos_vec.c:191 -msgid "single band images only" -msgstr "" - -#: libvips/arithmetic/im_maxpos_vec.c:131 -#: libvips/arithmetic/im_maxpos_vec.c:196 -msgid "uncoded images only" -msgstr "" - -#: libvips/arithmetic/im_maxpos_vec.c:136 -#: libvips/arithmetic/im_maxpos_vec.c:201 -msgid "invalid argument" -msgstr "" - -#: libvips/arithmetic/min.c:317 -msgid "find image minimum" -msgstr "" - -#: libvips/arithmetic/min.c:325 libvips/arithmetic/arithmetic.c:382 -#: libvips/arithmetic/stats.c:423 libvips/arithmetic/measure.c:202 -#: libvips/arithmetic/max.c:324 libvips/arithmetic/avg.c:218 -#: libvips/arithmetic/deviate.c:219 libvips/conversion/conversion.c:89 -#: libvips/foreign/foreign.c:897 -msgid "Output" -msgstr "" - -#: libvips/arithmetic/min.c:326 libvips/arithmetic/max.c:325 -#: libvips/arithmetic/avg.c:219 libvips/arithmetic/deviate.c:220 -msgid "Output value" -msgstr "" - -#: libvips/arithmetic/min.c:332 libvips/arithmetic/max.c:331 -#: libvips/conversion/embed.c:522 -msgid "x" -msgstr "" - -#: libvips/arithmetic/min.c:333 -msgid "Horizontal position of minimum" -msgstr "" - -#: libvips/arithmetic/min.c:339 libvips/arithmetic/max.c:338 -#: libvips/conversion/embed.c:529 -msgid "y" -msgstr "" - -#: libvips/arithmetic/min.c:340 -msgid "Vertical position of minimum" -msgstr "" - -#: libvips/arithmetic/boolean.c:209 -msgid "a boolean operation on a pair of images" -msgstr "" - -#: libvips/arithmetic/boolean.c:217 libvips/arithmetic/boolean.c:519 -#: libvips/arithmetic/math2.c:204 libvips/arithmetic/math2.c:401 -#: libvips/arithmetic/math.c:205 libvips/arithmetic/relational.c:227 -#: libvips/arithmetic/relational.c:560 libvips/arithmetic/complex.c:222 -#: libvips/arithmetic/complex.c:476 -msgid "Operation" -msgstr "" - -#: libvips/arithmetic/boolean.c:218 libvips/arithmetic/boolean.c:520 -msgid "boolean to perform" -msgstr "" - -#: libvips/arithmetic/boolean.c:511 -msgid "boolean operations against a constant" -msgstr "" - -#: libvips/arithmetic/arithmetic.c:164 -#, c-format -msgid "not one band or %d bands" -msgstr "" - -#: libvips/arithmetic/arithmetic.c:168 libvips/histograms_lut/im_identity.c:80 -#: libvips/histograms_lut/im_identity.c:143 -msgid "bad bands" -msgstr "" - -#: libvips/arithmetic/arithmetic.c:324 libvips/conversion/bandary.c:131 -msgid "too many input images" -msgstr "" - -#: libvips/arithmetic/arithmetic.c:378 -msgid "arithmetic operations" -msgstr "" - -#: libvips/arithmetic/arithmetic.c:383 libvips/conversion/conversion.c:90 -#: libvips/foreign/foreign.c:898 -msgid "Output image" -msgstr "" - -#: libvips/arithmetic/stats.c:415 libvips/arithmetic/avg.c:210 -#: libvips/arithmetic/deviate.c:211 -msgid "find image average" -msgstr "" - -#: libvips/arithmetic/stats.c:424 libvips/arithmetic/measure.c:203 -msgid "Output array of statistics" -msgstr "" - -#: libvips/arithmetic/math2.c:196 -msgid "pow( left, right)" -msgstr "" - -#: libvips/arithmetic/math2.c:205 libvips/arithmetic/math2.c:402 -#: libvips/arithmetic/math.c:206 -msgid "math to perform" -msgstr "" - -#: libvips/arithmetic/math2.c:393 -msgid "pow( @in, @c )" -msgstr "" - -#: libvips/arithmetic/round.c:160 -msgid "perform a round function on an image" -msgstr "" - -#: libvips/arithmetic/round.c:168 -msgid "Round operation" -msgstr "" - -#: libvips/arithmetic/round.c:169 -msgid "rounding operation to perform" -msgstr "" - -#: libvips/arithmetic/measure.c:163 -#, c-format -msgid "patch %d x %d, band %d: avg = %g, sdev = %g" -msgstr "" - -#: libvips/arithmetic/measure.c:192 -msgid "measure a set of patches on a colour chart" -msgstr "" - -#: libvips/arithmetic/measure.c:196 -msgid "in" -msgstr "" - -#: libvips/arithmetic/measure.c:197 -msgid "Image to measure" -msgstr "" - -#: libvips/arithmetic/measure.c:208 libvips/conversion/replicate.c:202 -msgid "Across" -msgstr "" - -#: libvips/arithmetic/measure.c:209 -msgid "Number of patches across chart" -msgstr "" - -#: libvips/arithmetic/measure.c:215 libvips/conversion/replicate.c:209 -msgid "Down" -msgstr "" - -#: libvips/arithmetic/measure.c:216 -msgid "Number of patches down chart" -msgstr "" - -#: libvips/arithmetic/measure.c:222 libvips/arithmetic/binary.c:95 -#: libvips/conversion/extract.c:200 -msgid "Left" -msgstr "" - -#: libvips/arithmetic/measure.c:223 libvips/conversion/extract.c:201 -msgid "Left edge of extract area" -msgstr "" - -#: libvips/arithmetic/measure.c:229 libvips/conversion/extract.c:207 -msgid "Top" -msgstr "" - -#: libvips/arithmetic/measure.c:230 libvips/conversion/extract.c:208 -msgid "Top edge of extract area" -msgstr "" - -#: libvips/arithmetic/measure.c:236 libvips/conversion/extract.c:214 -#: libvips/conversion/embed.c:536 libvips/conversion/copy.c:331 -#: libvips/conversion/black.c:128 libvips/foreign/rawload.c:122 -#: libvips/iofuncs/image.c:845 -msgid "Width" -msgstr "" - -#: libvips/arithmetic/measure.c:237 libvips/conversion/extract.c:215 -msgid "Width of extract area" -msgstr "" - -#: libvips/arithmetic/measure.c:243 libvips/conversion/extract.c:221 -#: libvips/conversion/embed.c:543 libvips/conversion/copy.c:338 -#: libvips/conversion/black.c:135 libvips/foreign/rawload.c:129 -#: libvips/iofuncs/image.c:852 -msgid "Height" -msgstr "" - -#: libvips/arithmetic/measure.c:244 libvips/conversion/extract.c:222 -msgid "Height of extract area" -msgstr "" - -#: libvips/arithmetic/math.c:197 -msgid "perform a math function on an image" -msgstr "" - -#: libvips/arithmetic/relational.c:219 -msgid "a relational operation on a pair of images" -msgstr "" - -#: libvips/arithmetic/relational.c:228 libvips/arithmetic/relational.c:561 -msgid "relational to perform" -msgstr "" - -#: libvips/arithmetic/relational.c:552 -msgid "relational operations against a constant" -msgstr "" - -#: libvips/arithmetic/unaryconst.c:201 -msgid "unary operations with a constant" -msgstr "" - -#: libvips/arithmetic/unaryconst.c:205 -msgid "c" -msgstr "" - -#: libvips/arithmetic/unaryconst.c:206 -msgid "Array of constants" -msgstr "" - -#: libvips/arithmetic/unary.c:80 -msgid "unary operations" -msgstr "" - -#: libvips/arithmetic/unary.c:88 libvips/conversion/bandmean.c:198 -#: libvips/conversion/recomb.c:201 -msgid "Input image argument" -msgstr "" - -#: libvips/arithmetic/invert.c:152 -msgid "invert an image" -msgstr "" - -#: libvips/arithmetic/max.c:316 -msgid "find image maximum" -msgstr "" - -#: libvips/arithmetic/max.c:332 -msgid "Horizontal position of maximum" -msgstr "" - -#: libvips/arithmetic/max.c:339 -msgid "Vertical position of maximum" -msgstr "" - -#: libvips/arithmetic/complex.c:215 -msgid "perform a complex operation on an image" -msgstr "" - -#: libvips/arithmetic/complex.c:223 libvips/arithmetic/complex.c:477 -msgid "complex to perform" -msgstr "" - -#: libvips/arithmetic/complex.c:468 -msgid "get a component from a complex image" -msgstr "" - -#: libvips/arithmetic/complex.c:666 -msgid "form a complex image from two real images" -msgstr "" - -#: libvips/arithmetic/binary.c:88 -msgid "binary operations" -msgstr "" - -#: libvips/arithmetic/binary.c:96 -msgid "Left-hand image argument" -msgstr "" - -#: libvips/arithmetic/binary.c:101 -msgid "Right" -msgstr "" - -#: libvips/arithmetic/binary.c:102 -msgid "Right-hand image argument" -msgstr "" - -#: libvips/arithmetic/sign.c:151 -msgid "unit vector of pixel" -msgstr "" - -#: libvips/colour/im_rad2float.c:186 -msgid "not a RAD image" -msgstr "" - -#: libvips/colour/im_icc_transform.c:202 libvips/colour/im_icc_transform.c:212 -#: libvips/colour/im_icc_transform.c:1000 -#: libvips/colour/im_icc_transform.c:1010 -#, c-format -msgid "unable to open profile \"%s\"" -msgstr "" - -#: libvips/colour/im_icc_transform.c:223 -#: libvips/colour/im_icc_transform.c:1022 -msgid "unable to create profiles" -msgstr "" - -#: libvips/colour/im_icc_transform.c:242 -#: libvips/colour/im_icc_transform.c:1042 -msgid "unable to read profile" -msgstr "" - -#: libvips/colour/im_icc_transform.c:363 libvips/colour/im_icc_transform.c:372 -#: libvips/colour/im_icc_transform.c:737 -#: libvips/colour/im_icc_transform.c:1170 -#: libvips/colour/im_icc_transform.c:1179 -#: libvips/colour/im_icc_transform.c:1522 -#, c-format -msgid "" -"intent %d (%s) not supported by profile \"%s\"; falling back to default " -"intent (usually PERCEPTUAL)" -msgstr "" - -#: libvips/colour/im_icc_transform.c:382 -#: libvips/colour/im_icc_transform.c:1189 -msgid "CMYK input profile needs a 4 band input image" -msgstr "" - -#: libvips/colour/im_icc_transform.c:392 -#: libvips/colour/im_icc_transform.c:1199 -msgid "RGB input profile needs a 3 band input image" -msgstr "" - -#: libvips/colour/im_icc_transform.c:401 libvips/colour/im_icc_transform.c:551 -#: libvips/colour/im_icc_transform.c:1208 -#: libvips/colour/im_icc_transform.c:1340 -#, c-format -msgid "unimplemented input color space 0x%x" -msgstr "" - -#: libvips/colour/im_icc_transform.c:428 libvips/colour/im_icc_transform.c:767 -#: libvips/colour/im_icc_transform.c:1235 -#: libvips/colour/im_icc_transform.c:1552 -#, c-format -msgid "unimplemented output color space 0x%x" -msgstr "" - -#: libvips/colour/im_icc_transform.c:444 libvips/colour/im_icc_transform.c:567 -#: libvips/colour/im_icc_transform.c:1251 -#: libvips/colour/im_icc_transform.c:1356 -msgid "uchar or ushort input only" -msgstr "" - -#: libvips/colour/im_icc_transform.c:516 -#: libvips/colour/im_icc_transform.c:1305 -#, c-format -msgid "" -"intent %d (%s) not supported by profile; falling back to default intent " -"(usually PERCEPTUAL)" -msgstr "" - -#: libvips/colour/im_icc_transform.c:533 -#: libvips/colour/im_icc_transform.c:1322 -msgid "CMYK profile needs a 4 band input image" -msgstr "" - -#: libvips/colour/im_icc_transform.c:543 -#: libvips/colour/im_icc_transform.c:1332 -msgid "RGB profile needs a 3 band input image" -msgstr "" - -#: libvips/colour/im_icc_transform.c:634 -#: libvips/colour/im_icc_transform.c:1427 -msgid "no embedded profile" -msgstr "" - -#: libvips/colour/im_icc_transform.c:726 -#: libvips/colour/im_icc_transform.c:1511 -msgid "unsupported bit depth" -msgstr "" - -#: libvips/colour/im_icc_transform.c:815 -#: libvips/colour/im_icc_transform.c:1605 -msgid "unable to get media white point" -msgstr "" - -#: libvips/colour/im_icc_transform.c:1672 -msgid "lcms library not linked to this VIPS" -msgstr "" - -#: libvips/colour/im_icc_transform.c:1682 -#: libvips/colour/im_icc_transform.c:1691 -#: libvips/colour/im_icc_transform.c:1701 -#: libvips/colour/im_icc_transform.c:1710 -msgid "lmcs library not linked to this VIPS" -msgstr "" - -#: libvips/colour/disp.c:397 -msgid "out of range [0,255]" -msgstr "" - -#: libvips/colour/disp.c:423 -msgid "bad display type" -msgstr "" - -#: libvips/colour/disp.c:537 -msgid "display unknown" -msgstr "" - -#: libvips/colour/im_disp2XYZ.c:86 -msgid "input not 3-band uncoded char" -msgstr "" - -#: libvips/colour/im_XYZ2disp.c:139 -msgid "3-band uncoded float only" -msgstr "" - -#: libvips/colour/im_lab_morph.c:75 -msgid "bad greyscale mask size" -msgstr "" - -#: libvips/colour/im_lab_morph.c:86 -#, c-format -msgid "bad greyscale mask value, row %d" -msgstr "" - -#: libvips/conversion/im_gaussnoise.c:124 -msgid "bad parameter" -msgstr "" - -#: libvips/conversion/bandmean.c:191 -msgid "band-wise average" -msgstr "" - -#: libvips/conversion/cast.c:123 -#, c-format -msgid "%d underflows and %d overflows detected" -msgstr "" - -#: libvips/conversion/cast.c:470 -msgid "cast an image" -msgstr "" - -#: libvips/conversion/cast.c:480 libvips/conversion/copy.c:352 -#: libvips/iofuncs/image.c:866 -msgid "Format" -msgstr "" - -#: libvips/conversion/cast.c:481 -msgid "Format to cast to" -msgstr "" - -#: libvips/conversion/ifthenelse.c:395 -msgid "ifthenelse an image" -msgstr "" - -#: libvips/conversion/ifthenelse.c:399 -msgid "Condition" -msgstr "" - -#: libvips/conversion/ifthenelse.c:400 -msgid "Condition input image" -msgstr "" - -#: libvips/conversion/ifthenelse.c:405 -msgid "Then image" -msgstr "" - -#: libvips/conversion/ifthenelse.c:406 -msgid "Source for TRUE pixels" -msgstr "" - -#: libvips/conversion/ifthenelse.c:411 -msgid "Else image" -msgstr "" - -#: libvips/conversion/ifthenelse.c:412 -msgid "Source for FALSE pixels" -msgstr "" - -#: libvips/conversion/ifthenelse.c:417 -msgid "blend" -msgstr "" - -#: libvips/conversion/ifthenelse.c:418 -msgid "Blend smoothly between then and else parts" -msgstr "" - -#: libvips/conversion/insert.c:349 -msgid "insert an image" -msgstr "" - -#: libvips/conversion/insert.c:353 -msgid "Main" -msgstr "" - -#: libvips/conversion/insert.c:354 -msgid "Main input image" -msgstr "" - -#: libvips/conversion/insert.c:359 -msgid "Sub-image" -msgstr "" - -#: libvips/conversion/insert.c:360 -msgid "Sub-image to insert into main image" -msgstr "" - -#: libvips/conversion/insert.c:365 -msgid "X" -msgstr "" - -#: libvips/conversion/insert.c:366 -msgid "Left edge of sub in main" -msgstr "" - -#: libvips/conversion/insert.c:372 -msgid "Y" -msgstr "" - -#: libvips/conversion/insert.c:373 -msgid "Top edge of sub in main" -msgstr "" - -#: libvips/conversion/insert.c:379 libvips/conversion/join.c:233 -msgid "Expand" -msgstr "" - -#: libvips/conversion/insert.c:380 libvips/conversion/join.c:234 -msgid "Expand output to hold all of both inputs" -msgstr "" - -#: libvips/conversion/insert.c:386 libvips/conversion/join.c:247 -msgid "Background" -msgstr "" - -#: libvips/conversion/insert.c:387 libvips/conversion/join.c:248 -msgid "Colour for new pixels" -msgstr "" - -#: libvips/conversion/tilecache.c:418 libvips/conversion/cache.c:102 -msgid "cache an image" -msgstr "" - -#: libvips/conversion/tilecache.c:428 libvips/conversion/cache.c:112 -#: libvips/foreign/tiffsave.c:213 -msgid "Tile width" -msgstr "" - -#: libvips/conversion/tilecache.c:429 libvips/conversion/cache.c:113 -#: libvips/foreign/tiffsave.c:214 -msgid "Tile width in pixels" -msgstr "" - -#: libvips/conversion/tilecache.c:435 libvips/conversion/cache.c:119 -#: libvips/foreign/tiffsave.c:220 -msgid "Tile height" -msgstr "" - -#: libvips/conversion/tilecache.c:436 libvips/conversion/cache.c:120 -#: libvips/foreign/tiffsave.c:221 -msgid "Tile height in pixels" -msgstr "" - -#: libvips/conversion/tilecache.c:442 libvips/conversion/cache.c:126 -msgid "Max tiles" -msgstr "" - -#: libvips/conversion/tilecache.c:443 libvips/conversion/cache.c:127 -msgid "Maximum number of tiles to cache" -msgstr "" - -#: libvips/conversion/tilecache.c:449 -msgid "Strategy" -msgstr "" - -#: libvips/conversion/tilecache.c:450 -msgid "Expected access pattern" -msgstr "" - -#: libvips/conversion/im_text.c:132 -msgid "no text to render" -msgstr "" - -#: libvips/conversion/im_text.c:219 -msgid "invalid markup in text" -msgstr "" - -#: libvips/conversion/im_text.c:252 -msgid "pangoft2 support disabled" -msgstr "" - -#: libvips/conversion/im_zoom.c:331 -msgid "zoom factors should be >= 0" -msgstr "" - -#. Make sure we won't get integer overflow. -#. -#: libvips/conversion/im_zoom.c:338 -msgid "zoom factors too large" -msgstr "" - -#: libvips/conversion/conver_dispatch.c:918 -#: libvips/inplace/inplace_dispatch.c:171 -msgid "vectors not same length" -msgstr "" - -#: libvips/conversion/extract.c:147 -msgid "bad extract area" -msgstr "" - -#: libvips/conversion/extract.c:190 -msgid "extract an area from an image" -msgstr "" - -#: libvips/conversion/extract.c:318 -msgid "bad extract band" -msgstr "" - -#: libvips/conversion/extract.c:347 -msgid "extract band from an image" -msgstr "" - -#: libvips/conversion/extract.c:359 -msgid "Band" -msgstr "" - -#: libvips/conversion/extract.c:360 -msgid "Band to extract" -msgstr "" - -#: libvips/conversion/extract.c:366 -msgid "n" -msgstr "" - -#: libvips/conversion/extract.c:367 -msgid "Number of bands to extract" -msgstr "" - -#: libvips/conversion/embed.c:430 libvips/iofuncs/image.c:1777 -msgid "bad dimensions" -msgstr "" - -#: libvips/conversion/embed.c:512 -msgid "embed an image in a larger image" -msgstr "" - -#: libvips/conversion/embed.c:523 -msgid "Left edge of input in output" -msgstr "" - -#: libvips/conversion/embed.c:530 -msgid "Top edge of input in output" -msgstr "" - -#: libvips/conversion/embed.c:537 libvips/conversion/copy.c:332 -#: libvips/conversion/black.c:129 libvips/foreign/rawload.c:123 -#: libvips/iofuncs/image.c:846 -msgid "Image width in pixels" -msgstr "" - -#: libvips/conversion/embed.c:544 libvips/conversion/copy.c:339 -#: libvips/conversion/black.c:136 libvips/foreign/rawload.c:130 -#: libvips/iofuncs/image.c:853 -msgid "Image height in pixels" -msgstr "" - -#: libvips/conversion/embed.c:550 -msgid "Extend" -msgstr "" - -#: libvips/conversion/embed.c:551 -msgid "How to generate the extra pixels" -msgstr "" - -#: libvips/conversion/im_grid.c:164 -#: libvips/convolution/im_contrast_surface.c:140 libvips/iofuncs/image.c:710 -#: libvips/iofuncs/sinkscreen.c:1082 libvips/morphology/im_rank.c:342 -msgid "bad parameters" -msgstr "" - -#: libvips/conversion/im_grid.c:169 -msgid "bad grid geometry" -msgstr "" - -#: libvips/conversion/join.c:210 -msgid "join a pair of images" -msgstr "" - -#: libvips/conversion/join.c:214 -msgid "in1" -msgstr "" - -#: libvips/conversion/join.c:215 -msgid "First input image" -msgstr "" - -#: libvips/conversion/join.c:220 -msgid "in2" -msgstr "" - -#: libvips/conversion/join.c:221 -msgid "Second input image" -msgstr "" - -#: libvips/conversion/join.c:226 -msgid "direction" -msgstr "" - -#: libvips/conversion/join.c:227 -msgid "Join left-right or up-down" -msgstr "" - -#: libvips/conversion/join.c:240 -msgid "Shim" -msgstr "" - -#: libvips/conversion/join.c:241 -msgid "Pixels between images" -msgstr "" - -#: libvips/conversion/join.c:254 -msgid "Align" -msgstr "" - -#: libvips/conversion/join.c:255 -msgid "Align on the low, centre or high coordinate edge" -msgstr "" - -#: libvips/conversion/rot.c:351 -msgid "rotate an image" -msgstr "" - -#: libvips/conversion/rot.c:361 -msgid "Angle" -msgstr "" - -#: libvips/conversion/rot.c:362 -msgid "Angle to rotate image" -msgstr "" - -#: libvips/conversion/flip.c:236 -msgid "flip an image" -msgstr "" - -#: libvips/conversion/flip.c:246 -msgid "Direction" -msgstr "" - -#: libvips/conversion/flip.c:247 -msgid "Direction to flip image" -msgstr "" - -#: libvips/conversion/copy.c:314 -msgid "copy an image" -msgstr "" - -#: libvips/conversion/copy.c:324 -msgid "Swap" -msgstr "" - -#: libvips/conversion/copy.c:325 -msgid "Swap bytes in image between little and big-endian" -msgstr "" - -#: libvips/conversion/copy.c:345 libvips/conversion/black.c:142 -#: libvips/foreign/rawload.c:136 libvips/iofuncs/image.c:859 -msgid "Bands" -msgstr "" - -#: libvips/conversion/copy.c:346 libvips/conversion/black.c:143 -#: libvips/foreign/rawload.c:137 libvips/iofuncs/image.c:860 -msgid "Number of bands in image" -msgstr "" - -#: libvips/conversion/copy.c:353 libvips/iofuncs/image.c:867 -msgid "Pixel format in image" -msgstr "" - -#: libvips/conversion/copy.c:359 libvips/iofuncs/image.c:873 -msgid "Coding" -msgstr "" - -#: libvips/conversion/copy.c:360 libvips/iofuncs/image.c:874 -msgid "Pixel coding" -msgstr "" - -#: libvips/conversion/copy.c:366 libvips/iofuncs/image.c:880 -msgid "Interpretation" -msgstr "" - -#: libvips/conversion/copy.c:367 libvips/iofuncs/image.c:881 -msgid "Pixel interpretation" -msgstr "" - -#: libvips/conversion/copy.c:373 libvips/foreign/tiffsave.c:249 -#: libvips/iofuncs/image.c:887 -msgid "Xres" -msgstr "" - -#: libvips/conversion/copy.c:374 libvips/foreign/tiffsave.c:250 -#: libvips/iofuncs/image.c:888 -msgid "Horizontal resolution in pixels/mm" -msgstr "" - -#: libvips/conversion/copy.c:380 libvips/foreign/tiffsave.c:256 -#: libvips/iofuncs/image.c:894 -msgid "Yres" -msgstr "" - -#: libvips/conversion/copy.c:381 libvips/foreign/tiffsave.c:257 -#: libvips/iofuncs/image.c:895 -msgid "Vertical resolution in pixels/mm" -msgstr "" - -#: libvips/conversion/copy.c:387 libvips/iofuncs/image.c:901 -msgid "Xoffset" -msgstr "" - -#: libvips/conversion/copy.c:388 libvips/iofuncs/image.c:902 -msgid "Horizontal offset of origin" -msgstr "" - -#: libvips/conversion/copy.c:394 libvips/iofuncs/image.c:908 -msgid "Yoffset" -msgstr "" - -#: libvips/conversion/copy.c:395 libvips/iofuncs/image.c:909 -msgid "Vertical offset of origin" -msgstr "" - -#: libvips/conversion/bandary.c:127 -msgid "no input images" -msgstr "" - -#: libvips/conversion/bandary.c:173 -msgid "operations on image bands" -msgstr "" - -#: libvips/conversion/conversion.c:85 -msgid "conversion operations" -msgstr "" - -#: libvips/conversion/recomb.c:160 -msgid "bands in must equal matrix width" -msgstr "" - -#: libvips/conversion/recomb.c:196 -msgid "linear recombination with matrix" -msgstr "" - -#: libvips/conversion/recomb.c:206 -msgid "M" -msgstr "" - -#: libvips/conversion/recomb.c:207 -msgid "matrix of coefficients" -msgstr "" - -#: libvips/conversion/replicate.c:192 -msgid "replicate an image" -msgstr "" - -#: libvips/conversion/replicate.c:203 -msgid "Repeat this many times horizontally" -msgstr "" - -#: libvips/conversion/replicate.c:210 -msgid "Repeat this many times vertically" -msgstr "" - -#: libvips/conversion/black.c:124 -msgid "make a black image" -msgstr "" - -#: libvips/conversion/im_msb.c:134 libvips/conversion/im_msb.c:213 -msgid "unknown coding" -msgstr "" - -#: libvips/conversion/im_msb.c:169 libvips/resample/im_rightshift_size.c:116 -msgid "bad arguments" -msgstr "" - -#: libvips/conversion/im_msb.c:183 libvips/conversion/im_msb.c:200 -msgid "image does not have that many bands" -msgstr "" - -#: libvips/conversion/im_system_image.c:76 -#, c-format -msgid "command failed: \"%s\"" -msgstr "" - -#: libvips/conversion/im_subsample.c:202 -msgid "factors should both be >= 1" -msgstr "" - -#: libvips/conversion/im_subsample.c:221 libvips/resample/im_shrink.c:286 -msgid "image has shrunk to nothing" -msgstr "" - -#: libvips/conversion/bandjoin.c:165 -msgid "bandwise join a set of images" -msgstr "" - -#: libvips/conversion/bandjoin.c:172 -msgid "Array of input images" -msgstr "" - -#: libvips/convolution/im_contrast_surface.c:147 -msgid "parameters would result in zero size output image" -msgstr "" - -#: libvips/convolution/im_aconvsep.c:130 libvips/convolution/im_aconv.c:223 -#: libvips/convolution/im_aconv.c:229 libvips/convolution/im_aconv.c:750 -msgid "mask too complex" -msgstr "" - -#: libvips/convolution/im_aconvsep.c:798 libvips/convolution/im_conv.c:1038 -#: libvips/convolution/im_conv_f.c:340 libvips/convolution/im_aconv.c:980 -#: libvips/convolution/im_aconv.c:1201 libvips/morphology/morphology.c:721 -msgid "image too small for mask" -msgstr "" - -#: libvips/convolution/im_conv.c:215 -#, c-format -msgid "%d overflows and %d underflows detected" -msgstr "" - -#: libvips/convolution/im_conv.c:1125 libvips/convolution/im_conv_f.c:403 -msgid "expect 1xN or Nx1 input mask" -msgstr "" - -#: libvips/convolution/im_fastcor.c:134 libvips/convolution/im_spcor.c:247 -msgid "ref not smaller than or equal to in" -msgstr "" - -#: libvips/convolution/im_sharpen.c:325 libvips/histograms_lut/im_stdif.c:196 -msgid "parameters out of range" -msgstr "" - -#: libvips/foreign/rawload.c:107 -msgid "load raw data from a file" -msgstr "" - -#: libvips/foreign/rawload.c:115 libvips/foreign/fitssave.c:128 -#: libvips/foreign/ppmload.c:126 libvips/foreign/radload.c:126 -#: libvips/foreign/openslideload.c:176 libvips/foreign/tiffload.c:142 -#: libvips/foreign/fitsload.c:116 libvips/foreign/vipssave.c:125 -#: libvips/foreign/radsave.c:119 libvips/foreign/openexrload.c:137 -#: libvips/foreign/analyzeload.c:126 libvips/foreign/pngload.c:136 -#: libvips/foreign/tiffsave.c:169 libvips/foreign/vipsload.c:133 -#: libvips/foreign/magickload.c:146 libvips/foreign/matload.c:128 -#: libvips/foreign/jpegload.c:245 libvips/foreign/jpegsave.c:193 -#: libvips/foreign/rawsave.c:166 libvips/foreign/ppmsave.c:118 -#: libvips/foreign/csvsave.c:121 libvips/foreign/csvload.c:132 -#: libvips/foreign/pngsave.c:166 libvips/iofuncs/image.c:915 -msgid "Filename" -msgstr "" - -#: libvips/foreign/rawload.c:116 libvips/foreign/ppmload.c:127 -#: libvips/foreign/radload.c:127 libvips/foreign/openslideload.c:177 -#: libvips/foreign/tiffload.c:143 libvips/foreign/fitsload.c:117 -#: libvips/foreign/openexrload.c:138 libvips/foreign/analyzeload.c:127 -#: libvips/foreign/pngload.c:137 libvips/foreign/vipsload.c:134 -#: libvips/foreign/magickload.c:147 libvips/foreign/matload.c:129 -#: libvips/foreign/jpegload.c:246 libvips/foreign/csvload.c:133 -msgid "Filename to load from" -msgstr "" - -#: libvips/foreign/rawload.c:143 libvips/iofuncs/image.c:943 -msgid "Size of header" -msgstr "" - -#: libvips/foreign/rawload.c:144 libvips/iofuncs/image.c:944 -msgid "Offset in bytes from start of file" -msgstr "" - -#: libvips/foreign/fitssave.c:119 -msgid "save image to fits file" -msgstr "" - -#: libvips/foreign/fitssave.c:129 libvips/foreign/vipssave.c:126 -#: libvips/foreign/radsave.c:120 libvips/foreign/tiffsave.c:170 -#: libvips/foreign/jpegsave.c:194 libvips/foreign/rawsave.c:167 -#: libvips/foreign/ppmsave.c:119 libvips/foreign/csvsave.c:122 -#: libvips/foreign/pngsave.c:167 -msgid "Filename to save to" -msgstr "" - -#: libvips/foreign/ppmload.c:114 -msgid "load ppm from file" -msgstr "" - -#: libvips/foreign/radload.c:114 -msgid "load a Radiance image from a file" -msgstr "" - -#: libvips/foreign/openslideload.c:159 -msgid "load file with OpenSlide" -msgstr "" - -#: libvips/foreign/openslideload.c:183 -msgid "Level" -msgstr "" - -#: libvips/foreign/openslideload.c:184 -msgid "Load this level from the file" -msgstr "" - -#: libvips/foreign/openslideload.c:190 -msgid "Associated" -msgstr "" - -#: libvips/foreign/openslideload.c:191 -msgid "Load this associated image" -msgstr "" - -#: libvips/foreign/tiffload.c:130 -msgid "load tiff from file" -msgstr "" - -#: libvips/foreign/tiffload.c:149 -msgid "Page" -msgstr "" - -#: libvips/foreign/tiffload.c:150 -msgid "Load this page from the file" -msgstr "" - -#: libvips/foreign/fitsload.c:107 -msgid "load a FITS image" -msgstr "" - -#: libvips/foreign/vipssave.c:114 -msgid "save image to vips file" -msgstr "" - -#: libvips/foreign/radsave.c:108 -msgid "save image to Radiance file" -msgstr "" - -#: libvips/foreign/openexrload.c:125 -msgid "load an OpenEXR image" -msgstr "" - -#: libvips/foreign/analyzeload.c:114 -msgid "load an Analyze6 image" -msgstr "" - -#: libvips/foreign/pngload.c:124 -msgid "load png from file" -msgstr "" - -#: libvips/foreign/tiffsave.c:159 -msgid "save image to tiff file" -msgstr "" - -#: libvips/foreign/tiffsave.c:176 libvips/foreign/pngsave.c:103 -msgid "Compression" -msgstr "" - -#: libvips/foreign/tiffsave.c:177 -msgid "Compression for this file" -msgstr "" - -#: libvips/foreign/tiffsave.c:184 libvips/foreign/jpegsave.c:124 -msgid "Q" -msgstr "" - -#: libvips/foreign/tiffsave.c:185 libvips/foreign/jpegsave.c:125 -msgid "Q factor" -msgstr "" - -#: libvips/foreign/tiffsave.c:191 -msgid "predictor" -msgstr "" - -#: libvips/foreign/tiffsave.c:192 -msgid "Compression prediction" -msgstr "" - -#: libvips/foreign/tiffsave.c:199 libvips/foreign/jpegsave.c:131 -msgid "profile" -msgstr "" - -#: libvips/foreign/tiffsave.c:200 libvips/foreign/jpegsave.c:132 -msgid "ICC profile to embed" -msgstr "" - -#: libvips/foreign/tiffsave.c:206 -msgid "Tile" -msgstr "" - -#: libvips/foreign/tiffsave.c:207 -msgid "Write a tiled tiff" -msgstr "" - -#: libvips/foreign/tiffsave.c:227 -msgid "Pyramid" -msgstr "" - -#: libvips/foreign/tiffsave.c:228 -msgid "Write a pyramidal tiff" -msgstr "" - -#: libvips/foreign/tiffsave.c:234 -msgid "Squash" -msgstr "" - -#: libvips/foreign/tiffsave.c:235 -msgid "Squash images down to 1 bit" -msgstr "" - -#: libvips/foreign/tiffsave.c:241 libvips/foreign/tiffsave.c:242 -msgid "Resolution unit" -msgstr "" - -#: libvips/foreign/tiffsave.c:263 -msgid "Bigtiff" -msgstr "" - -#: libvips/foreign/tiffsave.c:264 -msgid "Write a bigtiff image" -msgstr "" - -#: libvips/foreign/csv.c:183 -#, c-format -msgid "error parsing number, line %d, column %d" -msgstr "" - -#: libvips/foreign/csv.c:237 -msgid "end of file while skipping start" -msgstr "" - -#: libvips/foreign/csv.c:246 libvips/iofuncs/util.c:1072 -#: libvips/iofuncs/util.c:1078 -msgid "unable to seek" -msgstr "" - -#: libvips/foreign/csv.c:257 -msgid "empty line" -msgstr "" - -#: libvips/foreign/csv.c:301 -#, c-format -msgid "unexpected EOF, line %d col %d" -msgstr "" - -#: libvips/foreign/csv.c:307 -#, c-format -msgid "unexpected EOL, line %d col %d" -msgstr "" - -#: libvips/foreign/vipsload.c:121 -msgid "load vips from file" -msgstr "" - -#: libvips/foreign/magickload.c:131 -msgid "load file with ImageMagick" -msgstr "" - -#: libvips/foreign/matload.c:116 -msgid "load mat from file" -msgstr "" - -#: libvips/foreign/jpegload.c:118 -#, c-format -msgid "bad shrink factor %d" -msgstr "" - -#: libvips/foreign/jpegload.c:140 -msgid "load jpeg" -msgstr "" - -#: libvips/foreign/jpegload.c:146 -msgid "Shrink" -msgstr "" - -#: libvips/foreign/jpegload.c:147 -msgid "Shrink factor on load" -msgstr "" - -#: libvips/foreign/jpegload.c:153 -msgid "Fail" -msgstr "" - -#: libvips/foreign/jpegload.c:154 -msgid "Fail on first warning" -msgstr "" - -#: libvips/foreign/jpegload.c:234 -msgid "load jpeg from file" -msgstr "" - -#: libvips/foreign/jpegload.c:309 -msgid "load jpeg from buffer" -msgstr "" - -#: libvips/foreign/jpegload.c:315 libvips/foreign/jpegsave.c:260 -#: libvips/foreign/pngsave.c:228 -msgid "Buffer" -msgstr "" - -#: libvips/foreign/jpegload.c:316 -msgid "Buffer to load from" -msgstr "" - -#: libvips/foreign/openslide2vips.c:134 -msgid "invalid associated image name" -msgstr "" - -#: libvips/foreign/openslide2vips.c:159 -msgid "failure opening slide" -msgstr "" - -#: libvips/foreign/openslide2vips.c:166 -msgid "invalid slide level" -msgstr "" - -#: libvips/foreign/openslide2vips.c:202 -#, c-format -msgid "getting dimensions: %s" -msgstr "" - -#: libvips/foreign/openslide2vips.c:209 -msgid "image dimensions overflow int" -msgstr "" - -#: libvips/foreign/openslide2vips.c:274 -#, c-format -msgid "reading region: %s" -msgstr "" - -#: libvips/foreign/openslide2vips.c:348 -#, c-format -msgid "reading associated image: %s" -msgstr "" - -#: libvips/foreign/analyze2vips.c:308 -msgid "header file size incorrect" -msgstr "" - -#: libvips/foreign/analyze2vips.c:353 -msgid "header size incorrect" -msgstr "" - -#: libvips/foreign/analyze2vips.c:371 -#, c-format -msgid "%d-dimensional images not supported" -msgstr "" - -#: libvips/foreign/analyze2vips.c:424 -#, c-format -msgid "datatype %d not supported" -msgstr "" - -#: libvips/foreign/tiff2vips.c:262 libvips/foreign/tiff2vips.c:285 -#: libvips/foreign/tiff2vips.c:303 -#, c-format -msgid "required field %d missing" -msgstr "" - -#: libvips/foreign/tiff2vips.c:266 -#, c-format -msgid "required field %d=%d, not %d" -msgstr "" - -#: libvips/foreign/tiff2vips.c:650 -#, c-format -msgid "%d bits per sample palette image not supported" -msgstr "" - -#: libvips/foreign/tiff2vips.c:659 -msgid "bad colormap" -msgstr "" - -#: libvips/foreign/tiff2vips.c:716 libvips/foreign/tiff2vips.c:747 -msgid "3 or 4 bands RGB TIFF only" -msgstr "" - -#: libvips/foreign/tiff2vips.c:818 -msgid "4 or 5 bands CMYK TIFF only" -msgstr "" - -#: libvips/foreign/tiff2vips.c:869 -msgid "unknown resolution unit" -msgstr "" - -#: libvips/foreign/tiff2vips.c:874 -#, c-format -msgid "" -"no resolution information for TIFF image \"%s\" -- defaulting to 1 pixel per " -"mm" -msgstr "" - -#: libvips/foreign/tiff2vips.c:946 -#, c-format -msgid "unsupported sample format %d for lab image" -msgstr "" - -#: libvips/foreign/tiff2vips.c:956 -#, c-format -msgid "unsupported depth %d for LAB image" -msgstr "" - -#: libvips/foreign/tiff2vips.c:995 -#, c-format -msgid "unsupported sample format %d for greyscale image" -msgstr "" - -#: libvips/foreign/tiff2vips.c:1004 -#, c-format -msgid "unsupported depth %d for greyscale image" -msgstr "" - -#: libvips/foreign/tiff2vips.c:1052 -#, c-format -msgid "unsupported sample format %d for rgb image" -msgstr "" - -#: libvips/foreign/tiff2vips.c:1061 -#, c-format -msgid "unsupported depth %d for RGB image" -msgstr "" - -#: libvips/foreign/tiff2vips.c:1075 -#, c-format -msgid "unknown photometric interpretation %d" -msgstr "" - -#: libvips/foreign/tiff2vips.c:1331 libvips/foreign/radiance.c:959 -msgid "read error" -msgstr "" - -#: libvips/foreign/tiff2vips.c:1444 -#, c-format -msgid "bad page number %d" -msgstr "" - -#: libvips/foreign/tiff2vips.c:1465 libvips/foreign/vips2tiff.c:286 -#, c-format -msgid "unable to open \"%s\" for input" -msgstr "" - -#: libvips/foreign/tiff2vips.c:1520 libvips/foreign/tiff2vips.c:1550 -#, c-format -msgid "TIFF file does not contain page %d" -msgstr "" - -#: libvips/foreign/jpegsave.c:118 -msgid "save jpeg" -msgstr "" - -#: libvips/foreign/jpegsave.c:187 -msgid "save image to jpeg file" -msgstr "" - -#: libvips/foreign/jpegsave.c:256 -msgid "save image to jpeg buffer" -msgstr "" - -#: libvips/foreign/jpegsave.c:261 libvips/foreign/pngsave.c:229 -msgid "Buffer to save to" -msgstr "" - -#: libvips/foreign/jpegsave.c:303 -msgid "error writing output" -msgstr "" - -#: libvips/foreign/jpegsave.c:319 -msgid "save image to jpeg mime" -msgstr "" - -#: libvips/foreign/rawsave.c:159 -msgid "save image to raw file" -msgstr "" - -#: libvips/foreign/rawsave.c:266 -msgid "write raw image to file descriptor" -msgstr "" - -#: libvips/foreign/rawsave.c:273 -msgid "File descriptor" -msgstr "" - -#: libvips/foreign/rawsave.c:274 -msgid "File descriptor to write to" -msgstr "" - -#: libvips/foreign/ppmsave.c:109 -msgid "save image to ppm file" -msgstr "" - -#: libvips/foreign/ppmsave.c:125 -msgid "ASCII" -msgstr "" - -#: libvips/foreign/ppmsave.c:126 -msgid "save as ascii" -msgstr "" - -#: libvips/foreign/vips2jpeg.c:132 -#, c-format -msgid "%s" -msgstr "" - -#: libvips/foreign/vips2jpeg.c:363 -msgid "error setting JPEG resolution" -msgstr "" - -#: libvips/foreign/vips2jpeg.c:510 -msgid "error saving EXIF" -msgstr "" - -#: libvips/foreign/openexr2vips.c:115 -#, c-format -msgid "EXR error: %s" -msgstr "" - -#: libvips/foreign/magick2vips.c:215 -#, c-format -msgid "unsupported image type %d" -msgstr "" - -#: libvips/foreign/magick2vips.c:275 -#, c-format -msgid "unsupported bit depth %d" -msgstr "" - -#: libvips/foreign/magick2vips.c:307 -#, c-format -msgid "unsupported colorspace %d" -msgstr "" - -#: libvips/foreign/magick2vips.c:622 -msgid "unable to read pixels" -msgstr "" - -#: libvips/foreign/magick2vips.c:658 -#, c-format -msgid "" -"unable to read file \"%s\"\n" -"libMagick error: %s %s" -msgstr "" - -#: libvips/foreign/magick2vips.c:692 -#, c-format -msgid "" -"unable to ping file \"%s\"\n" -"libMagick error: %s %s" -msgstr "" - -#: libvips/foreign/magick2vips.c:703 -msgid "bad image size" -msgstr "" - -#: libvips/foreign/vipspng.c:230 -msgid "unsupported color type" -msgstr "" - -#: libvips/foreign/vipspng.c:570 -msgid "compress should be in [0,9]" -msgstr "" - -#: libvips/foreign/vipspng.c:650 -#, c-format -msgid "unable to write \"%s\"" -msgstr "" - -#: libvips/foreign/vipspng.c:749 -msgid "unable to write to buffer" -msgstr "" - -#: libvips/foreign/matlab.c:106 libvips/foreign/fits.c:178 -#: libvips/iofuncs/vips.c:143 libvips/mosaicing/global_balance.c:1181 -#: libvips/mosaicing/global_balance.c:1516 -#, c-format -msgid "unable to open \"%s\"" -msgstr "" - -#: libvips/foreign/matlab.c:114 -#, c-format -msgid "no matrix variables in \"%s\"" -msgstr "" - -#: libvips/foreign/matlab.c:175 -#, c-format -msgid "unsupported rank %d\n" -msgstr "" - -#: libvips/foreign/matlab.c:188 -#, c-format -msgid "unsupported class type %d\n" -msgstr "" - -#: libvips/foreign/matlab.c:236 -msgid "Mat_VarReadDataAll failed" -msgstr "" - -#: libvips/foreign/jpeg2vips.c:167 -#, c-format -msgid "read gave %ld warnings" -msgstr "" - -#: libvips/foreign/jpeg2vips.c:489 -msgid "error reading resolution" -msgstr "" - -#: libvips/foreign/jpeg2vips.c:510 -msgid "unknown EXIF resolution unit" -msgstr "" - -#: libvips/foreign/jpeg2vips.c:718 -msgid "unknown JFIF resolution unit" -msgstr "" - -#: libvips/foreign/fits.c:240 -msgid "dimensions above 3 must be size 1" -msgstr "" - -#: libvips/foreign/fits.c:256 -#, c-format -msgid "bad number of axis %d" -msgstr "" - -#: libvips/foreign/fits.c:272 -#, c-format -msgid "unsupported bitpix %d\n" -msgstr "" - -#: libvips/foreign/fits.c:576 libvips/iofuncs/vips.c:171 -#, c-format -msgid "unable to write to \"%s\"" -msgstr "" - -#: libvips/foreign/fits.c:637 -#, c-format -msgid "unsupported BandFmt %d\n" -msgstr "" - -#: libvips/foreign/csvsave.c:112 -msgid "save image to csv file" -msgstr "" - -#: libvips/foreign/csvsave.c:128 libvips/foreign/csvload.c:160 -msgid "Separator" -msgstr "" - -#: libvips/foreign/csvsave.c:129 -msgid "Separator characters" -msgstr "" - -#: libvips/foreign/ppm.c:109 -msgid "bad int" -msgstr "" - -#: libvips/foreign/ppm.c:121 -msgid "bad float" -msgstr "" - -#: libvips/foreign/ppm.c:172 -msgid "bad magic number" -msgstr "" - -#: libvips/foreign/ppm.c:222 -msgid "not whitespace before start of binary data" -msgstr "" - -#: libvips/foreign/ppm.c:599 libvips/foreign/ppm.c:611 -msgid "write error ... disc full?" -msgstr "" - -#: libvips/foreign/ppm.c:716 -msgid "binary >8 bit images must be float" -msgstr "" - -#: libvips/foreign/vips2tiff.c:270 -#, c-format -msgid "unable to open \"%s\" for output" -msgstr "" - -#: libvips/foreign/vips2tiff.c:692 -msgid "layer buffer exhausted -- try making TIFF output tiles smaller" -msgstr "" - -#: libvips/foreign/vips2tiff.c:922 -msgid "TIFF write tile failed" -msgstr "" - -#: libvips/foreign/vips2tiff.c:998 -msgid "internal error #9876345" -msgstr "" - -#: libvips/foreign/vips2tiff.c:1251 -msgid "tile size not a multiple of 16" -msgstr "" - -#: libvips/foreign/vips2tiff.c:1257 -msgid "can't have strip pyramid -- enabling tiling" -msgstr "" - -#: libvips/foreign/vips2tiff.c:1268 -msgid "can only pyramid LABQ and non-complex images" -msgstr "" - -#: libvips/foreign/vips2tiff.c:1285 -msgid "can't have 1-bit JPEG -- disabling JPEG" -msgstr "" - -#: libvips/foreign/vips2tiff.c:1463 -msgid "unsigned 8-bit int, 16-bit int, and 32-bit float only" -msgstr "" - -#: libvips/foreign/vips2tiff.c:1470 -msgid "1 to 5 bands only" -msgstr "" - -#: libvips/foreign/radiance.c:885 -msgid "error reading radiance header" -msgstr "" - -#: libvips/foreign/csvload.c:121 -msgid "load csv from file" -msgstr "" - -#: libvips/foreign/csvload.c:139 -msgid "Skip" -msgstr "" - -#: libvips/foreign/csvload.c:140 -msgid "Skip this many lines at the start of the file" -msgstr "" - -#: libvips/foreign/csvload.c:146 -msgid "Lines" -msgstr "" - -#: libvips/foreign/csvload.c:147 -msgid "Read this many lines from the file" -msgstr "" - -#: libvips/foreign/csvload.c:153 -msgid "Whitespace" -msgstr "" - -#: libvips/foreign/csvload.c:154 -msgid "Set of whitespace characters" -msgstr "" - -#: libvips/foreign/csvload.c:161 -msgid "Set of separator characters" -msgstr "" - -#: libvips/foreign/pngsave.c:95 -msgid "save png" -msgstr "" - -#: libvips/foreign/pngsave.c:104 -msgid "Compression factor" -msgstr "" - -#: libvips/foreign/pngsave.c:110 -msgid "Interlace" -msgstr "" - -#: libvips/foreign/pngsave.c:111 -msgid "Interlace image" -msgstr "" - -#: libvips/foreign/pngsave.c:162 -msgid "save image to png file" -msgstr "" - -#: libvips/foreign/pngsave.c:224 -msgid "save image to png buffer" -msgstr "" - -#: libvips/foreign/foreign.c:384 -msgid "load and save image files" -msgstr "" - -#: libvips/foreign/foreign.c:525 libvips/mosaicing/im_remosaic.c:76 -#, c-format -msgid "file \"%s\" not found" -msgstr "" - -#: libvips/foreign/foreign.c:534 libvips/foreign/foreign.c:1022 -#, c-format -msgid "\"%s\" is not a known file format" -msgstr "" - -#: libvips/foreign/foreign.c:740 -msgid "images do not match" -msgstr "" - -#: libvips/foreign/foreign.c:826 -msgid "" -"VIPS_FOREIGN_PARTIAL and VIPS_FOREIGN_SEQUENTIAL both set -- using SEQUENTIAL" -msgstr "" - -#: libvips/foreign/foreign.c:894 -msgid "file loaders" -msgstr "" - -#: libvips/foreign/foreign.c:903 -msgid "Flags" -msgstr "" - -#: libvips/foreign/foreign.c:904 -msgid "Flags for this file" -msgstr "" - -#: libvips/foreign/foreign.c:910 -msgid "Disc" -msgstr "" - -#: libvips/foreign/foreign.c:911 -msgid "Open to disc" -msgstr "" - -#: libvips/foreign/foreign.c:917 -msgid "Sequential" -msgstr "" - -#: libvips/foreign/foreign.c:918 -msgid "Sequential read only" -msgstr "" - -#: libvips/foreign/foreign.c:1370 -msgid "file savers" -msgstr "" - -#: libvips/foreign/foreign.c:1380 -msgid "Image to save" -msgstr "" - -#: libvips/freq_filt/im_freq_mask.c:108 -msgid "mask sizes power of 2 only" -msgstr "" - -#: libvips/freq_filt/im_freq_mask.c:155 -msgid "unimplemented mask type" -msgstr "" - -#: libvips/freq_filt/fmaskcir.c:158 libvips/freq_filt/fmaskcir.c:303 -#: libvips/freq_filt/fmaskcir.c:394 libvips/freq_filt/fmaskcir.c:476 -#: libvips/freq_filt/fmaskcir.c:556 -msgid "bad sizes" -msgstr "" - -#: libvips/freq_filt/fmaskcir.c:172 libvips/freq_filt/fmaskcir.c:228 -#: libvips/freq_filt/fmaskcir.c:242 libvips/freq_filt/fmaskcir.c:317 -#: libvips/freq_filt/fmaskcir.c:321 libvips/freq_filt/fmaskcir.c:408 -#: libvips/freq_filt/fmaskcir.c:412 libvips/freq_filt/fmaskcir.c:570 -#: libvips/freq_filt/fmaskcir.c:574 libvips/freq_filt/fmask4th.c:120 -#: libvips/freq_filt/fmask4th.c:129 libvips/freq_filt/fmask4th.c:163 -#: libvips/freq_filt/fmask4th.c:172 libvips/freq_filt/fmask4th.c:205 -#: libvips/freq_filt/fmask4th.c:214 libvips/freq_filt/fmask4th.c:252 -#: libvips/freq_filt/fmask4th.c:261 libvips/freq_filt/fmask4th.c:292 -#: libvips/freq_filt/fmask4th.c:301 libvips/freq_filt/fmask4th.c:333 -#: libvips/freq_filt/fmask4th.c:342 libvips/freq_filt/fmask4th.c:373 -#: libvips/freq_filt/fmask4th.c:387 libvips/freq_filt/fmask4th.c:423 -#: libvips/freq_filt/fmask4th.c:437 libvips/freq_filt/fmask4th.c:473 -#: libvips/freq_filt/fmask4th.c:487 libvips/freq_filt/fmask4th.c:527 -#: libvips/freq_filt/fmask4th.c:541 libvips/freq_filt/fmask4th.c:578 -#: libvips/freq_filt/fmask4th.c:592 libvips/freq_filt/fmask4th.c:629 -#: libvips/freq_filt/fmask4th.c:643 libvips/freq_filt/fmask4th.c:697 -msgid "bad args" -msgstr "" - -#: libvips/freq_filt/fmaskcir.c:490 -msgid "bad args (f)" -msgstr "" - -#: libvips/freq_filt/fmaskcir.c:494 -msgid "bad args (ac)" -msgstr "" - -#: libvips/freq_filt/fmaskcir.c:655 libvips/freq_filt/fmask4th.c:791 -msgid "unimplemented mask" -msgstr "" - -#: libvips/freq_filt/im_fractsurf.c:72 -msgid "dimension should be in (2,3)" -msgstr "" - -#: libvips/freq_filt/im_invfft.c:105 libvips/freq_filt/im_invfftr.c:124 -#: libvips/freq_filt/im_fwfft.c:125 libvips/freq_filt/im_fwfft.c:241 -msgid "unable to create transform plan" -msgstr "" - -#: libvips/freq_filt/im_invfft.c:130 libvips/freq_filt/im_invfftr.c:145 -#: libvips/freq_filt/im_fwfft.c:301 -msgid "vips configured without FFT support" -msgstr "" - -#: libvips/histograms_lut/im_stdif.c:186 -#: libvips/histograms_lut/im_lhisteq.c:159 -msgid "window too large" -msgstr "" - -#: libvips/histograms_lut/im_stdif.c:191 -#: libvips/histograms_lut/im_lhisteq.c:164 -msgid "window too small" -msgstr "" - -#: libvips/histograms_lut/im_histnD.c:227 -#, c-format -msgid " bins out of range [1,%d]" -msgstr "" - -#: libvips/histograms_lut/im_identity.c:139 libvips/other/im_grey.c:101 -#: libvips/other/im_make_xy.c:95 -msgid "bad size" -msgstr "" - -#: libvips/histograms_lut/im_buildlut.c:120 -msgid "x value not an int" -msgstr "" - -#: libvips/histograms_lut/im_buildlut.c:133 -msgid "x range too small" -msgstr "" - -#: libvips/histograms_lut/im_buildlut.c:278 -msgid "bad input matrix size" -msgstr "" - -#: libvips/histograms_lut/tone.c:194 -msgid "bad in_max, out_max parameters" -msgstr "" - -#: libvips/histograms_lut/tone.c:199 -msgid "bad Lb, Lw parameters" -msgstr "" - -#: libvips/histograms_lut/tone.c:204 -msgid "Ps not in range [0.0,1.0]" -msgstr "" - -#: libvips/histograms_lut/tone.c:209 -msgid "Pm not in range [0.0,1.0]" -msgstr "" - -#: libvips/histograms_lut/tone.c:214 -msgid "Ph not in range [0.0,1.0]" -msgstr "" - -#: libvips/histograms_lut/tone.c:219 -msgid "S not in range [-30,+30]" -msgstr "" - -#: libvips/histograms_lut/tone.c:224 -msgid "M not in range [-30,+30]" -msgstr "" - -#: libvips/histograms_lut/tone.c:229 -msgid "H not in range [-30,+30]" -msgstr "" - -#: libvips/histograms_lut/im_invertlut.c:132 -msgid "element out of range [0,1]" -msgstr "" - -#: libvips/histograms_lut/im_invertlut.c:287 -msgid "bad input matrix" -msgstr "" - -#: libvips/histograms_lut/im_invertlut.c:292 -msgid "bad lut_size" -msgstr "" - -#: libvips/histograms_lut/im_maplut.c:97 -#, c-format -msgid "%d overflows detected" -msgstr "" - -#: libvips/inplace/im_draw_line.c:389 -msgid "mask image not 1 band 8 bit uncoded" -msgstr "" - -#: libvips/inplace/im_draw_line.c:395 -msgid "ink image does not match in image" -msgstr "" - -#: libvips/inplace/im_draw_line.c:399 -msgid "ink image not 1x1 pixels" -msgstr "" - -#: libvips/iofuncs/sink.c:105 -#, c-format -msgid "stop function failed for image \"%s\"" -msgstr "" - -#: libvips/iofuncs/sink.c:142 -#, c-format -msgid "start function failed for image \"%s\"" -msgstr "" - -#: libvips/iofuncs/sink.c:175 -msgid "per-thread state for sink" -msgstr "" - -#: libvips/iofuncs/memory.c:231 -msgid "vips_free: too many frees" -msgstr "" - -#: libvips/iofuncs/memory.c:235 -msgid "vips_free: too much free" -msgstr "" - -#: libvips/iofuncs/memory.c:295 libvips/iofuncs/memory.c:298 -#, c-format -msgid "out of memory --- size == %dMB" -msgstr "" - -#: libvips/iofuncs/vips.c:286 -#, c-format -msgid "\"%s\" is not a VIPS image" -msgstr "" - -#: libvips/iofuncs/vips.c:374 -msgid "unable to read history" -msgstr "" - -#: libvips/iofuncs/vips.c:407 -msgid "more than a 10 megabytes of XML? sufferin' succotash!" -msgstr "" - -#: libvips/iofuncs/vips.c:455 -msgid "incorrect namespace in XML" -msgstr "" - -#: libvips/iofuncs/vips.c:579 -msgid "error transforming from save format" -msgstr "" - -#: libvips/iofuncs/vips.c:680 -#, c-format -msgid "unable to set property \"%s\" to value \"%s\"." -msgstr "" - -#: libvips/iofuncs/vips.c:728 -msgid "error transforming to save format" -msgstr "" - -#: libvips/iofuncs/vips.c:776 libvips/iofuncs/vips.c:973 -#: libvips/iofuncs/window.c:237 -msgid "file has been truncated" -msgstr "" - -#: libvips/iofuncs/vips.c:890 libvips/iofuncs/vips.c:899 -#: libvips/iofuncs/vips.c:922 -msgid "xml save error" -msgstr "" - -#: libvips/iofuncs/vips.c:959 -#, c-format -msgid "unable to read header for \"%s\"" -msgstr "" - -#: libvips/iofuncs/vips.c:972 libvips/iofuncs/window.c:236 -#, c-format -msgid "unable to read data for \"%s\", %s" -msgstr "" - -#: libvips/iofuncs/vips.c:984 -#, c-format -msgid "error reading XML: %s" -msgstr "" - -#: libvips/iofuncs/generate.c:343 libvips/iofuncs/header.c:611 -msgid "too many images" -msgstr "" - -#: libvips/iofuncs/generate.c:606 -msgid "demand hint not set" -msgstr "" - -#: libvips/iofuncs/generate.c:625 libvips/iofuncs/generate.c:650 -msgid "generate() called twice" -msgstr "" - -#: libvips/iofuncs/generate.c:682 libvips/iofuncs/image.c:1873 -#, c-format -msgid "unable to output to a %s image" -msgstr "" - -#: libvips/iofuncs/region.c:212 -#, c-format -msgid "start function failed for image %s" -msgstr "" - -#: libvips/iofuncs/region.c:528 libvips/iofuncs/region.c:598 -#: libvips/iofuncs/region.c:745 libvips/iofuncs/region.c:1241 -msgid "valid clipped to nothing" -msgstr "" - -#: libvips/iofuncs/region.c:642 -msgid "bad image type" -msgstr "" - -#: libvips/iofuncs/region.c:687 -msgid "no pixel data on attached image" -msgstr "" - -#: libvips/iofuncs/region.c:693 -msgid "images do not match in pixel size" -msgstr "" - -#: libvips/iofuncs/region.c:726 libvips/iofuncs/region.c:1223 -msgid "dest too small" -msgstr "" - -#: libvips/iofuncs/region.c:813 -msgid "bad position" -msgstr "" - -#: libvips/iofuncs/region.c:1102 libvips/iofuncs/region.c:1294 -#, c-format -msgid "unable to input from a %s image" -msgstr "" - -#: libvips/iofuncs/region.c:1126 -msgid "incomplete header" -msgstr "" - -#: libvips/iofuncs/region.c:1197 -msgid "inappropriate region type" -msgstr "" - -#: libvips/iofuncs/init.c:366 -msgid "evaluate with N concurrent threads" -msgstr "" - -#: libvips/iofuncs/init.c:369 -msgid "set tile width to N (DEBUG)" -msgstr "" - -#: libvips/iofuncs/init.c:372 -msgid "set tile height to N (DEBUG)" -msgstr "" - -#: libvips/iofuncs/init.c:375 -msgid "set thinstrip height to N (DEBUG)" -msgstr "" - -#: libvips/iofuncs/init.c:378 -msgid "set fatstrip height to N (DEBUG)" -msgstr "" - -#: libvips/iofuncs/init.c:381 -msgid "show progress feedback" -msgstr "" - -#: libvips/iofuncs/init.c:384 -msgid "leak-check on exit" -msgstr "" - -#: libvips/iofuncs/init.c:387 -msgid "images larger than N are decompressed to disc" -msgstr "" - -#: libvips/iofuncs/init.c:390 -msgid "disable vectorised versions of operations" -msgstr "" - -#: libvips/iofuncs/init.c:393 -msgid "cache at most N operations" -msgstr "" - -#: libvips/iofuncs/init.c:396 -msgid "cache at most N bytes in memory" -msgstr "" - -#: libvips/iofuncs/init.c:399 -msgid "allow at most N open files" -msgstr "" - -#: libvips/iofuncs/init.c:402 -msgid "trace operation cache" -msgstr "" - -#: libvips/iofuncs/init.c:405 -msgid "dump operation cache on exit" -msgstr "" - -#: libvips/iofuncs/init.c:428 -msgid "VIPS Options" -msgstr "" - -#: libvips/iofuncs/init.c:428 -msgid "Show VIPS options" -msgstr "" - -#: libvips/iofuncs/image.c:293 -msgid "unable to close fd" -msgstr "" - -#: libvips/iofuncs/image.c:373 -#, c-format -msgid "%dx%d %s, %d band, %s" -msgid_plural "%dx%d %s, %d bands, %s" -msgstr[0] "" -msgstr[1] "" - -#: libvips/iofuncs/image.c:403 -#, c-format -msgid " %s, %d band, %s" -msgid_plural " %s, %d bands, %s" -msgstr[0] "" -msgstr[1] "" - -#: libvips/iofuncs/image.c:529 -#, c-format -msgid "%s %s: %d threads, %d x %d tiles, groups of %d scanlines" -msgstr "" - -#: libvips/iofuncs/image.c:542 -#, c-format -msgid "%s %s: %d%% complete" -msgstr "" - -#. Spaces at end help to erase the %complete message we overwrite. -#. -#: libvips/iofuncs/image.c:559 -#, c-format -msgid "%s %s: done in %ds \n" -msgstr "" - -#: libvips/iofuncs/image.c:738 -#, c-format -msgid "unable to open \"%s\", file too short" -msgstr "" - -#: libvips/iofuncs/image.c:748 -#, c-format -msgid "%s is longer than expected" -msgstr "" - -#: libvips/iofuncs/image.c:765 -#, c-format -msgid "bad mode \"%s\"" -msgstr "" - -#: libvips/iofuncs/image.c:820 -msgid "image class" -msgstr "" - -#: libvips/iofuncs/image.c:916 -msgid "Image filename" -msgstr "" - -#: libvips/iofuncs/image.c:922 -msgid "Mode" -msgstr "" - -#: libvips/iofuncs/image.c:923 -msgid "Open mode" -msgstr "" - -#: libvips/iofuncs/image.c:929 -msgid "Kill" -msgstr "" - -#: libvips/iofuncs/image.c:930 -msgid "Block evaluation on this image" -msgstr "" - -#: libvips/iofuncs/image.c:936 -msgid "Demand style" -msgstr "" - -#: libvips/iofuncs/image.c:937 -msgid "Preferred demand style for this image" -msgstr "" - -#: libvips/iofuncs/image.c:950 -msgid "Foreign buffer" -msgstr "" - -#: libvips/iofuncs/image.c:951 -msgid "Pointer to foreign pixels" -msgstr "" - -#: libvips/iofuncs/image.c:1215 -#, c-format -msgid "killed for image \"%s\"" -msgstr "" - -#: libvips/iofuncs/image.c:1815 -msgid "bad image descriptor" -msgstr "" - -#: libvips/iofuncs/image.c:1917 -#, c-format -msgid "auto-rewind for %s failed" -msgstr "" - -#: libvips/iofuncs/image.c:1973 libvips/iofuncs/image.c:2168 -#: libvips/iofuncs/image.c:2185 -msgid "no image data" -msgstr "" - -#: libvips/iofuncs/image.c:2041 libvips/iofuncs/image.c:2208 -msgid "image not readable" -msgstr "" - -#: libvips/iofuncs/image.c:2062 libvips/iofuncs/image.c:2238 -#: libvips/iofuncs/image.c:2247 -msgid "image already written" -msgstr "" - -#: libvips/iofuncs/image.c:2086 libvips/iofuncs/image.c:2259 -msgid "image not writeable" -msgstr "" - -#: libvips/iofuncs/image.c:2132 -msgid "bad file type" -msgstr "" - -#: libvips/iofuncs/sinkscreen.c:185 -msgid "per-thread state for render" -msgstr "" - -#: libvips/iofuncs/sinkscreen.c:537 libvips/iofuncs/sinkdisc.c:236 -#: libvips/iofuncs/threadpool.c:606 -msgid "unable to create thread" -msgstr "" - -#: libvips/iofuncs/mapfile.c:130 libvips/iofuncs/mapfile.c:297 -msgid "unable to CreateFileMapping" -msgstr "" - -#: libvips/iofuncs/mapfile.c:138 libvips/iofuncs/mapfile.c:309 -msgid "unable to MapViewOfFile" -msgstr "" - -#: libvips/iofuncs/mapfile.c:178 -msgid "unable to mmap" -msgstr "" - -#: libvips/iofuncs/mapfile.c:179 -#, c-format -msgid "" -"map failed (%s), running very low on system resources, expect a crash soon" -msgstr "" - -#: libvips/iofuncs/mapfile.c:196 libvips/iofuncs/mapfile.c:303 -msgid "unable to UnmapViewOfFile" -msgstr "" - -#: libvips/iofuncs/mapfile.c:202 -msgid "unable to munmap file" -msgstr "" - -#: libvips/iofuncs/mapfile.c:224 -msgid "file is less than 64 bytes" -msgstr "" - -#: libvips/iofuncs/mapfile.c:229 libvips/iofuncs/mapfile.c:263 -msgid "unable to get file status" -msgstr "" - -#: libvips/iofuncs/mapfile.c:235 -msgid "not a regular file" -msgstr "" - -#: libvips/iofuncs/mapfile.c:269 -msgid "unable to read data" -msgstr "" - -#: libvips/iofuncs/mapfile.c:329 -#, c-format -msgid "unable to mmap: \"%s\" - %s" -msgstr "" - -#: libvips/iofuncs/mapfile.c:339 -#, c-format -msgid "unable to mmap \"%s\" to same address" -msgstr "" - -#: libvips/iofuncs/base64.c:170 -msgid "too little data" -msgstr "" - -#. We shouldn't really be used for large amounts of data. -#. -#: libvips/iofuncs/base64.c:176 libvips/iofuncs/base64.c:241 -msgid "too much data" -msgstr "" - -#: libvips/iofuncs/object.c:148 -#, c-format -msgid "parameter %s not set" -msgstr "" - -#: libvips/iofuncs/object.c:505 -#, c-format -msgid "no property named `%s'" -msgstr "" - -#: libvips/iofuncs/object.c:513 -#, c-format -msgid "no vips argument named `%s'" -msgstr "" - -#: libvips/iofuncs/object.c:520 -#, c-format -msgid "argument `%s' has no instance" -msgstr "" - -#: libvips/iofuncs/object.c:1248 libvips/iofuncs/operation.c:287 -#: libvips/resample/interpolate.c:615 -#, c-format -msgid "class \"%s\" not found" -msgstr "" - -#: libvips/iofuncs/object.c:1297 -msgid "base class" -msgstr "" - -#: libvips/iofuncs/object.c:1311 -msgid "Nickname" -msgstr "" - -#: libvips/iofuncs/object.c:1312 -msgid "Class nickname" -msgstr "" - -#: libvips/iofuncs/object.c:1318 -msgid "Description" -msgstr "" - -#: libvips/iofuncs/object.c:1319 -msgid "Class description" -msgstr "" - -#: libvips/iofuncs/object.c:1509 -#, c-format -msgid "enum '%s' has no member '%s'" -msgstr "" - -#: libvips/iofuncs/object.c:1769 -#, c-format -msgid "unable to set '%s'" -msgstr "" - -#: libvips/iofuncs/object.c:1777 -msgid "not , or ) after parameter" -msgstr "" - -#: libvips/iofuncs/object.c:1784 -msgid "extra tokens after ')'" -msgstr "" - -#. File length unit. -#. -#: libvips/iofuncs/buf.c:520 -msgid "bytes" -msgstr "" - -#. Kilo byte unit. -#. -#: libvips/iofuncs/buf.c:524 -msgid "KB" -msgstr "" - -#. Mega byte unit. -#. -#: libvips/iofuncs/buf.c:528 -msgid "MB" -msgstr "" - -#. Giga byte unit. -#. -#: libvips/iofuncs/buf.c:532 -msgid "GB" -msgstr "" - -#. Tera byte unit. -#. -#: libvips/iofuncs/buf.c:536 -msgid "TB" -msgstr "" - -#: libvips/iofuncs/util.c:639 -msgid "unable to get file stats" -msgstr "" - -#: libvips/iofuncs/util.c:656 libvips/iofuncs/sinkdisc.c:262 -msgid "write failed" -msgstr "" - -#: libvips/iofuncs/util.c:720 -#, c-format -msgid "unable to open file \"%s\" for reading" -msgstr "" - -#: libvips/iofuncs/util.c:742 -#, c-format -msgid "unable to open file \"%s\" for writing" -msgstr "" - -#: libvips/iofuncs/util.c:767 -#, c-format -msgid "\"%s\" too long" -msgstr "" - -#: libvips/iofuncs/util.c:784 -msgid "out of memory" -msgstr "" - -#: libvips/iofuncs/util.c:810 -#, c-format -msgid "error reading from file \"%s\"" -msgstr "" - -#: libvips/iofuncs/util.c:857 -#, c-format -msgid "write error (%zd out of %zd blocks written) ... disc full?" -msgstr "" - -#: libvips/iofuncs/util.c:1106 libvips/iofuncs/util.c:1113 -msgid "unable to truncate" -msgstr "" - -#: libvips/iofuncs/util.c:1297 -msgid "unexpected end of string" -msgstr "" - -#: libvips/iofuncs/util.c:1315 -#, c-format -msgid "expected %s, saw %s" -msgstr "" - -#: libvips/iofuncs/util.c:1485 -#, c-format -msgid "unable to make temporary file %s" -msgstr "" - -#: libvips/iofuncs/operation.c:97 -msgid "input" -msgstr "" - -#: libvips/iofuncs/operation.c:97 -msgid "output" -msgstr "" - -#: libvips/iofuncs/operation.c:246 -msgid "operations" -msgstr "" - -#: libvips/iofuncs/operation.c:273 -msgid "usage:" -msgstr "" - -#: libvips/iofuncs/operation.c:699 -#, c-format -msgid "unknown argument '%s'" -msgstr "" - -#: libvips/iofuncs/operation.c:810 -msgid "too few arguments" -msgstr "" - -#: libvips/iofuncs/operation.c:931 -msgid "too many arguments" -msgstr "" - -#: libvips/iofuncs/header.c:210 -#, c-format -msgid "unknown band format %d" -msgstr "" - -#: libvips/iofuncs/header.c:781 -#, c-format -msgid "field \"%s\" not found" -msgstr "" - -#: libvips/iofuncs/header.c:949 -#, c-format -msgid "field \"%s\" is of type %s, not %s" -msgstr "" - -#: libvips/iofuncs/sinkmemory.c:108 -msgid "per-thread state for sinkmemory" -msgstr "" - -#: libvips/iofuncs/sinkdisc.c:121 -msgid "per-thread state for sinkdisc" -msgstr "" - -#: libvips/iofuncs/error.c:210 -msgid "windows error" -msgstr "" - -#: libvips/iofuncs/error.c:219 -msgid "unix error" -msgstr "" - -#: libvips/iofuncs/error.c:304 libvips/iofuncs/error.c:305 -#: libvips/iofuncs/error.c:354 libvips/iofuncs/error.c:355 -#, c-format -msgid "%s: " -msgstr "" - -#: libvips/iofuncs/error.c:304 -msgid "vips diagnostic" -msgstr "" - -#: libvips/iofuncs/error.c:354 -msgid "vips warning" -msgstr "" - -#: libvips/iofuncs/error.c:438 -msgid "image must be uncoded" -msgstr "" - -#: libvips/iofuncs/error.c:466 -msgid "image coding must be NONE or LABQ" -msgstr "" - -#: libvips/iofuncs/error.c:494 -msgid "unknown image coding" -msgstr "" - -#: libvips/iofuncs/error.c:520 -msgid "Radiance coding only" -msgstr "" - -#: libvips/iofuncs/error.c:546 -msgid "LABQ coding only" -msgstr "" - -#: libvips/iofuncs/error.c:570 -msgid "image must one band" -msgstr "" - -#: libvips/iofuncs/error.c:595 -#, c-format -msgid "image must have %d bands" -msgstr "" - -#: libvips/iofuncs/error.c:620 -msgid "image must have one or three bands" -msgstr "" - -#: libvips/iofuncs/error.c:648 -msgid "images must have the same number of bands, or one must be single-band" -msgstr "" - -#: libvips/iofuncs/error.c:675 -#, c-format -msgid "image must have 1 or %d bands" -msgstr "" - -#: libvips/iofuncs/error.c:699 -msgid "image must be non-complex" -msgstr "" - -#: libvips/iofuncs/error.c:723 -msgid "image must be complex" -msgstr "" - -#: libvips/iofuncs/error.c:749 -#, c-format -msgid "image must be %s" -msgstr "" - -#: libvips/iofuncs/error.c:774 -msgid "image must be integer" -msgstr "" - -#: libvips/iofuncs/error.c:799 -msgid "image must be unsigned integer" -msgstr "" - -#: libvips/iofuncs/error.c:827 -msgid "image must be 8- or 16-bit integer, signed or unsigned" -msgstr "" - -#: libvips/iofuncs/error.c:854 -msgid "image must be 8- or 16-bit unsigned integer" -msgstr "" - -#: libvips/iofuncs/error.c:880 -msgid "image must be 8- or 16-bit unsigned integer, or float" -msgstr "" - -#: libvips/iofuncs/error.c:908 -msgid "image must be unsigned int or float" -msgstr "" - -#: libvips/iofuncs/error.c:933 -msgid "images must match in size" -msgstr "" - -#: libvips/iofuncs/error.c:959 -msgid "images must have the same number of bands" -msgstr "" - -#: libvips/iofuncs/error.c:1013 -msgid "images must have the same band format" -msgstr "" - -#: libvips/iofuncs/error.c:1039 -msgid "images must have the same coding" -msgstr "" - -#: libvips/iofuncs/error.c:1064 -#, c-format -msgid "vector must have 1 or %d elements" -msgstr "" - -#: libvips/iofuncs/error.c:1089 -msgid "histograms must have width or height 1" -msgstr "" - -#: libvips/iofuncs/error.c:1094 -msgid "histograms must have not have more than 65536 elements" -msgstr "" - -#: libvips/iofuncs/error.c:1123 libvips/iofuncs/error.c:1151 -msgid "nonsense mask parameters" -msgstr "" - -#: libvips/iofuncs/error.c:1176 -msgid "mask must be 1D" -msgstr "" - -#: libvips/iofuncs/threadpool.c:217 -#, c-format -msgid "threads clipped to %d" -msgstr "" - -#: libvips/iofuncs/threadpool.c:281 -msgid "per-thread state for vipsthreadpool" -msgstr "" - -#: libvips/morphology/im_profile.c:104 -msgid "dir not 0 or 1" -msgstr "" - -#: libvips/morphology/morphology.c:311 -#, c-format -msgid "bad mask element (%d should be 0, 128 or 255)" -msgstr "" - -#: libvips/morphology/im_zerox.c:141 -msgid "flag not -1 or 1" -msgstr "" - -#: libvips/morphology/im_zerox.c:145 -msgid "image too narrow" -msgstr "" - -#: libvips/morphology/im_cntlines.c:81 -msgid "flag should be 0 (horizontal) or 1 (vertical)" -msgstr "" - -#: libvips/morphology/im_rank.c:365 -msgid "image too small for window" -msgstr "" - -#: libvips/morphology/im_rank_image.c:303 -msgid "zero input images!" -msgstr "" - -#: libvips/morphology/im_rank_image.c:308 -#, c-format -msgid "index should be in range 0 - %d" -msgstr "" - -#: libvips/mosaicing/im_lrmerge.c:213 libvips/mosaicing/im_lrmerge.c:262 -#: libvips/mosaicing/im_lrmerge.c:603 libvips/mosaicing/im_tbmerge.c:163 -#: libvips/mosaicing/im_tbmerge.c:217 libvips/mosaicing/im_tbmerge.c:535 -msgid "internal error" -msgstr "" - -#: libvips/mosaicing/im_lrmerge.c:703 -msgid "mwidth must be -1 or >= 0" -msgstr "" - -#: libvips/mosaicing/im_lrmerge.c:732 -msgid "no overlap" -msgstr "" - -#: libvips/mosaicing/im_lrmerge.c:803 libvips/mosaicing/im_tbmerge.c:634 -#: libvips/resample/im_affine.c:469 -msgid "unknown coding type" -msgstr "" - -#: libvips/mosaicing/im_lrmerge.c:820 libvips/mosaicing/im_tbmerge.c:652 -msgid "too much overlap" -msgstr "" - -#: libvips/mosaicing/im_remosaic.c:104 -#, c-format -msgid "substitute image \"%s\" is not the same size as \"%s\"" -msgstr "" - -#: libvips/mosaicing/im_tbmosaic.c:89 libvips/mosaicing/im_lrmosaic.c:113 -msgid "bad area parameters" -msgstr "" - -#: libvips/mosaicing/im_tbmosaic.c:110 libvips/mosaicing/im_lrmosaic.c:134 -msgid "overlap too small for search" -msgstr "" - -#: libvips/mosaicing/im_tbmosaic.c:143 libvips/mosaicing/im_lrmosaic.c:167 -msgid "unknown Coding type" -msgstr "" - -#: libvips/mosaicing/im_chkpair.c:200 -msgid "inputs incompatible" -msgstr "" - -#: libvips/mosaicing/im_chkpair.c:204 libvips/mosaicing/im_tbcalcon.c:102 -msgid "help!" -msgstr "" - -#: libvips/mosaicing/im_tbcalcon.c:116 -msgid "overlap too small" -msgstr "" - -#: libvips/mosaicing/global_balance.c:145 -msgid "no matching '>'" -msgstr "" - -#: libvips/mosaicing/global_balance.c:154 -msgid "too many items" -msgstr "" - -#: libvips/mosaicing/global_balance.c:448 -msgid "circularity detected" -msgstr "" - -#: libvips/mosaicing/global_balance.c:482 -#: libvips/mosaicing/global_balance.c:538 -#, c-format -msgid "image \"%s\" used twice as output" -msgstr "" - -#: libvips/mosaicing/global_balance.c:587 -msgid "bad number of args in join line" -msgstr "" - -#: libvips/mosaicing/global_balance.c:629 -msgid "bad number of args in join1 line" -msgstr "" - -#: libvips/mosaicing/global_balance.c:665 -msgid "bad number of args in copy line" -msgstr "" - -#: libvips/mosaicing/global_balance.c:723 -msgid "" -"mosaic root not found in desc file\n" -"is this really a mosaiced image?" -msgstr "" - -#: libvips/mosaicing/global_balance.c:734 -msgid "more than one root" -msgstr "" - -#: libvips/mosaicing/global_balance.c:1053 -msgid "empty overlap!" -msgstr "" - -#: libvips/mosaicing/im_avgdxdy.c:64 -msgid "no points to average" -msgstr "" - -#: libvips/mosaicing/im_lrcalcon.c:203 -msgid "overlap too small for your search size" -msgstr "" - -#: libvips/mosaicing/im_lrcalcon.c:242 -#, c-format -msgid "found %d tie-points, need at least %d" -msgstr "" - -#: libvips/mosaicing/im_lrcalcon.c:287 -msgid "not 1-band uchar image" -msgstr "" - -#: libvips/mosaicing/im_clinear.c:136 -msgid "im_invmat failed" -msgstr "" - -#: libvips/other/im_zone.c:80 -msgid "size must be even and positive" -msgstr "" - -#: libvips/other/im_sines.c:88 -msgid "wrong sizes" -msgstr "" - -#: libvips/other/im_sines.c:101 -msgid "calloc failed" -msgstr "" - -#: libvips/other/im_eye.c:83 -msgid "factor should be in [1,0)" -msgstr "" - -#: libvips/resample/im_affine.c:410 -msgid "output coordinates out of range" -msgstr "" - -#: libvips/resample/im_shrink.c:346 -msgid "shrink factors should be >= 1" -msgstr "" - -#: libvips/resample/interpolate.c:180 -msgid "VIPS interpolators" -msgstr "" - -#: libvips/resample/interpolate.c:361 -msgid "Nearest-neighbour interpolation" -msgstr "" - -#: libvips/resample/interpolate.c:532 -msgid "Bilinear interpolation" -msgstr "" - -#: libvips/resample/im_rightshift_size.c:120 -msgid "shift by zero: falling back to im_copy" -msgstr "" - -#: libvips/resample/im_rightshift_size.c:124 -msgid "would result in zero size output image" -msgstr "" - -#: libvips/resample/im_rightshift_size.c:132 -msgid "image and band_fmt must match in sign" -msgstr "" - -#: libvips/video/im_video_test.c:51 -msgid "error requested" -msgstr "" - -#: libvips/video/im_video_v4l1.c:241 -msgid "no file descriptor" -msgstr "" - -#: libvips/video/im_video_v4l1.c:246 -#, c-format -msgid "ioctl(0x%x) failed: %s" -msgstr "" - -#: libvips/video/im_video_v4l1.c:295 -#, c-format -msgid "cannot open video device \"%s\"" -msgstr "" - -#: libvips/video/im_video_v4l1.c:303 -msgid "cannot get video capability" -msgstr "" - -#: libvips/video/im_video_v4l1.c:312 -msgid "card cannot capture to memory" -msgstr "" - -#: libvips/video/im_video_v4l1.c:458 -msgid "unable to map memory" -msgstr "" - -#: libvips/video/im_video_v4l1.c:470 -#, c-format -msgid "channel not between 0 and %d" -msgstr "" - -#: libvips/video/im_video_v4l1.c:698 -msgid "compiled without im_video_v4l1 support" -msgstr "" - -#: tools/edvips.c:82 -msgid "tag file as big or little-endian" -msgstr "" - -#: tools/edvips.c:84 -msgid "set width to N pixels" -msgstr "" - -#: tools/edvips.c:86 -msgid "set height to N pixels" -msgstr "" - -#: tools/edvips.c:88 -msgid "set Bands to N" -msgstr "" - -#: tools/edvips.c:90 -msgid "set BandFmt to F (eg. uchar, float)" -msgstr "" - -#: tools/edvips.c:92 -msgid "set interpretation to I (eg. xyz)" -msgstr "" - -#: tools/edvips.c:94 -msgid "set Coding to C (eg. labq)" -msgstr "" - -#: tools/edvips.c:96 -msgid "set Xres to R pixels/mm" -msgstr "" - -#: tools/edvips.c:98 -msgid "set Yres to R pixels/mm" -msgstr "" - -#: tools/edvips.c:100 -msgid "set Xoffset to N pixels" -msgstr "" - -#: tools/edvips.c:102 -msgid "set Yoffset to N pixels" -msgstr "" - -#: tools/edvips.c:104 -msgid "replace extension block with stdin" -msgstr "" - -#: tools/edvips.c:106 -msgid "set Xsize to N (deprecated, use width)" -msgstr "" - -#: tools/edvips.c:108 -msgid "set Ysize to N (deprecated, use height)" -msgstr "" - -#: tools/edvips.c:110 -msgid "set Type to T (deprecated, use interpretation)" -msgstr "" - -#: tools/edvips.c:121 -#, c-format -msgid "'%s' is not a positive integer" -msgstr "" - -#: tools/edvips.c:133 -msgid "unable to start VIPS" -msgstr "" - -#: tools/edvips.c:138 -msgid "vipsfile - edit vipsfile header" -msgstr "" - -#: tools/edvips.c:150 -#, c-format -msgid "usage: %s [OPTION...] vipsfile\n" -msgstr "" - -#: tools/edvips.c:157 -#, c-format -msgid "could not open image %s" -msgstr "" - -#: tools/edvips.c:160 -#, c-format -msgid "could not read VIPS header for %s" -msgstr "" - -#: tools/edvips.c:169 -#, c-format -msgid "bad endian-ness %s, should be 'big' or 'little'" -msgstr "" - -#: tools/edvips.c:182 -#, c-format -msgid "bad format %s" -msgstr "" - -#: tools/edvips.c:190 -#, c-format -msgid "bad interpretation %s" -msgstr "" - -#: tools/edvips.c:198 -#, c-format -msgid "bad coding %s" -msgstr "" - -#: tools/edvips.c:211 -#, c-format -msgid "could not seek on %s" -msgstr "" - -#: tools/edvips.c:214 -#, c-format -msgid "could not write to %s" -msgstr "" - -#: tools/edvips.c:221 -msgid "could not get ext data" -msgstr "" - -#: tools/edvips.c:230 -msgid "could not set extension" -msgstr "" - -#: tools/find_mosaic.c:112 tools/find_mosaic.c:122 tools/find_mosaic.c:144 -#: tools/find_mosaic.c:154 tools/find_mosaic.c:163 tools/find_mosaic.c:184 -#: tools/find_mosaic.c:194 tools/find_mosaic.c:203 tools/mergeup.c:238 -#: tools/mergeup.c:248 tools/mergeup.c:270 tools/mergeup.c:280 -#: tools/mergeup.c:289 tools/mergeup.c:310 tools/mergeup.c:320 -#: tools/mergeup.c:329 -#, c-format -msgid "bad file name format '%s'" -msgstr "" - -#: tools/header.c:85 -msgid "show all fields" -msgstr "" - -#: tools/header.c:87 -msgid "" -"print value of FIELD (\"getext\" reads extension block, \"Hist\" reads image " -"history)" -msgstr "" - -#: tools/header.c:210 -msgid "- print image header" -msgstr "" - -#: tools/mergeup.c:381 -msgid "allocation failure in mergeup" -msgstr "" - -#: tools/mergeup.c:391 -msgid "Need more than one image" -msgstr "" - -#: tools/vips.c:101 -msgid "load PLUGIN" -msgstr "" - -#: tools/vips.c:102 -msgid "PLUGIN" -msgstr "" - -#: tools/vips.c:104 -msgid "print version" -msgstr "" - -#: tools/vips.c:147 -#, c-format -msgid "no package or function \"%s\"" -msgstr "" - -#: tools/vips.c:917 -msgid "list classes|packages|all|package-name|operation-name" -msgstr "" - -#: tools/vips.c:919 -msgid "generate headers for C++ binding" -msgstr "" - -#: tools/vips.c:921 -msgid "generate bodies for C++ binding" -msgstr "" - -#: tools/vips.c:923 -msgid "generate links for vips/bin" -msgstr "" - -#: tools/vips.c:1043 -msgid "[ACTION] [OPTIONS] [PARAMETERS] - VIPS driver program" -msgstr "" - -#: tools/vips.c:1111 -msgid "possible actions:\n" -msgstr "" - -#: tools/vips.c:1116 -msgid "execute named vips operation" -msgstr "" - -#: tools/vips.c:1118 -#, c-format -msgid "unknown action \"%s\"" -msgstr "" - -#: tools/vipsthumbnail.c:54 -msgid "set thumbnail size to SIZE" -msgstr "" - -#: tools/vipsthumbnail.c:55 -msgid "SIZE" -msgstr "" - -#: tools/vipsthumbnail.c:57 -msgid "set output to FORMAT" -msgstr "" - -#: tools/vipsthumbnail.c:58 -msgid "FORMAT" -msgstr "" - -#: tools/vipsthumbnail.c:60 -msgid "resample with INTERPOLATOR" -msgstr "" - -#: tools/vipsthumbnail.c:61 -msgid "INTERPOLATOR" -msgstr "" - -#: tools/vipsthumbnail.c:63 -msgid "don't sharpen thumbnail" -msgstr "" - -#: tools/vipsthumbnail.c:65 -msgid "export with PROFILE" -msgstr "" - -#: tools/vipsthumbnail.c:66 tools/vipsthumbnail.c:69 -msgid "PROFILE" -msgstr "" - -#: tools/vipsthumbnail.c:68 -msgid "import untagged images with PROFILE" -msgstr "" - -#: tools/vipsthumbnail.c:71 -msgid "don't delete profile from exported image" -msgstr "" - -#: tools/vipsthumbnail.c:73 -msgid "verbose output" -msgstr "" - -#: tools/vipsthumbnail.c:412 -msgid "- thumbnail generator" -msgstr "" - -#: libvips/resample/bicubic.cpp:430 -msgid "Bicubic interpolation (Catmull-Rom)" -msgstr "" - -#: libvips/resample/nohalo.cpp:1577 -msgid "Edge sharpening resampler with halo reduction" -msgstr "" - -#: libvips/resample/vsqbs.cpp:400 -msgid "B-Splines with antialiasing smoothing" -msgstr "" - -#: libvips/resample/lbb.cpp:861 -msgid "Reduced halo bicubic" -msgstr "" diff --git a/python/try4.py b/python/try4.py new file mode 100755 index 00000000..35a20724 --- /dev/null +++ b/python/try4.py @@ -0,0 +1,12 @@ +#!/usr/bin/python + +import sys +from vips8 import vips +from gi.repository import Vips + +a = vips.Image(sys.argv[1]) +b = vips.Image(sys.argv[2]) + +c = a.join(b, Vips.Direction.HORIZONTAL, expand = True) + +c.write_to_file(sys.argv[3]) diff --git a/tools/vips.c b/tools/vips.c index c0074a1c..63be2fa2 100644 --- a/tools/vips.c +++ b/tools/vips.c @@ -942,7 +942,7 @@ parse_options( GOptionContext *context, int *argc, char **argv ) g_error_free( error ); } - error_exit( "%s", g_get_prgname() ); + error_exit( NULL ); } /* We support --plugin and --version for all cases.