Merge remote-tracking branch 'origin/master'
Conflicts: ChangeLog configure.in
This commit is contained in:
commit
9cffb5f939
10
ChangeLog
10
ChangeLog
@ -1,3 +1,9 @@
|
|||||||
|
20/7/12 started 7.30.0
|
||||||
|
- support "rs" mode in vips7
|
||||||
|
- add --vips-version cmdline arg
|
||||||
|
- fix --without-tiff / exr / jpeg / png / magick
|
||||||
|
- add --vips-fatal flag
|
||||||
|
|
||||||
19/3/12 started 7.29.0
|
19/3/12 started 7.29.0
|
||||||
- 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
|
||||||
@ -26,6 +32,10 @@
|
|||||||
- png save compression range was wrong
|
- png save compression range was wrong
|
||||||
- more/moreeq was wrong
|
- more/moreeq was wrong
|
||||||
- vips7 ppm save with options was broken
|
- vips7 ppm save with options was broken
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
- don't cache write operations
|
||||||
|
>>>>>>> origin/master
|
||||||
|
|
||||||
18/6/12 started 7.28.9
|
18/6/12 started 7.28.9
|
||||||
- slightly more memory debugging output
|
- slightly more memory debugging output
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
if ENABLE_CXX
|
if ENABLE_CXX
|
||||||
C_COMPILE_DIR = libvipsCC
|
C_COMPILE_DIR = libvipsCC
|
||||||
C_DIST_DIR =
|
C_DIST_DIR =
|
||||||
C_PKGCONFIG = vipsCC-7.${VIPS_MINOR_VERSION}.pc
|
C_PKGCONFIG = vipsCC.pc
|
||||||
|
|
||||||
# turn on Python if we can (requires C++)
|
# turn on Python if we can (requires C++)
|
||||||
if HAVE_PYTHON
|
if HAVE_PYTHON
|
||||||
@ -32,15 +32,15 @@ EXTRA_DIST = \
|
|||||||
m4 \
|
m4 \
|
||||||
benchmark \
|
benchmark \
|
||||||
bootstrap.sh \
|
bootstrap.sh \
|
||||||
vips-7.${VIPS_MINOR_VERSION}.pc.in \
|
vips.pc.in \
|
||||||
vipsCC-7.${VIPS_MINOR_VERSION}.pc.in \
|
vipsCC.pc.in \
|
||||||
acinclude.m4 \
|
acinclude.m4 \
|
||||||
depcomp \
|
depcomp \
|
||||||
$(C_DIST_DIR) \
|
$(C_DIST_DIR) \
|
||||||
$(P_DIST_DIR)
|
$(P_DIST_DIR)
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = vips-7.${VIPS_MINOR_VERSION}.pc $(C_PKGCONFIG)
|
pkgconfig_DATA = vips.pc $(C_PKGCONFIG)
|
||||||
|
|
||||||
install-exec-hook:
|
install-exec-hook:
|
||||||
-rm -rf ${DESTDIR}$(datadir)/doc/vips
|
-rm -rf ${DESTDIR}$(datadir)/doc/vips
|
||||||
|
15
configure.in
15
configure.in
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# also update the version number in the m4 macros below
|
# also update the version number in the m4 macros below
|
||||||
|
|
||||||
AC_INIT([vips], [7.29.0], [vipsip@jiscmail.ac.uk])
|
AC_INIT([vips], [7.30.0], [vipsip@jiscmail.ac.uk])
|
||||||
# required for gobject-introspection
|
# required for gobject-introspection
|
||||||
AC_PREREQ(2.62)
|
AC_PREREQ(2.62)
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ AC_CONFIG_MACRO_DIR([m4])
|
|||||||
|
|
||||||
# user-visible library versioning
|
# user-visible library versioning
|
||||||
m4_define([vips_major_version], [7])
|
m4_define([vips_major_version], [7])
|
||||||
m4_define([vips_minor_version], [29])
|
m4_define([vips_minor_version], [30])
|
||||||
m4_define([vips_micro_version], [0])
|
m4_define([vips_micro_version], [0])
|
||||||
m4_define([vips_version],
|
m4_define([vips_version],
|
||||||
[vips_major_version.vips_minor_version.vips_micro_version])
|
[vips_major_version.vips_minor_version.vips_micro_version])
|
||||||
@ -37,7 +37,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=2
|
LIBRARY_REVISION=3
|
||||||
LIBRARY_AGE=1
|
LIBRARY_AGE=1
|
||||||
|
|
||||||
# patched into include/vips/version.h
|
# patched into include/vips/version.h
|
||||||
@ -218,7 +218,7 @@ if test x"$enable_cxx" != x"no"; then
|
|||||||
AC_DEFINE(ENABLE_CXX,1,[build C++ components])
|
AC_DEFINE(ENABLE_CXX,1,[build C++ components])
|
||||||
AM_CONDITIONAL(ENABLE_CXX, true)
|
AM_CONDITIONAL(ENABLE_CXX, true)
|
||||||
# need -lstdc++ for (eg.) the C++ format loaders
|
# need -lstdc++ for (eg.) the C++ format loaders
|
||||||
# this gets added to vips-7.xx.pc to help mingw and friends link programs
|
# this gets added to vips.pc to help mingw and friends link programs
|
||||||
# using libvips
|
# using libvips
|
||||||
VIPS_CXX_LIBS="-lstdc++"
|
VIPS_CXX_LIBS="-lstdc++"
|
||||||
enable_cxx=yes
|
enable_cxx=yes
|
||||||
@ -685,12 +685,9 @@ AC_SUBST(VIPS_LIBS)
|
|||||||
AC_SUBST(VIPS_CXX_LIBS)
|
AC_SUBST(VIPS_CXX_LIBS)
|
||||||
AC_SUBST(PACKAGES_USED)
|
AC_SUBST(PACKAGES_USED)
|
||||||
|
|
||||||
# you'd think we could have
|
|
||||||
# vips-$VIPS_MAJOR_VERSION.$VIPS_MINOR_VERSION.pc
|
|
||||||
# in AC_OUTPUT, but that seems to break for some combinations of sh/m4
|
|
||||||
AC_OUTPUT([
|
AC_OUTPUT([
|
||||||
vips-7.29.pc
|
vips.pc
|
||||||
vipsCC-7.29.pc
|
vipsCC.pc
|
||||||
Makefile
|
Makefile
|
||||||
libvips/include/vips/version.h
|
libvips/include/vips/version.h
|
||||||
libvips/include/Makefile
|
libvips/include/Makefile
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
\fancyhead[LE,RO]{\leftmark} % left-even, right-odd
|
\fancyhead[LE,RO]{\leftmark} % left-even, right-odd
|
||||||
\fancyhead[RE,LO]{VIPS Manual} % right-even, left-odd
|
\fancyhead[RE,LO]{VIPS Manual} % right-even, left-odd
|
||||||
\fancyfoot[LE,RO]{\thepage} % left-even, right-odd
|
\fancyfoot[LE,RO]{\thepage} % left-even, right-odd
|
||||||
\fancyfoot[RE,LO]{February 2012}
|
\fancyfoot[RE,LO]{July 2012}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
@ -27,14 +27,14 @@
|
|||||||
\begin{center}
|
\begin{center}
|
||||||
\huge
|
\huge
|
||||||
VIPS Manual\\
|
VIPS Manual\\
|
||||||
\large Version 7.28\\
|
\large Version 7.30\\
|
||||||
\vspace{0.5in}
|
\vspace{0.5in}
|
||||||
\large
|
\large
|
||||||
John Cupitt,
|
John Cupitt,
|
||||||
Kirk Martinez\\
|
Kirk Martinez\\
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
VIPS is currently (v. 7.28, February 2012) in an API transition. The API as
|
VIPS is currently (v. 7.30, July 2012) in an API transition. The API as
|
||||||
documented in 7.24 is still complete and supported and is the one you should
|
documented in 7.24 is still complete and supported and is the one you should
|
||||||
use. The 8.0 API is not yet done and may still change before completion.
|
use. The 8.0 API is not yet done and may still change before completion.
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ input_image_init( im_object *obj, char *str )
|
|||||||
{
|
{
|
||||||
IMAGE **im = (IMAGE **) obj;
|
IMAGE **im = (IMAGE **) obj;
|
||||||
|
|
||||||
return( !(*im = vips__deprecated_open_read( str )) );
|
return( !(*im = vips__deprecated_open_read( str, FALSE )) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Input image type.
|
/* Input image type.
|
||||||
|
@ -53,7 +53,13 @@
|
|||||||
int
|
int
|
||||||
im_exr2vips( const char *filename, IMAGE *out )
|
im_exr2vips( const char *filename, IMAGE *out )
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_OPENEXR
|
||||||
return( vips__openexr_read( filename, out ) );
|
return( vips__openexr_read( filename, out ) );
|
||||||
|
#else
|
||||||
|
vips_error( "im_exr2vips", _( "no OpenEXR support in your libvips" ) );
|
||||||
|
|
||||||
|
return( -1 );
|
||||||
|
#endif /*HAVE_OPENEXR*/
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *exr_suffs[] = { ".exr", NULL };
|
static const char *exr_suffs[] = { ".exr", NULL };
|
||||||
|
@ -58,6 +58,7 @@ jpeg2vips( const char *name, IMAGE *out, gboolean header_only )
|
|||||||
char mode[FILENAME_MAX];
|
char mode[FILENAME_MAX];
|
||||||
char *p, *q;
|
char *p, *q;
|
||||||
int shrink;
|
int shrink;
|
||||||
|
int seq;
|
||||||
gboolean fail_on_warn;
|
gboolean fail_on_warn;
|
||||||
|
|
||||||
/* By default, we ignore any warnings. We want to get as much of
|
/* By default, we ignore any warnings. We want to get as much of
|
||||||
@ -70,6 +71,7 @@ jpeg2vips( const char *name, IMAGE *out, gboolean header_only )
|
|||||||
im_filename_split( name, filename, mode );
|
im_filename_split( name, filename, mode );
|
||||||
p = &mode[0];
|
p = &mode[0];
|
||||||
shrink = 1;
|
shrink = 1;
|
||||||
|
seq = 0;
|
||||||
if( (q = im_getnextoption( &p )) ) {
|
if( (q = im_getnextoption( &p )) ) {
|
||||||
shrink = atoi( q );
|
shrink = atoi( q );
|
||||||
|
|
||||||
@ -84,13 +86,9 @@ jpeg2vips( const char *name, IMAGE *out, gboolean header_only )
|
|||||||
if( im_isprefix( "fail", q ) )
|
if( im_isprefix( "fail", q ) )
|
||||||
fail_on_warn = TRUE;
|
fail_on_warn = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vips__jpeg_read_file() is always sequential. Parse the option, but
|
|
||||||
* don't use it.
|
|
||||||
*/
|
|
||||||
if( (q = im_getnextoption( &p )) ) {
|
if( (q = im_getnextoption( &p )) ) {
|
||||||
if( im_isprefix( "seq", q ) )
|
if( im_isprefix( "seq", q ) )
|
||||||
;
|
seq = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't use vips_jpegload() ... we call the jpeg func directly in
|
/* Don't use vips_jpegload() ... we call the jpeg func directly in
|
||||||
@ -106,14 +104,21 @@ jpeg2vips( const char *name, IMAGE *out, gboolean header_only )
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if( !header_only &&
|
if( !header_only &&
|
||||||
|
!seq &&
|
||||||
out->dtype == VIPS_IMAGE_PARTIAL ) {
|
out->dtype == VIPS_IMAGE_PARTIAL ) {
|
||||||
if( vips__image_wio_output( out ) )
|
if( vips__image_wio_output( out ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_JPEG
|
||||||
if( vips__jpeg_read_file( filename, out,
|
if( vips__jpeg_read_file( filename, out,
|
||||||
header_only, shrink, fail_on_warn ) )
|
header_only, shrink, fail_on_warn ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
#else
|
||||||
|
vips_error( "im_jpeg2vips", _( "no JPEG support in your libvips" ) );
|
||||||
|
|
||||||
|
return( -1 );
|
||||||
|
#endif /*HAVE_JPEG*/
|
||||||
|
|
||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,14 @@
|
|||||||
int
|
int
|
||||||
im_magick2vips( const char *filename, IMAGE *out )
|
im_magick2vips( const char *filename, IMAGE *out )
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_MAGICK
|
||||||
return( vips__magick_read( filename, out ) );
|
return( vips__magick_read( filename, out ) );
|
||||||
|
#else
|
||||||
|
vips_error( "im_magick2vips",
|
||||||
|
_( "no libMagick support in your libvips" ) );
|
||||||
|
|
||||||
|
return( -1 );
|
||||||
|
#endif /*HAVE_MAGICK*/
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -52,13 +52,15 @@ png2vips( const char *name, IMAGE *out, gboolean header_only )
|
|||||||
char filename[FILENAME_MAX];
|
char filename[FILENAME_MAX];
|
||||||
char mode[FILENAME_MAX];
|
char mode[FILENAME_MAX];
|
||||||
char *p, *q;
|
char *p, *q;
|
||||||
|
int seq;
|
||||||
|
|
||||||
im_filename_split( name, filename, mode );
|
im_filename_split( name, filename, mode );
|
||||||
|
|
||||||
|
seq = 0;
|
||||||
p = &mode[0];
|
p = &mode[0];
|
||||||
if( (q = im_getnextoption( &p )) ) {
|
if( (q = im_getnextoption( &p )) ) {
|
||||||
if( im_isprefix( "seq", q ) )
|
if( im_isprefix( "seq", q ) )
|
||||||
;
|
seq = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We need to be compatible with the pre-sequential mode
|
/* We need to be compatible with the pre-sequential mode
|
||||||
@ -72,19 +74,26 @@ png2vips( const char *name, IMAGE *out, gboolean header_only )
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if( !header_only &&
|
if( !header_only &&
|
||||||
|
!seq &&
|
||||||
out->dtype == VIPS_IMAGE_PARTIAL ) {
|
out->dtype == VIPS_IMAGE_PARTIAL ) {
|
||||||
if( vips__image_wio_output( out ) )
|
if( vips__image_wio_output( out ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_PNG
|
||||||
if( header_only ) {
|
if( header_only ) {
|
||||||
if( vips__png_read( filename, out ) )
|
|
||||||
return( -1 );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if( vips__png_header( filename, out ) )
|
if( vips__png_header( filename, out ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
if( vips__png_read( filename, out ) )
|
||||||
|
return( -1 );
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
vips_error( "im_png2vips", _( "no PNG support in your libvips" ) );
|
||||||
|
|
||||||
|
return( -1 );
|
||||||
|
#endif /*HAVE_PNG*/
|
||||||
|
|
||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
@ -57,17 +57,19 @@ tiff2vips( const char *name, IMAGE *out, gboolean header_only )
|
|||||||
char mode[FILENAME_MAX];
|
char mode[FILENAME_MAX];
|
||||||
char *p, *q;
|
char *p, *q;
|
||||||
int page;
|
int page;
|
||||||
|
int seq;
|
||||||
|
|
||||||
im_filename_split( name, filename, mode );
|
im_filename_split( name, filename, mode );
|
||||||
|
|
||||||
page = 0;
|
page = 0;
|
||||||
|
seq = 0;
|
||||||
p = &mode[0];
|
p = &mode[0];
|
||||||
if( (q = im_getnextoption( &p )) ) {
|
if( (q = im_getnextoption( &p )) ) {
|
||||||
page = atoi( q );
|
page = atoi( q );
|
||||||
}
|
}
|
||||||
if( (q = im_getnextoption( &p )) ) {
|
if( (q = im_getnextoption( &p )) ) {
|
||||||
if( im_isprefix( "seq", q ) )
|
if( im_isprefix( "seq", q ) )
|
||||||
;
|
seq = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We need to be compatible with the pre-sequential mode
|
/* We need to be compatible with the pre-sequential mode
|
||||||
@ -82,12 +84,14 @@ tiff2vips( const char *name, IMAGE *out, gboolean header_only )
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if( !header_only &&
|
if( !header_only &&
|
||||||
|
!seq &&
|
||||||
!vips__istifftiled( filename ) &&
|
!vips__istifftiled( filename ) &&
|
||||||
out->dtype == VIPS_IMAGE_PARTIAL ) {
|
out->dtype == VIPS_IMAGE_PARTIAL ) {
|
||||||
if( vips__image_wio_output( out ) )
|
if( vips__image_wio_output( out ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_TIFF
|
||||||
if( header_only ) {
|
if( header_only ) {
|
||||||
if( vips__tiff_read_header( filename, out, page ) )
|
if( vips__tiff_read_header( filename, out, page ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
@ -96,6 +100,11 @@ tiff2vips( const char *name, IMAGE *out, gboolean header_only )
|
|||||||
if( vips__tiff_read( filename, out, page ) )
|
if( vips__tiff_read( filename, out, page ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
vips_error( "im_tiff2vips", _( "no TIFF support in your libvips" ) );
|
||||||
|
|
||||||
|
return( -1 );
|
||||||
|
#endif /*HAVE_TIFF*/
|
||||||
|
|
||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ typedef struct {
|
|||||||
VipsImage *image;
|
VipsImage *image;
|
||||||
VipsFormatClass *format;/* Read in pixels with this */
|
VipsFormatClass *format;/* Read in pixels with this */
|
||||||
char *filename; /* Get pixels from here */
|
char *filename; /* Get pixels from here */
|
||||||
gboolean disc; /* Read via disc requested */
|
gboolean sequential; /* Sequential read requested */
|
||||||
|
|
||||||
VipsImage *real; /* The real decompressed image */
|
VipsImage *real; /* The real decompressed image */
|
||||||
} Lazy;
|
} Lazy;
|
||||||
@ -80,7 +80,7 @@ lazy_free_cb( VipsImage *image, Lazy *lazy )
|
|||||||
|
|
||||||
static Lazy *
|
static Lazy *
|
||||||
lazy_new( VipsImage *image,
|
lazy_new( VipsImage *image,
|
||||||
VipsFormatClass *format, const char *filename, gboolean disc )
|
VipsFormatClass *format, const char *filename, gboolean sequential )
|
||||||
{
|
{
|
||||||
Lazy *lazy;
|
Lazy *lazy;
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ lazy_new( VipsImage *image,
|
|||||||
lazy->image = image;
|
lazy->image = image;
|
||||||
lazy->format = format;
|
lazy->format = format;
|
||||||
lazy->filename = g_strdup( filename );
|
lazy->filename = g_strdup( filename );
|
||||||
lazy->disc = disc;
|
lazy->sequential = sequential;
|
||||||
lazy->real = NULL;
|
lazy->real = NULL;
|
||||||
g_signal_connect( image, "close", G_CALLBACK( lazy_free_cb ), lazy );
|
g_signal_connect( image, "close", G_CALLBACK( lazy_free_cb ), lazy );
|
||||||
|
|
||||||
@ -132,13 +132,13 @@ lazy_real_image( Lazy *lazy )
|
|||||||
VipsImage *real;
|
VipsImage *real;
|
||||||
|
|
||||||
/* We open via disc if:
|
/* We open via disc if:
|
||||||
* - 'disc' is set
|
* - 'sequential' is not set
|
||||||
* - disc_threshold() has not been set to zero
|
* - disc_threshold() has not been set to zero
|
||||||
* - the format does not support lazy read
|
* - the format does not support lazy read
|
||||||
* - the uncompressed image will be larger than disc_threshold()
|
* - the uncompressed image will be larger than disc_threshold()
|
||||||
*/
|
*/
|
||||||
real = NULL;
|
real = NULL;
|
||||||
if( lazy->disc &&
|
if( !lazy->sequential &&
|
||||||
disc_threshold() &&
|
disc_threshold() &&
|
||||||
!(vips_format_get_flags( lazy->format, lazy->filename ) &
|
!(vips_format_get_flags( lazy->format, lazy->filename ) &
|
||||||
VIPS_FORMAT_PARTIAL) &&
|
VIPS_FORMAT_PARTIAL) &&
|
||||||
@ -203,11 +203,11 @@ open_lazy_generate( VipsRegion *or,
|
|||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
vips_image_open_lazy( VipsImage *image,
|
vips_image_open_lazy( VipsImage *image,
|
||||||
VipsFormatClass *format, const char *filename, gboolean disc )
|
VipsFormatClass *format, const char *filename, gboolean sequential )
|
||||||
{
|
{
|
||||||
Lazy *lazy;
|
Lazy *lazy;
|
||||||
|
|
||||||
lazy = lazy_new( image, format, filename, disc );
|
lazy = lazy_new( image, format, filename, sequential );
|
||||||
|
|
||||||
/* Is there a ->header() function? We need to do a lazy load.
|
/* Is there a ->header() function? We need to do a lazy load.
|
||||||
*/
|
*/
|
||||||
@ -273,7 +273,7 @@ vips_attach_save( VipsImage *image, int (*save_fn)(), const char *filename )
|
|||||||
}
|
}
|
||||||
|
|
||||||
IMAGE *
|
IMAGE *
|
||||||
vips__deprecated_open_read( const char *filename )
|
vips__deprecated_open_read( const char *filename, gboolean sequential )
|
||||||
{
|
{
|
||||||
VipsFormatClass *format;
|
VipsFormatClass *format;
|
||||||
|
|
||||||
@ -293,7 +293,8 @@ vips__deprecated_open_read( const char *filename )
|
|||||||
IMAGE *image;
|
IMAGE *image;
|
||||||
|
|
||||||
image = vips_image_new();
|
image = vips_image_new();
|
||||||
if( vips_image_open_lazy( image, format, filename, TRUE ) ) {
|
if( vips_image_open_lazy( image, format,
|
||||||
|
filename, sequential ) ) {
|
||||||
g_object_unref( image );
|
g_object_unref( image );
|
||||||
return( NULL );
|
return( NULL );
|
||||||
}
|
}
|
||||||
|
@ -62,10 +62,16 @@ im_open( const char *filename, const char *mode )
|
|||||||
|
|
||||||
/* We have to go via the old VipsFormat system so we can support the
|
/* We have to go via the old VipsFormat system so we can support the
|
||||||
* "filename:option" syntax.
|
* "filename:option" syntax.
|
||||||
|
*
|
||||||
|
* Use "rs" to turn on seq mode.
|
||||||
*/
|
*/
|
||||||
if( strcmp( mode, "r" ) == 0 ||
|
if( strcmp( mode, "r" ) == 0 ||
|
||||||
strcmp( mode, "rd" ) == 0 ) {
|
strcmp( mode, "rd" ) == 0 ) {
|
||||||
if( !(image = vips__deprecated_open_read( filename )) )
|
if( !(image = vips__deprecated_open_read( filename, FALSE )) )
|
||||||
|
return( NULL );
|
||||||
|
}
|
||||||
|
else if( strcmp( mode, "rs" ) == 0 ) {
|
||||||
|
if( !(image = vips__deprecated_open_read( filename, TRUE )) )
|
||||||
return( NULL );
|
return( NULL );
|
||||||
}
|
}
|
||||||
else if( strcmp( mode, "w" ) == 0 ) {
|
else if( strcmp( mode, "w" ) == 0 ) {
|
||||||
|
@ -890,7 +890,7 @@ vips_foreign_load_build( VipsObject *object )
|
|||||||
}
|
}
|
||||||
|
|
||||||
static VipsOperationFlags
|
static VipsOperationFlags
|
||||||
vips_foreign_load_real_get_flags( VipsOperation *operation )
|
vips_foreign_load_operation_get_flags( VipsOperation *operation )
|
||||||
{
|
{
|
||||||
VipsForeignLoad *load = VIPS_FOREIGN_LOAD( operation );
|
VipsForeignLoad *load = VIPS_FOREIGN_LOAD( operation );
|
||||||
VipsOperationFlags flags;
|
VipsOperationFlags flags;
|
||||||
@ -920,7 +920,7 @@ vips_foreign_load_class_init( VipsForeignLoadClass *class )
|
|||||||
object_class->nickname = "fileload";
|
object_class->nickname = "fileload";
|
||||||
object_class->description = _( "file loaders" );
|
object_class->description = _( "file loaders" );
|
||||||
|
|
||||||
operation_class->get_flags = vips_foreign_load_real_get_flags;
|
operation_class->get_flags = vips_foreign_load_operation_get_flags;
|
||||||
|
|
||||||
VIPS_ARG_IMAGE( class, "out", 2,
|
VIPS_ARG_IMAGE( class, "out", 2,
|
||||||
_( "Output" ),
|
_( "Output" ),
|
||||||
@ -1428,6 +1428,10 @@ vips_foreign_save_class_init( VipsForeignSaveClass *class )
|
|||||||
*/
|
*/
|
||||||
operation_class->flags |= VIPS_OPERATION_SEQUENTIAL;
|
operation_class->flags |= VIPS_OPERATION_SEQUENTIAL;
|
||||||
|
|
||||||
|
/* Must not cache savers.
|
||||||
|
*/
|
||||||
|
operation_class->flags |= VIPS_OPERATION_NOCACHE;
|
||||||
|
|
||||||
/* Default to no coding allowed.
|
/* Default to no coding allowed.
|
||||||
*/
|
*/
|
||||||
for( i = 0; i < VIPS_CODING_LAST; i++ )
|
for( i = 0; i < VIPS_CODING_LAST; i++ )
|
||||||
|
@ -66,6 +66,10 @@ extern int vips__thinstrip_height;
|
|||||||
*/
|
*/
|
||||||
extern int vips__concurrency;
|
extern int vips__concurrency;
|
||||||
|
|
||||||
|
/* abort() on any error.
|
||||||
|
*/
|
||||||
|
extern int vips__fatal;
|
||||||
|
|
||||||
/* Give progress feedback.
|
/* Give progress feedback.
|
||||||
*/
|
*/
|
||||||
extern int vips__progress;
|
extern int vips__progress;
|
||||||
@ -297,7 +301,7 @@ void vips_foreign_operation_init( void );
|
|||||||
|
|
||||||
guint64 vips__parse_size( const char *size_string );
|
guint64 vips__parse_size( const char *size_string );
|
||||||
|
|
||||||
IMAGE *vips__deprecated_open_read( const char *filename );
|
IMAGE *vips__deprecated_open_read( const char *filename, gboolean sequential );
|
||||||
IMAGE *vips__deprecated_open_write( const char *filename );
|
IMAGE *vips__deprecated_open_write( const char *filename );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -96,8 +96,7 @@ typedef struct _VipsOperationClass {
|
|||||||
*/
|
*/
|
||||||
void (*usage)( struct _VipsOperationClass *, VipsBuf * );
|
void (*usage)( struct _VipsOperationClass *, VipsBuf * );
|
||||||
|
|
||||||
/* Return a set of operation flags. If @get_flags is NULL, just use
|
/* Return a set of operation flags.
|
||||||
* flags.
|
|
||||||
*/
|
*/
|
||||||
VipsOperationFlags (*get_flags)( VipsOperation * );
|
VipsOperationFlags (*get_flags)( VipsOperation * );
|
||||||
VipsOperationFlags flags;
|
VipsOperationFlags flags;
|
||||||
|
@ -155,6 +155,9 @@ vips_verror( const char *domain, const char *fmt, va_list ap )
|
|||||||
g_mutex_unlock( vips__global_lock );
|
g_mutex_unlock( vips__global_lock );
|
||||||
|
|
||||||
VIPS_DEBUG_MSG( "vips_verror: %s\n", fmt );
|
VIPS_DEBUG_MSG( "vips_verror: %s\n", fmt );
|
||||||
|
|
||||||
|
if( vips__fatal )
|
||||||
|
vips_error_exit( "vips__fatal" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -363,6 +366,9 @@ vips_vwarn( const char *domain, const char *fmt, va_list ap )
|
|||||||
(void) fprintf( stderr, "\n" );
|
(void) fprintf( stderr, "\n" );
|
||||||
g_mutex_unlock( vips__global_lock );
|
g_mutex_unlock( vips__global_lock );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( vips__fatal )
|
||||||
|
vips_error_exit( "vips__fatal" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -421,7 +427,10 @@ vips_error_exit( const char *fmt, ... )
|
|||||||
|
|
||||||
vips_shutdown();
|
vips_shutdown();
|
||||||
|
|
||||||
exit( 1 );
|
if( vips__fatal )
|
||||||
|
abort();
|
||||||
|
else
|
||||||
|
exit( 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -80,6 +80,10 @@
|
|||||||
#include <vips/internal.h>
|
#include <vips/internal.h>
|
||||||
#include <vips/vector.h>
|
#include <vips/vector.h>
|
||||||
|
|
||||||
|
/* abort() on the first warning or error.
|
||||||
|
*/
|
||||||
|
int vips__fatal = 0;
|
||||||
|
|
||||||
/* Use in various small places where we need a mutex and it's not worth
|
/* Use in various small places where we need a mutex and it's not worth
|
||||||
* making a private one.
|
* making a private one.
|
||||||
*/
|
*/
|
||||||
@ -365,20 +369,50 @@ vips__ngettext( const char *msgid, const char *plural, unsigned long int n )
|
|||||||
return( dngettext( GETTEXT_PACKAGE, msgid, plural, n ) );
|
return( dngettext( GETTEXT_PACKAGE, msgid, plural, n ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
vips_lib_version_cb( const gchar *option_name, const gchar *value,
|
||||||
|
gpointer data, GError **error )
|
||||||
|
{
|
||||||
|
printf( "libvips %s\n", VIPS_VERSION_STRING );
|
||||||
|
vips_shutdown();
|
||||||
|
exit( 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
vips_set_fatal_cb( const gchar *option_name, const gchar *value,
|
||||||
|
gpointer data, GError **error )
|
||||||
|
{
|
||||||
|
vips__fatal = 1;
|
||||||
|
|
||||||
|
/* Set masks for debugging ... stop on any problem.
|
||||||
|
*/
|
||||||
|
g_log_set_always_fatal(
|
||||||
|
G_LOG_FLAG_RECURSION |
|
||||||
|
G_LOG_FLAG_FATAL |
|
||||||
|
G_LOG_LEVEL_ERROR |
|
||||||
|
G_LOG_LEVEL_CRITICAL |
|
||||||
|
G_LOG_LEVEL_WARNING );
|
||||||
|
|
||||||
|
return( TRUE );
|
||||||
|
}
|
||||||
|
|
||||||
static GOptionEntry option_entries[] = {
|
static GOptionEntry option_entries[] = {
|
||||||
|
{ "vips-fatal", 'f', G_OPTION_FLAG_HIDDEN | G_OPTION_FLAG_NO_ARG,
|
||||||
|
G_OPTION_ARG_CALLBACK, (gpointer) &vips_set_fatal_cb,
|
||||||
|
N_( "abort on first error or warning" ), NULL },
|
||||||
{ "vips-concurrency", 'c', 0,
|
{ "vips-concurrency", 'c', 0,
|
||||||
G_OPTION_ARG_INT, &vips__concurrency,
|
G_OPTION_ARG_INT, &vips__concurrency,
|
||||||
N_( "evaluate with N concurrent threads" ), "N" },
|
N_( "evaluate with N concurrent threads" ), "N" },
|
||||||
{ "vips-tile-width", 'w', 0,
|
{ "vips-tile-width", 'w', G_OPTION_FLAG_HIDDEN,
|
||||||
G_OPTION_ARG_INT, &vips__tile_width,
|
G_OPTION_ARG_INT, &vips__tile_width,
|
||||||
N_( "set tile width to N (DEBUG)" ), "N" },
|
N_( "set tile width to N (DEBUG)" ), "N" },
|
||||||
{ "vips-tile-height", 'h', 0,
|
{ "vips-tile-height", 'h', G_OPTION_FLAG_HIDDEN,
|
||||||
G_OPTION_ARG_INT, &vips__tile_height,
|
G_OPTION_ARG_INT, &vips__tile_height,
|
||||||
N_( "set tile height to N (DEBUG)" ), "N" },
|
N_( "set tile height to N (DEBUG)" ), "N" },
|
||||||
{ "vips-thinstrip-height", 't', 0,
|
{ "vips-thinstrip-height", 't', G_OPTION_FLAG_HIDDEN,
|
||||||
G_OPTION_ARG_INT, &vips__thinstrip_height,
|
G_OPTION_ARG_INT, &vips__thinstrip_height,
|
||||||
N_( "set thinstrip height to N (DEBUG)" ), "N" },
|
N_( "set thinstrip height to N (DEBUG)" ), "N" },
|
||||||
{ "vips-fatstrip-height", 'f', 0,
|
{ "vips-fatstrip-height", 'f', G_OPTION_FLAG_HIDDEN,
|
||||||
G_OPTION_ARG_INT, &vips__fatstrip_height,
|
G_OPTION_ARG_INT, &vips__fatstrip_height,
|
||||||
N_( "set fatstrip height to N (DEBUG)" ), "N" },
|
N_( "set fatstrip height to N (DEBUG)" ), "N" },
|
||||||
{ "vips-progress", 'p', 0,
|
{ "vips-progress", 'p', 0,
|
||||||
@ -408,6 +442,9 @@ static GOptionEntry option_entries[] = {
|
|||||||
{ "vips-cache-dump", 'r', 0,
|
{ "vips-cache-dump", 'r', 0,
|
||||||
G_OPTION_ARG_NONE, &vips__cache_dump,
|
G_OPTION_ARG_NONE, &vips__cache_dump,
|
||||||
N_( "dump operation cache on exit" ), NULL },
|
N_( "dump operation cache on exit" ), NULL },
|
||||||
|
{ "vips-version", 'v', G_OPTION_FLAG_NO_ARG,
|
||||||
|
G_OPTION_ARG_CALLBACK, (gpointer) &vips_lib_version_cb,
|
||||||
|
N_( "print libvips version" ), NULL },
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
BIN
po/en_GB.gmo
BIN
po/en_GB.gmo
Binary file not shown.
188
po/vips7.pot
188
po/vips7.pot
@ -9,7 +9,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||||
"product=glib&keywords=I18N+L10N&component=general\n"
|
"product=glib&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2012-07-13 14:50+0100\n"
|
"POT-Creation-Date: 2012-07-20 15:34+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -352,11 +352,11 @@ msgstr ""
|
|||||||
msgid "Height of extract area"
|
msgid "Height of extract area"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/arithmetic/math2.c:196
|
#: ../libvips/arithmetic/math2.c:198
|
||||||
msgid "pow( left, right)"
|
msgid "pow( left, right)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/arithmetic/math2.c:204 ../libvips/arithmetic/math2.c:401
|
#: ../libvips/arithmetic/math2.c:206 ../libvips/arithmetic/math2.c:403
|
||||||
#: ../libvips/arithmetic/complex.c:222 ../libvips/arithmetic/complex.c:476
|
#: ../libvips/arithmetic/complex.c:222 ../libvips/arithmetic/complex.c:476
|
||||||
#: ../libvips/arithmetic/math.c:205 ../libvips/arithmetic/relational.c:227
|
#: ../libvips/arithmetic/math.c:205 ../libvips/arithmetic/relational.c:227
|
||||||
#: ../libvips/arithmetic/relational.c:560 ../libvips/arithmetic/boolean.c:217
|
#: ../libvips/arithmetic/relational.c:560 ../libvips/arithmetic/boolean.c:217
|
||||||
@ -364,12 +364,12 @@ msgstr ""
|
|||||||
msgid "Operation"
|
msgid "Operation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/arithmetic/math2.c:205 ../libvips/arithmetic/math2.c:402
|
#: ../libvips/arithmetic/math2.c:207 ../libvips/arithmetic/math2.c:404
|
||||||
#: ../libvips/arithmetic/math.c:206
|
#: ../libvips/arithmetic/math.c:206
|
||||||
msgid "math to perform"
|
msgid "math to perform"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/arithmetic/math2.c:393
|
#: ../libvips/arithmetic/math2.c:395
|
||||||
msgid "pow( @in, @c )"
|
msgid "pow( @in, @c )"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -397,7 +397,7 @@ msgstr ""
|
|||||||
#: ../libvips/conversion/rot.c:355 ../libvips/conversion/replicate.c:196
|
#: ../libvips/conversion/rot.c:355 ../libvips/conversion/replicate.c:196
|
||||||
#: ../libvips/conversion/tilecache.c:446 ../libvips/conversion/embed.c:524
|
#: ../libvips/conversion/tilecache.c:446 ../libvips/conversion/embed.c:524
|
||||||
#: ../libvips/conversion/cache.c:106 ../libvips/conversion/recomb.c:203
|
#: ../libvips/conversion/cache.c:106 ../libvips/conversion/recomb.c:203
|
||||||
#: ../libvips/conversion/sequential.c:153 ../libvips/foreign/foreign.c:1438
|
#: ../libvips/conversion/sequential.c:168 ../libvips/foreign/foreign.c:1442
|
||||||
#: ../libvips/resample/resample.c:89
|
#: ../libvips/resample/resample.c:89
|
||||||
msgid "Input"
|
msgid "Input"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -466,7 +466,7 @@ msgstr ""
|
|||||||
msgid "Vertical position of minimum"
|
msgid "Vertical position of minimum"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/arithmetic/im_point_bilinear.c:74
|
#: ../libvips/arithmetic/im_point_bilinear.c:75
|
||||||
msgid "coords outside image"
|
msgid "coords outside image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -569,7 +569,7 @@ msgstr ""
|
|||||||
#: ../libvips/conversion/copy.c:322 ../libvips/conversion/rot.c:356
|
#: ../libvips/conversion/copy.c:322 ../libvips/conversion/rot.c:356
|
||||||
#: ../libvips/conversion/replicate.c:197 ../libvips/conversion/tilecache.c:447
|
#: ../libvips/conversion/replicate.c:197 ../libvips/conversion/tilecache.c:447
|
||||||
#: ../libvips/conversion/embed.c:525 ../libvips/conversion/cache.c:107
|
#: ../libvips/conversion/embed.c:525 ../libvips/conversion/cache.c:107
|
||||||
#: ../libvips/conversion/sequential.c:154
|
#: ../libvips/conversion/sequential.c:169
|
||||||
msgid "Input image"
|
msgid "Input image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -798,7 +798,7 @@ msgid "flatten alpha out of an image"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/flatten.c:381 ../libvips/conversion/join.c:250
|
#: ../libvips/conversion/flatten.c:381 ../libvips/conversion/join.c:250
|
||||||
#: ../libvips/conversion/insert.c:390
|
#: ../libvips/conversion/insert.c:392
|
||||||
msgid "Background"
|
msgid "Background"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -829,7 +829,7 @@ msgstr ""
|
|||||||
msgid "bad extract area"
|
msgid "bad extract area"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/extract.c:190
|
#: ../libvips/conversion/extract.c:191
|
||||||
msgid "extract an area from an image"
|
msgid "extract an area from an image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1023,11 +1023,11 @@ msgstr ""
|
|||||||
msgid "Join left-right or up-down"
|
msgid "Join left-right or up-down"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/join.c:236 ../libvips/conversion/insert.c:383
|
#: ../libvips/conversion/join.c:236 ../libvips/conversion/insert.c:385
|
||||||
msgid "Expand"
|
msgid "Expand"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/join.c:237 ../libvips/conversion/insert.c:384
|
#: ../libvips/conversion/join.c:237 ../libvips/conversion/insert.c:386
|
||||||
msgid "Expand output to hold all of both inputs"
|
msgid "Expand output to hold all of both inputs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1039,7 +1039,7 @@ msgstr ""
|
|||||||
msgid "Pixels between images"
|
msgid "Pixels between images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/join.c:251 ../libvips/conversion/insert.c:391
|
#: ../libvips/conversion/join.c:251 ../libvips/conversion/insert.c:393
|
||||||
msgid "Colour for new pixels"
|
msgid "Colour for new pixels"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1068,39 +1068,39 @@ msgstr ""
|
|||||||
msgid "vectors not same length"
|
msgid "vectors not same length"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/insert.c:349
|
#: ../libvips/conversion/insert.c:353
|
||||||
msgid "insert an image"
|
msgid "insert an image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/insert.c:357
|
#: ../libvips/conversion/insert.c:359
|
||||||
msgid "Main"
|
msgid "Main"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/insert.c:358
|
#: ../libvips/conversion/insert.c:360
|
||||||
msgid "Main input image"
|
msgid "Main input image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/insert.c:363
|
#: ../libvips/conversion/insert.c:365
|
||||||
msgid "Sub-image"
|
msgid "Sub-image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/insert.c:364
|
#: ../libvips/conversion/insert.c:366
|
||||||
msgid "Sub-image to insert into main image"
|
msgid "Sub-image to insert into main image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/insert.c:369
|
#: ../libvips/conversion/insert.c:371
|
||||||
msgid "X"
|
msgid "X"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/insert.c:370
|
#: ../libvips/conversion/insert.c:372
|
||||||
msgid "Left edge of sub in main"
|
msgid "Left edge of sub in main"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/insert.c:376
|
#: ../libvips/conversion/insert.c:378
|
||||||
msgid "Y"
|
msgid "Y"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/insert.c:377
|
#: ../libvips/conversion/insert.c:379
|
||||||
msgid "Top edge of sub in main"
|
msgid "Top edge of sub in main"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1225,13 +1225,13 @@ msgstr ""
|
|||||||
msgid "matrix of coefficients"
|
msgid "matrix of coefficients"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/sequential.c:86
|
#: ../libvips/conversion/sequential.c:83
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"non-sequential read --- at position %d in file, but position %d requested"
|
"non-sequential read --- at position %d in file, but position %d requested"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/conversion/sequential.c:149
|
#: ../libvips/conversion/sequential.c:164
|
||||||
msgid "check sequential access"
|
msgid "check sequential access"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1289,7 +1289,7 @@ msgstr ""
|
|||||||
#: ../libvips/foreign/jpegload.c:245 ../libvips/foreign/rawload.c:115
|
#: ../libvips/foreign/jpegload.c:245 ../libvips/foreign/rawload.c:115
|
||||||
#: ../libvips/foreign/matload.c:128 ../libvips/foreign/fitssave.c:128
|
#: ../libvips/foreign/matload.c:128 ../libvips/foreign/fitssave.c:128
|
||||||
#: ../libvips/foreign/radsave.c:119 ../libvips/foreign/vipssave.c:125
|
#: ../libvips/foreign/radsave.c:119 ../libvips/foreign/vipssave.c:125
|
||||||
#: ../libvips/foreign/pngsave.c:166 ../libvips/iofuncs/image.c:945
|
#: ../libvips/foreign/pngsave.c:168 ../libvips/iofuncs/image.c:945
|
||||||
msgid "Filename"
|
msgid "Filename"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1297,7 +1297,7 @@ msgstr ""
|
|||||||
#: ../libvips/foreign/tiffsave.c:172 ../libvips/foreign/jpegsave.c:194
|
#: ../libvips/foreign/tiffsave.c:172 ../libvips/foreign/jpegsave.c:194
|
||||||
#: ../libvips/foreign/csvsave.c:122 ../libvips/foreign/fitssave.c:129
|
#: ../libvips/foreign/csvsave.c:122 ../libvips/foreign/fitssave.c:129
|
||||||
#: ../libvips/foreign/radsave.c:120 ../libvips/foreign/vipssave.c:126
|
#: ../libvips/foreign/radsave.c:120 ../libvips/foreign/vipssave.c:126
|
||||||
#: ../libvips/foreign/pngsave.c:167
|
#: ../libvips/foreign/pngsave.c:169
|
||||||
msgid "Filename to save to"
|
msgid "Filename to save to"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1447,7 +1447,7 @@ msgstr ""
|
|||||||
msgid "save image to tiff file"
|
msgid "save image to tiff file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/tiffsave.c:178 ../libvips/foreign/pngsave.c:103
|
#: ../libvips/foreign/tiffsave.c:178 ../libvips/foreign/pngsave.c:105
|
||||||
msgid "Compression"
|
msgid "Compression"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1569,11 +1569,11 @@ msgid "save image to jpeg buffer"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/jpegsave.c:260 ../libvips/foreign/jpegload.c:315
|
#: ../libvips/foreign/jpegsave.c:260 ../libvips/foreign/jpegload.c:315
|
||||||
#: ../libvips/foreign/pngsave.c:228
|
#: ../libvips/foreign/pngsave.c:230
|
||||||
msgid "Buffer"
|
msgid "Buffer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/jpegsave.c:261 ../libvips/foreign/pngsave.c:229
|
#: ../libvips/foreign/jpegsave.c:261 ../libvips/foreign/pngsave.c:231
|
||||||
msgid "Buffer to save to"
|
msgid "Buffer to save to"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1853,8 +1853,8 @@ msgstr ""
|
|||||||
msgid "end of file while skipping start"
|
msgid "end of file while skipping start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/csv.c:246 ../libvips/iofuncs/util.c:1072
|
#: ../libvips/foreign/csv.c:246 ../libvips/iofuncs/util.c:1084
|
||||||
#: ../libvips/iofuncs/util.c:1078
|
#: ../libvips/iofuncs/util.c:1090
|
||||||
msgid "unable to seek"
|
msgid "unable to seek"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1954,27 +1954,27 @@ msgstr ""
|
|||||||
msgid "reading associated image: %s"
|
msgid "reading associated image: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/pngsave.c:95
|
#: ../libvips/foreign/pngsave.c:97
|
||||||
msgid "save png"
|
msgid "save png"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/pngsave.c:104
|
#: ../libvips/foreign/pngsave.c:106
|
||||||
msgid "Compression factor"
|
msgid "Compression factor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/pngsave.c:110
|
#: ../libvips/foreign/pngsave.c:112
|
||||||
msgid "Interlace"
|
msgid "Interlace"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/pngsave.c:111
|
#: ../libvips/foreign/pngsave.c:113
|
||||||
msgid "Interlace image"
|
msgid "Interlace image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/pngsave.c:162
|
#: ../libvips/foreign/pngsave.c:164
|
||||||
msgid "save image to png file"
|
msgid "save image to png file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/pngsave.c:224
|
#: ../libvips/foreign/pngsave.c:226
|
||||||
msgid "save image to png buffer"
|
msgid "save image to png buffer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2074,7 +2074,7 @@ msgstr ""
|
|||||||
msgid "file savers"
|
msgid "file savers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/foreign/foreign.c:1439
|
#: ../libvips/foreign/foreign.c:1443
|
||||||
msgid "Image to save"
|
msgid "Image to save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2315,7 +2315,7 @@ msgstr ""
|
|||||||
msgid "unable to create thread"
|
msgid "unable to create thread"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/sinkdisc.c:262 ../libvips/iofuncs/util.c:656
|
#: ../libvips/iofuncs/sinkdisc.c:262 ../libvips/iofuncs/util.c:668
|
||||||
msgid "write failed"
|
msgid "write failed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2387,7 +2387,7 @@ msgstr ""
|
|||||||
msgid "unknown band format %d"
|
msgid "unknown band format %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/header.c:611 ../libvips/iofuncs/generate.c:377
|
#: ../libvips/iofuncs/header.c:611 ../libvips/iofuncs/generate.c:376
|
||||||
msgid "too many images"
|
msgid "too many images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2500,7 +2500,7 @@ msgstr ""
|
|||||||
msgid "bad image descriptor"
|
msgid "bad image descriptor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/image.c:1959 ../libvips/iofuncs/generate.c:716
|
#: ../libvips/iofuncs/image.c:1959 ../libvips/iofuncs/generate.c:715
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unable to output to a %s image"
|
msgid "unable to output to a %s image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2510,25 +2510,25 @@ msgstr ""
|
|||||||
msgid "auto-rewind for %s failed"
|
msgid "auto-rewind for %s failed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/image.c:2079 ../libvips/iofuncs/image.c:2274
|
#: ../libvips/iofuncs/image.c:2079 ../libvips/iofuncs/image.c:2275
|
||||||
#: ../libvips/iofuncs/image.c:2291
|
#: ../libvips/iofuncs/image.c:2292
|
||||||
msgid "no image data"
|
msgid "no image data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/image.c:2147 ../libvips/iofuncs/image.c:2314
|
#: ../libvips/iofuncs/image.c:2147 ../libvips/iofuncs/image.c:2315
|
||||||
msgid "image not readable"
|
msgid "image not readable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/image.c:2168 ../libvips/iofuncs/image.c:2344
|
#: ../libvips/iofuncs/image.c:2168 ../libvips/iofuncs/image.c:2345
|
||||||
#: ../libvips/iofuncs/image.c:2353
|
#: ../libvips/iofuncs/image.c:2354
|
||||||
msgid "image already written"
|
msgid "image already written"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/image.c:2192 ../libvips/iofuncs/image.c:2365
|
#: ../libvips/iofuncs/image.c:2192 ../libvips/iofuncs/image.c:2366
|
||||||
msgid "image not writeable"
|
msgid "image not writeable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/image.c:2238
|
#: ../libvips/iofuncs/image.c:2239
|
||||||
msgid "bad file type"
|
msgid "bad file type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2727,58 +2727,58 @@ msgstr ""
|
|||||||
msgid "mask must be 1D"
|
msgid "mask must be 1D"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:639
|
#: ../libvips/iofuncs/util.c:651
|
||||||
msgid "unable to get file stats"
|
msgid "unable to get file stats"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:720
|
#: ../libvips/iofuncs/util.c:732
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unable to open file \"%s\" for reading"
|
msgid "unable to open file \"%s\" for reading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:742
|
#: ../libvips/iofuncs/util.c:754
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unable to open file \"%s\" for writing"
|
msgid "unable to open file \"%s\" for writing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:767
|
#: ../libvips/iofuncs/util.c:779
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "\"%s\" too long"
|
msgid "\"%s\" too long"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:784
|
#: ../libvips/iofuncs/util.c:796
|
||||||
msgid "out of memory"
|
msgid "out of memory"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:810
|
#: ../libvips/iofuncs/util.c:822
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error reading from file \"%s\""
|
msgid "error reading from file \"%s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:857
|
#: ../libvips/iofuncs/util.c:869
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "write error (%zd out of %zd blocks written) ... disc full?"
|
msgid "write error (%zd out of %zd blocks written) ... disc full?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:1106 ../libvips/iofuncs/util.c:1113
|
#: ../libvips/iofuncs/util.c:1118 ../libvips/iofuncs/util.c:1125
|
||||||
msgid "unable to truncate"
|
msgid "unable to truncate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:1204
|
#: ../libvips/iofuncs/util.c:1216
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unable to create directory \"%s\", %s"
|
msgid "unable to create directory \"%s\", %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:1338
|
#: ../libvips/iofuncs/util.c:1350
|
||||||
msgid "unexpected end of string"
|
msgid "unexpected end of string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:1356
|
#: ../libvips/iofuncs/util.c:1368
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected %s, saw %s"
|
msgid "expected %s, saw %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/util.c:1526
|
#: ../libvips/iofuncs/util.c:1538
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unable to make temporary file %s"
|
msgid "unable to make temporary file %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2823,11 +2823,11 @@ msgstr ""
|
|||||||
msgid "too much data"
|
msgid "too much data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/generate.c:640
|
#: ../libvips/iofuncs/generate.c:639
|
||||||
msgid "demand hint not set"
|
msgid "demand hint not set"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/generate.c:659 ../libvips/iofuncs/generate.c:684
|
#: ../libvips/iofuncs/generate.c:658 ../libvips/iofuncs/generate.c:683
|
||||||
msgid "generate() called twice"
|
msgid "generate() called twice"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2883,67 +2883,71 @@ msgstr ""
|
|||||||
msgid "unable to mmap \"%s\" to same address"
|
msgid "unable to mmap \"%s\" to same address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:371
|
#: ../libvips/iofuncs/init.c:380
|
||||||
msgid "evaluate with N concurrent threads"
|
msgid "evaluate with N concurrent threads"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:374
|
#: ../libvips/iofuncs/init.c:383
|
||||||
msgid "set tile width to N (DEBUG)"
|
msgid "set tile width to N (DEBUG)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:377
|
#: ../libvips/iofuncs/init.c:386
|
||||||
msgid "set tile height to N (DEBUG)"
|
msgid "set tile height to N (DEBUG)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:380
|
#: ../libvips/iofuncs/init.c:389
|
||||||
msgid "set thinstrip height to N (DEBUG)"
|
msgid "set thinstrip height to N (DEBUG)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:383
|
#: ../libvips/iofuncs/init.c:392
|
||||||
msgid "set fatstrip height to N (DEBUG)"
|
msgid "set fatstrip height to N (DEBUG)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:386
|
#: ../libvips/iofuncs/init.c:395
|
||||||
msgid "show progress feedback"
|
msgid "show progress feedback"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:389
|
#: ../libvips/iofuncs/init.c:398
|
||||||
msgid "leak-check on exit"
|
msgid "leak-check on exit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:392
|
#: ../libvips/iofuncs/init.c:401
|
||||||
msgid "images larger than N are decompressed to disc"
|
msgid "images larger than N are decompressed to disc"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:395
|
#: ../libvips/iofuncs/init.c:404
|
||||||
msgid "disable vectorised versions of operations"
|
msgid "disable vectorised versions of operations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:398
|
#: ../libvips/iofuncs/init.c:407
|
||||||
msgid "cache at most N operations"
|
msgid "cache at most N operations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:401
|
#: ../libvips/iofuncs/init.c:410
|
||||||
msgid "cache at most N bytes in memory"
|
msgid "cache at most N bytes in memory"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:404
|
#: ../libvips/iofuncs/init.c:413
|
||||||
msgid "allow at most N open files"
|
msgid "allow at most N open files"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:407
|
#: ../libvips/iofuncs/init.c:416
|
||||||
msgid "trace operation cache"
|
msgid "trace operation cache"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:410
|
#: ../libvips/iofuncs/init.c:419
|
||||||
msgid "dump operation cache on exit"
|
msgid "dump operation cache on exit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:433
|
#: ../libvips/iofuncs/init.c:422
|
||||||
|
msgid "print libvips version"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../libvips/iofuncs/init.c:445
|
||||||
msgid "VIPS Options"
|
msgid "VIPS Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../libvips/iofuncs/init.c:433
|
#: ../libvips/iofuncs/init.c:445
|
||||||
msgid "Show VIPS options"
|
msgid "Show VIPS options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -3505,59 +3509,59 @@ msgstr ""
|
|||||||
msgid "unknown action \"%s\""
|
msgid "unknown action \"%s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:61
|
#: ../tools/vipsthumbnail.c:62
|
||||||
msgid "set thumbnail size to SIZE"
|
msgid "set thumbnail size to SIZE"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:62
|
#: ../tools/vipsthumbnail.c:63
|
||||||
msgid "SIZE"
|
msgid "SIZE"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:64
|
#: ../tools/vipsthumbnail.c:66
|
||||||
msgid "set output to FORMAT"
|
msgid "set output to FORMAT"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:65
|
#: ../tools/vipsthumbnail.c:67
|
||||||
msgid "FORMAT"
|
msgid "FORMAT"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:67
|
#: ../tools/vipsthumbnail.c:70
|
||||||
msgid "resample with INTERPOLATOR"
|
msgid "resample with INTERPOLATOR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:68
|
#: ../tools/vipsthumbnail.c:71
|
||||||
msgid "INTERPOLATOR"
|
msgid "INTERPOLATOR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:70
|
#: ../tools/vipsthumbnail.c:74
|
||||||
msgid "don't sharpen thumbnail"
|
msgid "don't sharpen thumbnail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:72
|
#: ../tools/vipsthumbnail.c:77
|
||||||
msgid "export with PROFILE"
|
msgid "export with PROFILE"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:73 ../tools/vipsthumbnail.c:76
|
#: ../tools/vipsthumbnail.c:78 ../tools/vipsthumbnail.c:82
|
||||||
msgid "PROFILE"
|
msgid "PROFILE"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:75
|
#: ../tools/vipsthumbnail.c:81
|
||||||
msgid "import untagged images with PROFILE"
|
msgid "import untagged images with PROFILE"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:78
|
#: ../tools/vipsthumbnail.c:85
|
||||||
msgid "delete profile from exported image"
|
msgid "delete profile from exported image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:80
|
#: ../tools/vipsthumbnail.c:88
|
||||||
msgid "(deprecated, does nothing)"
|
msgid "(deprecated, does nothing)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:82
|
#: ../tools/vipsthumbnail.c:91
|
||||||
msgid "verbose output"
|
msgid "verbose output"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../tools/vipsthumbnail.c:423
|
#: ../tools/vipsthumbnail.c:432
|
||||||
msgid "- thumbnail generator"
|
msgid "- thumbnail generator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -26,10 +26,10 @@ bin_SCRIPTS = \
|
|||||||
batch_image_convert \
|
batch_image_convert \
|
||||||
batch_rubber_sheet \
|
batch_rubber_sheet \
|
||||||
batch_crop \
|
batch_crop \
|
||||||
vips-7.29
|
vips-7.30
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
vips-7.29 \
|
vips-7.30 \
|
||||||
light_correct.in \
|
light_correct.in \
|
||||||
shrink_width.in \
|
shrink_width.in \
|
||||||
batch_image_convert.in \
|
batch_image_convert.in \
|
||||||
|
@ -57,28 +57,37 @@ static gboolean nodelete_profile = FALSE;
|
|||||||
static gboolean verbose = FALSE;
|
static gboolean verbose = FALSE;
|
||||||
|
|
||||||
static GOptionEntry options[] = {
|
static GOptionEntry options[] = {
|
||||||
{ "size", 's', 0, G_OPTION_ARG_INT, &thumbnail_size,
|
{ "size", 's', 0,
|
||||||
|
G_OPTION_ARG_INT, &thumbnail_size,
|
||||||
N_( "set thumbnail size to SIZE" ),
|
N_( "set thumbnail size to SIZE" ),
|
||||||
N_( "SIZE" ) },
|
N_( "SIZE" ) },
|
||||||
{ "output", 'o', 0, G_OPTION_ARG_STRING, &output_format,
|
{ "output", 'o', 0,
|
||||||
|
G_OPTION_ARG_STRING, &output_format,
|
||||||
N_( "set output to FORMAT" ),
|
N_( "set output to FORMAT" ),
|
||||||
N_( "FORMAT" ) },
|
N_( "FORMAT" ) },
|
||||||
{ "interpolator", 'p', 0, G_OPTION_ARG_STRING, &interpolator,
|
{ "interpolator", 'p', 0,
|
||||||
|
G_OPTION_ARG_STRING, &interpolator,
|
||||||
N_( "resample with INTERPOLATOR" ),
|
N_( "resample with INTERPOLATOR" ),
|
||||||
N_( "INTERPOLATOR" ) },
|
N_( "INTERPOLATOR" ) },
|
||||||
{ "nosharpen", 'n', 0, G_OPTION_ARG_NONE, &nosharpen,
|
{ "nosharpen", 'n', 0,
|
||||||
|
G_OPTION_ARG_NONE, &nosharpen,
|
||||||
N_( "don't sharpen thumbnail" ), NULL },
|
N_( "don't sharpen thumbnail" ), NULL },
|
||||||
{ "eprofile", 'e', 0, G_OPTION_ARG_STRING, &export_profile,
|
{ "eprofile", 'e', 0,
|
||||||
|
G_OPTION_ARG_STRING, &export_profile,
|
||||||
N_( "export with PROFILE" ),
|
N_( "export with PROFILE" ),
|
||||||
N_( "PROFILE" ) },
|
N_( "PROFILE" ) },
|
||||||
{ "iprofile", 'i', 0, G_OPTION_ARG_STRING, &import_profile,
|
{ "iprofile", 'i', 0,
|
||||||
|
G_OPTION_ARG_STRING, &import_profile,
|
||||||
N_( "import untagged images with PROFILE" ),
|
N_( "import untagged images with PROFILE" ),
|
||||||
N_( "PROFILE" ) },
|
N_( "PROFILE" ) },
|
||||||
{ "delete", 'd', 0, G_OPTION_ARG_NONE, &delete_profile,
|
{ "delete", 'd', 0,
|
||||||
|
G_OPTION_ARG_NONE, &delete_profile,
|
||||||
N_( "delete profile from exported image" ), NULL },
|
N_( "delete profile from exported image" ), NULL },
|
||||||
{ "nodelete", 'l', 0, G_OPTION_ARG_NONE, &nodelete_profile,
|
{ "nodelete", 'l', G_OPTION_FLAG_HIDDEN,
|
||||||
|
G_OPTION_ARG_NONE, &nodelete_profile,
|
||||||
N_( "(deprecated, does nothing)" ), NULL },
|
N_( "(deprecated, does nothing)" ), NULL },
|
||||||
{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
|
{ "verbose", 'v', 0,
|
||||||
|
G_OPTION_ARG_NONE, &verbose,
|
||||||
N_( "verbose output" ), NULL },
|
N_( "verbose output" ), NULL },
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user