Merge remote-tracking branch 'origin/7.28'

Conflicts:
	ChangeLog
	configure.in
	po/vips7.pot
This commit is contained in:
John Cupitt 2012-06-21 09:23:42 +01:00
commit 5243f334e1
6 changed files with 151 additions and 104 deletions

View File

@ -1,18 +1,20 @@
19/3/12 started 7.29.0 19/3/12 started 7.29.0
- better PNG alpha handling
- sanity-check PNG read geometry - sanity-check PNG read geometry
- nearest-neighbor interpolation rounds coordinates to nearest instead of - nearest-neighbor interpolation rounds coordinates to nearest instead of
rounding down (thanks Nicolas) rounding down (thanks Nicolas)
- add dzsave, save in deep zoom format - add dzsave, save in deep zoom format
- rework im_shrink() as a class - rework im_shrink() as a class
- remove im_rightshift_size(), just a convenience function now - remove im_rightshift_size(), just a convenience function now
- fix write RGBA as JPG (thanks Tobias)
18/6/12 started 7.28.8
- fixes for centos5 portability
18/6/12 started 7.28.7 18/6/12 started 7.28.7
- add vips_flatten() -- flatten RGBA to RGB - add vips_flatten() -- flatten RGBA to RGB
- better alpha handling in PNG load - better alpha handling in PNG load
- don't save RGBA PNG as CMYK JPG (thanks Tobsn) - don't save RGBA PNG as CMYK JPG (thanks Tobsn)
- fix a crash with malformed jpg files (thanks Grigoriy) - fix a crash with malformed jpg files (thanks Grigoriy)
- vipsthumbnail enables sequential mode more and caches lines better
19/4/12 started 7.28.6 19/4/12 started 7.28.6
- better resolution unit handling in deprecated im_vips2tiff() - better resolution unit handling in deprecated im_vips2tiff()

View File

@ -35,7 +35,7 @@ VIPS_VERSION_STRING=$VIPS_VERSION-`date`
# binary interface changes not backwards compatible?: reset age to 0 # binary interface changes not backwards compatible?: reset age to 0
LIBRARY_CURRENT=33 LIBRARY_CURRENT=33
LIBRARY_REVISION=0 LIBRARY_REVISION=1
LIBRARY_AGE=1 LIBRARY_AGE=1
# patched into include/vips/version.h # patched into include/vips/version.h
@ -551,7 +551,8 @@ if test x"$with_tiff" != "xno"; then
[AC_DEFINE(HAVE_TIFF,1,[define if you have libtiff installed.]) [AC_DEFINE(HAVE_TIFF,1,[define if you have libtiff installed.])
with_tiff=yes with_tiff=yes
PACKAGES_USED="$PACKAGES_USED libtiff-4"], PACKAGES_USED="$PACKAGES_USED libtiff-4"],
[FIND_TIFF(, [FIND_TIFF(
with_tiff=yes,
[AC_MSG_WARN([libtiff not found; disabling TIFF support]) [AC_MSG_WARN([libtiff not found; disabling TIFF support])
with_tiff=no with_tiff=no
]) ])
@ -567,7 +568,8 @@ if test x"$with_png" != "xno"; then
[AC_DEFINE(HAVE_PNG,1,[define if you have libpng installed.]) [AC_DEFINE(HAVE_PNG,1,[define if you have libpng installed.])
with_png=yes with_png=yes
PACKAGES_USED="$PACKAGES_USED libpng"], PACKAGES_USED="$PACKAGES_USED libpng"],
[FIND_PNG(, [FIND_PNG(
with_png=yes,
[AC_MSG_WARN([libpng not found; disabling PNG support]) [AC_MSG_WARN([libpng not found; disabling PNG support])
with_png=no with_png=no
]) ])

View File

@ -1,4 +1,7 @@
/* cache vips operations /* cache vips operations
*
* 20/6/12
* - try to make it compile on centos5
*/ */
/* /*
@ -100,6 +103,14 @@ static GHashTable *vips_cache_table = NULL;
*/ */
static int vips_cache_time = 0; static int vips_cache_time = 0;
/* glib-2.22+ has has funcs for double and int64 hash, but we want to work on
* centos 5 which is 2.12. Switch to g_double_hash() and g_int64_hash() when
* we abandon 5.
*/
#define INT64_HASH(X) (((unsigned int *)(X))[0] ^ ((unsigned int *)(X))[1])
#define DOUBLE_HASH(X) (INT64_HASH(X))
/* Pass in the pspec so we can get the generic type. For example, a /* Pass in the pspec so we can get the generic type. For example, a
* held in a GParamSpec allowing OBJECT, but the value could be of type * held in a GParamSpec allowing OBJECT, but the value could be of type
* VipsImage. generics are much faster to compare. * VipsImage. generics are much faster to compare.
@ -134,12 +145,12 @@ vips_value_hash( GParamSpec *pspec, GValue *value )
else if( generic == G_TYPE_PARAM_UINT64 ) { else if( generic == G_TYPE_PARAM_UINT64 ) {
guint64 i = g_value_get_uint64( value ); guint64 i = g_value_get_uint64( value );
return( g_int64_hash( (gint64 *) &i ) ); return( INT64_HASH( (gint64 *) &i ) );
} }
else if( generic == G_TYPE_PARAM_INT64 ) { else if( generic == G_TYPE_PARAM_INT64 ) {
gint64 i = g_value_get_int64( value ); gint64 i = g_value_get_int64( value );
return( g_int64_hash( &i ) ); return( INT64_HASH( &i ) );
} }
else if( generic == G_TYPE_PARAM_FLOAT ) { else if( generic == G_TYPE_PARAM_FLOAT ) {
float f = g_value_get_float( value ); float f = g_value_get_float( value );
@ -149,7 +160,7 @@ vips_value_hash( GParamSpec *pspec, GValue *value )
else if( generic == G_TYPE_PARAM_DOUBLE ) { else if( generic == G_TYPE_PARAM_DOUBLE ) {
double d = g_value_get_double( value ); double d = g_value_get_double( value );
return( g_double_hash( &d ) ); return( DOUBLE_HASH( &d ) );
} }
else if( generic == G_TYPE_PARAM_STRING ) { else if( generic == G_TYPE_PARAM_STRING ) {
const char *s = g_value_get_string( value ); const char *s = g_value_get_string( value );
@ -416,23 +427,26 @@ vips_cache_init( void )
} }
} }
static void *
vips_cache_dump_fn( void *value, void *a, void *b )
{
char str[32768];
VipsBuf buf = VIPS_BUF_STATIC( str );
vips_object_to_string( VIPS_OBJECT( value ), &buf );
printf( "%p - %s\n", value, vips_buf_all( &buf ) );
return( NULL );
}
static void static void
vips_cache_dump( void ) vips_cache_dump( void )
{ {
if( vips_cache_table ) { if( vips_cache_table ) {
GHashTableIter iter;
gpointer key, value;
printf( "Operation cache:\n" ); printf( "Operation cache:\n" );
g_hash_table_iter_init( &iter, vips_cache_table ); vips_hash_table_map( vips_cache_table,
while( g_hash_table_iter_next( &iter, &key, &value ) ) { vips_cache_dump_fn, NULL, NULL );
char str[32768];
VipsBuf buf = VIPS_BUF_STATIC( str );
vips_object_to_string( VIPS_OBJECT( key ), &buf );
printf( "%p - %s\n", key, vips_buf_all( &buf ) );
}
} }
} }
@ -485,6 +499,24 @@ vips_cache_drop( VipsOperation *operation )
vips_cache_unref( operation ); vips_cache_unref( operation );
} }
static void *
vips_cache_first_fn( void *value, void *a, void *b )
{
return( value );
}
/* Return the first item.
*/
static VipsOperation *
vips_cache_first( void )
{
if( vips_cache_table )
return( VIPS_OPERATION( vips_hash_table_map( vips_cache_table,
vips_cache_first_fn, NULL, NULL ) ) );
else
return( NULL );
}
/** /**
* vips_cache_drop_all: * vips_cache_drop_all:
* *
@ -494,6 +526,8 @@ void
vips_cache_drop_all( void ) vips_cache_drop_all( void )
{ {
if( vips_cache_table ) { if( vips_cache_table ) {
VipsOperation *operation;
if( vips__cache_dump ) if( vips__cache_dump )
vips_cache_dump(); vips_cache_dump();
@ -501,16 +535,8 @@ vips_cache_drop_all( void )
* g_hash_table_foreach() and friends. Repeatedly drop the * g_hash_table_foreach() and friends. Repeatedly drop the
* first item instead. * first item instead.
*/ */
for(;;) { while( (operation = vips_cache_first()) )
GHashTableIter iter; vips_cache_drop( operation );
gpointer key, value;
g_hash_table_iter_init( &iter, vips_cache_table );
if( !g_hash_table_iter_next( &iter, &key, &value ) )
break;
vips_cache_drop( (VipsOperation *) key );
}
VIPS_FREEF( g_hash_table_unref, vips_cache_table ); VIPS_FREEF( g_hash_table_unref, vips_cache_table );
} }

View File

@ -249,7 +249,7 @@ typedef struct {
static gboolean static gboolean
vips_hash_table_predicate( const char *key, void *value, Pair *pair ) vips_hash_table_predicate( const char *key, void *value, Pair *pair )
{ {
return( (pair->result == pair->fn( value, pair->a, pair->b )) ); return( (pair->result = pair->fn( value, pair->a, pair->b )) != NULL );
} }
/* Like slist map, but for a hash table. /* Like slist map, but for a hash table.

View File

@ -67,6 +67,7 @@ libvips/conversion/im_gaussnoise.c
libvips/conversion/bandary.c libvips/conversion/bandary.c
libvips/conversion/cast.c libvips/conversion/cast.c
libvips/conversion/conversion.c libvips/conversion/conversion.c
libvips/conversion/flatten.c
libvips/conversion/im_subsample.c libvips/conversion/im_subsample.c
libvips/conversion/im_grid.c libvips/conversion/im_grid.c
libvips/conversion/extract.c libvips/conversion/extract.c
@ -104,6 +105,7 @@ libvips/convolution/convol_dispatch.c
libvips/convolution/im_aconv.c libvips/convolution/im_aconv.c
libvips/convolution/im_addgnoise.c libvips/convolution/im_addgnoise.c
libvips/convolution/im_sharpen.c libvips/convolution/im_sharpen.c
libvips/dummy.c
libvips/foreign/rawsave.c libvips/foreign/rawsave.c
libvips/foreign/radload.c libvips/foreign/radload.c
libvips/foreign/tiffload.c libvips/foreign/tiffload.c
@ -312,6 +314,7 @@ libvips/include/vips/generate.h
libvips/include/vips/arithmetic.h libvips/include/vips/arithmetic.h
libvips/include/vips/version.h libvips/include/vips/version.h
libvips/include/vips/util.h libvips/include/vips/util.h
libvips/include/vips/almostdeprecated.h
libvips/include/vips/colour.h libvips/include/vips/colour.h
libvips/include/vips/threadpool.h libvips/include/vips/threadpool.h
libvips/include/vips/vector.h libvips/include/vips/vector.h
@ -331,6 +334,7 @@ libvips/include/vips/interpolate.h
libvips/include/vips/private.h libvips/include/vips/private.h
libvips/include/vips/format.h libvips/include/vips/format.h
libvips/include/vips/object.h libvips/include/vips/object.h
libvips/include/vips/deprecated.h
libvips/include/vips/inlines.h libvips/include/vips/inlines.h
libvips/include/vips/histograms_lut.h libvips/include/vips/histograms_lut.h
libvips/include/vips/other.h libvips/include/vips/other.h

View File

@ -48,7 +48,7 @@ msgstr ""
#: ../libvips/arithmetic/stats.c:423 ../libvips/arithmetic/deviate.c:219 #: ../libvips/arithmetic/stats.c:423 ../libvips/arithmetic/deviate.c:219
#: ../libvips/arithmetic/arithmetic.c:382 ../libvips/arithmetic/min.c:325 #: ../libvips/arithmetic/arithmetic.c:382 ../libvips/arithmetic/min.c:325
#: ../libvips/arithmetic/max.c:324 ../libvips/conversion/conversion.c:89 #: ../libvips/arithmetic/max.c:324 ../libvips/conversion/conversion.c:89
#: ../libvips/foreign/foreign.c:897 #: ../libvips/foreign/foreign.c:903
msgid "Output" msgid "Output"
msgstr "" msgstr ""
@ -391,13 +391,13 @@ msgstr ""
#: ../libvips/arithmetic/unary.c:87 ../libvips/arithmetic/statistic.c:151 #: ../libvips/arithmetic/unary.c:87 ../libvips/arithmetic/statistic.c:151
#: ../libvips/conversion/flip.c:240 ../libvips/conversion/bandmean.c:197 #: ../libvips/conversion/flip.c:240 ../libvips/conversion/bandmean.c:197
#: ../libvips/conversion/cast.c:476 ../libvips/conversion/extract.c:194 #: ../libvips/conversion/cast.c:476 ../libvips/conversion/flatten.c:372
#: ../libvips/conversion/extract.c:353 ../libvips/conversion/bandjoin.c:171 #: ../libvips/conversion/extract.c:194 ../libvips/conversion/extract.c:353
#: ../libvips/conversion/copy.c:318 ../libvips/conversion/rot.c:355 #: ../libvips/conversion/bandjoin.c:171 ../libvips/conversion/copy.c:318
#: ../libvips/conversion/replicate.c:196 ../libvips/conversion/tilecache.c:422 #: ../libvips/conversion/rot.c:355 ../libvips/conversion/replicate.c:196
#: ../libvips/conversion/embed.c:516 ../libvips/conversion/cache.c:106 #: ../libvips/conversion/tilecache.c:422 ../libvips/conversion/embed.c:516
#: ../libvips/conversion/recomb.c:200 ../libvips/conversion/sequential.c:153 #: ../libvips/conversion/cache.c:106 ../libvips/conversion/recomb.c:200
#: ../libvips/foreign/foreign.c:1379 #: ../libvips/conversion/sequential.c:153 ../libvips/foreign/foreign.c:1410
msgid "Input" msgid "Input"
msgstr "" msgstr ""
@ -438,7 +438,7 @@ msgid "arithmetic operations"
msgstr "" msgstr ""
#: ../libvips/arithmetic/arithmetic.c:383 #: ../libvips/arithmetic/arithmetic.c:383
#: ../libvips/conversion/conversion.c:90 ../libvips/foreign/foreign.c:898 #: ../libvips/conversion/conversion.c:90 ../libvips/foreign/foreign.c:904
msgid "Output image" msgid "Output image"
msgstr "" msgstr ""
@ -562,11 +562,12 @@ msgid "VIPS statistic operations"
msgstr "" msgstr ""
#: ../libvips/arithmetic/statistic.c:152 ../libvips/conversion/flip.c:241 #: ../libvips/arithmetic/statistic.c:152 ../libvips/conversion/flip.c:241
#: ../libvips/conversion/cast.c:477 ../libvips/conversion/extract.c:195 #: ../libvips/conversion/cast.c:477 ../libvips/conversion/flatten.c:373
#: ../libvips/conversion/extract.c:354 ../libvips/conversion/copy.c:319 #: ../libvips/conversion/extract.c:195 ../libvips/conversion/extract.c:354
#: ../libvips/conversion/rot.c:356 ../libvips/conversion/replicate.c:197 #: ../libvips/conversion/copy.c:319 ../libvips/conversion/rot.c:356
#: ../libvips/conversion/tilecache.c:423 ../libvips/conversion/embed.c:517 #: ../libvips/conversion/replicate.c:197 ../libvips/conversion/tilecache.c:423
#: ../libvips/conversion/cache.c:107 ../libvips/conversion/sequential.c:154 #: ../libvips/conversion/embed.c:517 ../libvips/conversion/cache.c:107
#: ../libvips/conversion/sequential.c:154
msgid "Input image" msgid "Input image"
msgstr "" msgstr ""
@ -794,6 +795,19 @@ msgstr ""
msgid "conversion operations" msgid "conversion operations"
msgstr "" msgstr ""
#: ../libvips/conversion/flatten.c:368
msgid "flatten alpha out of an image"
msgstr ""
#: ../libvips/conversion/flatten.c:378 ../libvips/conversion/join.c:247
#: ../libvips/conversion/insert.c:386
msgid "Background"
msgstr ""
#: ../libvips/conversion/flatten.c:379
msgid "Background value"
msgstr ""
#: ../libvips/conversion/im_subsample.c:202 #: ../libvips/conversion/im_subsample.c:202
msgid "factors should both be >= 1" msgid "factors should both be >= 1"
msgstr "" msgstr ""
@ -1029,10 +1043,6 @@ msgstr ""
msgid "Pixels between images" msgid "Pixels between images"
msgstr "" msgstr ""
#: ../libvips/conversion/join.c:247 ../libvips/conversion/insert.c:386
msgid "Background"
msgstr ""
#: ../libvips/conversion/join.c:248 ../libvips/conversion/insert.c:387 #: ../libvips/conversion/join.c:248 ../libvips/conversion/insert.c:387
msgid "Colour for new pixels" msgid "Colour for new pixels"
msgstr "" msgstr ""
@ -1408,20 +1418,20 @@ msgstr ""
msgid "datatype %d not supported" msgid "datatype %d not supported"
msgstr "" msgstr ""
#: ../libvips/foreign/jpeg2vips.c:167 #: ../libvips/foreign/jpeg2vips.c:166
#, c-format #, c-format
msgid "read gave %ld warnings" msgid "read gave %ld warnings"
msgstr "" msgstr ""
#: ../libvips/foreign/jpeg2vips.c:489 #: ../libvips/foreign/jpeg2vips.c:486
msgid "error reading resolution" msgid "error reading resolution"
msgstr "" msgstr ""
#: ../libvips/foreign/jpeg2vips.c:510 #: ../libvips/foreign/jpeg2vips.c:507
msgid "unknown EXIF resolution unit" msgid "unknown EXIF resolution unit"
msgstr "" msgstr ""
#: ../libvips/foreign/jpeg2vips.c:718 #: ../libvips/foreign/jpeg2vips.c:715
msgid "unknown JFIF resolution unit" msgid "unknown JFIF resolution unit"
msgstr "" msgstr ""
@ -1429,7 +1439,7 @@ msgstr ""
msgid "error reading radiance header" msgid "error reading radiance header"
msgstr "" msgstr ""
#: ../libvips/foreign/radiance.c:959 ../libvips/foreign/tiff2vips.c:1343 #: ../libvips/foreign/radiance.c:959 ../libvips/foreign/tiff2vips.c:1347
msgid "read error" msgid "read error"
msgstr "" msgstr ""
@ -1709,91 +1719,94 @@ msgstr ""
msgid "EXR error: %s" msgid "EXR error: %s"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:265 ../libvips/foreign/tiff2vips.c:288 #: ../libvips/foreign/tiff2vips.c:269 ../libvips/foreign/tiff2vips.c:287
#: ../libvips/foreign/tiff2vips.c:306
#, c-format #, c-format
msgid "required field %d missing" msgid "required field %d missing"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:269 #: ../libvips/foreign/tiff2vips.c:307
#, c-format #, c-format
msgid "required field %d=%d, not %d" msgid "required field %d = %d, not %d"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:653 #: ../libvips/foreign/tiff2vips.c:651
#, c-format #, c-format
msgid "%d bits per sample palette image not supported" msgid "%d bits per sample palette image not supported"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:662 #: ../libvips/foreign/tiff2vips.c:660
msgid "bad colormap" msgid "bad colormap"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:719 ../libvips/foreign/tiff2vips.c:750 #: ../libvips/foreign/tiff2vips.c:717 ../libvips/foreign/tiff2vips.c:748
msgid "3 or 4 bands RGB TIFF only" msgid "3 or 4 bands RGB TIFF only"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:821 #: ../libvips/foreign/tiff2vips.c:819
msgid "4 or 5 bands CMYK TIFF only" msgid "4 or 5 bands CMYK TIFF only"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:872 #: ../libvips/foreign/tiff2vips.c:870
msgid "unknown resolution unit" msgid "unknown resolution unit"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:877 #: ../libvips/foreign/tiff2vips.c:875
#, c-format #, c-format
msgid "" msgid ""
"no resolution information for TIFF image \"%s\" -- defaulting to 1 pixel per " "no resolution information for TIFF image \"%s\" -- defaulting to 1 pixel per "
"mm" "mm"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:949 #: ../libvips/foreign/tiff2vips.c:907
msgid "not a PLANARCONFIG_CONTIG image"
msgstr ""
#: ../libvips/foreign/tiff2vips.c:953
#, c-format #, c-format
msgid "unsupported sample format %d for lab image" msgid "unsupported sample format %d for lab image"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:959 #: ../libvips/foreign/tiff2vips.c:963
#, c-format #, c-format
msgid "unsupported depth %d for LAB image" msgid "unsupported depth %d for LAB image"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:998 #: ../libvips/foreign/tiff2vips.c:1002
#, c-format #, c-format
msgid "unsupported sample format %d for greyscale image" msgid "unsupported sample format %d for greyscale image"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:1007 #: ../libvips/foreign/tiff2vips.c:1011
#, c-format #, c-format
msgid "unsupported depth %d for greyscale image" msgid "unsupported depth %d for greyscale image"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:1055 #: ../libvips/foreign/tiff2vips.c:1059
#, c-format #, c-format
msgid "unsupported sample format %d for rgb image" msgid "unsupported sample format %d for rgb image"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:1064 #: ../libvips/foreign/tiff2vips.c:1068
#, c-format #, c-format
msgid "unsupported depth %d for RGB image" msgid "unsupported depth %d for RGB image"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:1078 #: ../libvips/foreign/tiff2vips.c:1082
#, c-format #, c-format
msgid "unknown photometric interpretation %d" msgid "unknown photometric interpretation %d"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:1456 #: ../libvips/foreign/tiff2vips.c:1465
#, c-format #, c-format
msgid "bad page number %d" msgid "bad page number %d"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:1477 ../libvips/foreign/vips2tiff.c:289 #: ../libvips/foreign/tiff2vips.c:1486 ../libvips/foreign/vips2tiff.c:289
#, c-format #, c-format
msgid "unable to open \"%s\" for input" msgid "unable to open \"%s\" for input"
msgstr "" msgstr ""
#: ../libvips/foreign/tiff2vips.c:1532 ../libvips/foreign/tiff2vips.c:1562 #: ../libvips/foreign/tiff2vips.c:1541 ../libvips/foreign/tiff2vips.c:1571
#, c-format #, c-format
msgid "TIFF file does not contain page %d" msgid "TIFF file does not contain page %d"
msgstr "" msgstr ""
@ -1973,62 +1986,62 @@ msgstr ""
msgid "1 to 5 bands only" msgid "1 to 5 bands only"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:384 #: ../libvips/foreign/foreign.c:386
msgid "load and save image files" msgid "load and save image files"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:525 ../libvips/mosaicing/im_remosaic.c:76 #: ../libvips/foreign/foreign.c:527 ../libvips/mosaicing/im_remosaic.c:76
#, c-format #, c-format
msgid "file \"%s\" not found" msgid "file \"%s\" not found"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:534 ../libvips/foreign/foreign.c:1022 #: ../libvips/foreign/foreign.c:536 ../libvips/foreign/foreign.c:1030
#, c-format #, c-format
msgid "\"%s\" is not a known file format" msgid "\"%s\" is not a known file format"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:740 #: ../libvips/foreign/foreign.c:746
msgid "images do not match" msgid "images do not match"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:826 #: ../libvips/foreign/foreign.c:832
msgid "" msgid ""
"VIPS_FOREIGN_PARTIAL and VIPS_FOREIGN_SEQUENTIAL both set -- using SEQUENTIAL" "VIPS_FOREIGN_PARTIAL and VIPS_FOREIGN_SEQUENTIAL both set -- using SEQUENTIAL"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:894 #: ../libvips/foreign/foreign.c:900
msgid "file loaders" msgid "file loaders"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:903 #: ../libvips/foreign/foreign.c:909
msgid "Flags" msgid "Flags"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:904 #: ../libvips/foreign/foreign.c:910
msgid "Flags for this file" msgid "Flags for this file"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:910 #: ../libvips/foreign/foreign.c:916
msgid "Disc" msgid "Disc"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:911 #: ../libvips/foreign/foreign.c:917
msgid "Open to disc" msgid "Open to disc"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:917 #: ../libvips/foreign/foreign.c:923
msgid "Sequential" msgid "Sequential"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:918 #: ../libvips/foreign/foreign.c:924
msgid "Sequential read only" msgid "Sequential read only"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:1370 #: ../libvips/foreign/foreign.c:1401
msgid "file savers" msgid "file savers"
msgstr "" msgstr ""
#: ../libvips/foreign/foreign.c:1380 #: ../libvips/foreign/foreign.c:1411
msgid "Image to save" msgid "Image to save"
msgstr "" msgstr ""
@ -2261,7 +2274,7 @@ msgid "per-thread state for sinkdisc"
msgstr "" msgstr ""
#: ../libvips/iofuncs/sinkdisc.c:236 ../libvips/iofuncs/sinkscreen.c:537 #: ../libvips/iofuncs/sinkdisc.c:236 ../libvips/iofuncs/sinkscreen.c:537
#: ../libvips/iofuncs/threadpool.c:606 #: ../libvips/iofuncs/threadpool.c:640
msgid "unable to create thread" msgid "unable to create thread"
msgstr "" msgstr ""
@ -2950,12 +2963,12 @@ msgstr ""
msgid "extra tokens after ')'" msgid "extra tokens after ')'"
msgstr "" msgstr ""
#: ../libvips/iofuncs/threadpool.c:217 #: ../libvips/iofuncs/threadpool.c:251
#, c-format #, c-format
msgid "threads clipped to %d" msgid "threads clipped to %d"
msgstr "" msgstr ""
#: ../libvips/iofuncs/threadpool.c:281 #: ../libvips/iofuncs/threadpool.c:315
msgid "per-thread state for vipsthreadpool" msgid "per-thread state for vipsthreadpool"
msgstr "" msgstr ""
@ -3423,55 +3436,55 @@ msgstr ""
msgid "unknown action \"%s\"" msgid "unknown action \"%s\""
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:54 #: ../tools/vipsthumbnail.c:56
msgid "set thumbnail size to SIZE" msgid "set thumbnail size to SIZE"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:55 #: ../tools/vipsthumbnail.c:57
msgid "SIZE" msgid "SIZE"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:57 #: ../tools/vipsthumbnail.c:59
msgid "set output to FORMAT" msgid "set output to FORMAT"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:58 #: ../tools/vipsthumbnail.c:60
msgid "FORMAT" msgid "FORMAT"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:60 #: ../tools/vipsthumbnail.c:62
msgid "resample with INTERPOLATOR" msgid "resample with INTERPOLATOR"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:61 #: ../tools/vipsthumbnail.c:63
msgid "INTERPOLATOR" msgid "INTERPOLATOR"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:63 #: ../tools/vipsthumbnail.c:65
msgid "don't sharpen thumbnail" msgid "don't sharpen thumbnail"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:65 #: ../tools/vipsthumbnail.c:67
msgid "export with PROFILE" msgid "export with PROFILE"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:66 ../tools/vipsthumbnail.c:69 #: ../tools/vipsthumbnail.c:68 ../tools/vipsthumbnail.c:71
msgid "PROFILE" msgid "PROFILE"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:68 #: ../tools/vipsthumbnail.c:70
msgid "import untagged images with PROFILE" msgid "import untagged images with PROFILE"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:71 #: ../tools/vipsthumbnail.c:73
msgid "don't delete profile from exported image" msgid "don't delete profile from exported image"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:73 #: ../tools/vipsthumbnail.c:75
msgid "verbose output" msgid "verbose output"
msgstr "" msgstr ""
#: ../tools/vipsthumbnail.c:412 #: ../tools/vipsthumbnail.c:416
msgid "- thumbnail generator" msgid "- thumbnail generator"
msgstr "" msgstr ""