From 58040423d2300f5cf3af578d5418ca54375d9f29 Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Wed, 6 Mar 2013 17:33:25 +0000 Subject: [PATCH] fix --without-lcms oops! thanks speckins --- ChangeLog | 3 + configure.ac | 6 +- libvips/colour/icc_transform.c | 233 +++++++++++++++++---------------- 3 files changed, 127 insertions(+), 115 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1e8bfbf9..9c7079a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +6/2/13 started 7.32.1 +- fix --without-lcms, thanks speckins + 22/1/13 started 7.32.0 - tilecache in threaded mode could deadlock if the downstream pixel source raised an error (thanks Todd) diff --git a/configure.ac b/configure.ac index 07ffdd41..400f10f9 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # also update the version number in the m4 macros below -AC_INIT([vips], [7.32.0], [vipsip@jiscmail.ac.uk]) +AC_INIT([vips], [7.32.1], [vipsip@jiscmail.ac.uk]) # required for gobject-introspection AC_PREREQ(2.62) @@ -17,7 +17,7 @@ AC_CONFIG_MACRO_DIR([m4]) # user-visible library versioning m4_define([vips_major_version], [7]) m4_define([vips_minor_version], [32]) -m4_define([vips_micro_version], [0]) +m4_define([vips_micro_version], [1]) m4_define([vips_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 LIBRARY_CURRENT=34 -LIBRARY_REVISION=0 +LIBRARY_REVISION=1 LIBRARY_AGE=3 # patched into include/vips/version.h diff --git a/libvips/colour/icc_transform.c b/libvips/colour/icc_transform.c index 69be7b98..58cce993 100644 --- a/libvips/colour/icc_transform.c +++ b/libvips/colour/icc_transform.c @@ -519,42 +519,6 @@ vips_icc_import_init( VipsIccImport *import ) { } -/** - * vips_icc_import: - * @in: input image - * @out: output image - * - * Optional arguments: - * - * @input_profile: get the input profile from here - * @intent: transform with this intent - * @embedded: use profile embedded in input image - * - * Import an image from device space to D65 LAB with an ICC profile. - * - * If @embedded is set, the input profile is taken from the input image - * metadata. If there is no embedded profile, - * @input_profile_filename is used as a fall-back. - * - * If @embedded is not set, the input profile is taken from - * @input_profile. If @input_profile is not supplied, the - * metadata profile, if any, is used as a fall-back. - * - * Returns: 0 on success, -1 on error. - */ -int -vips_icc_import( VipsImage *in, VipsImage **out, ... ) -{ - va_list ap; - int result; - - va_start( ap, out ); - result = vips_call_split( "icc_import", ap, in, out ); - va_end( ap ); - - return( result ); -} - typedef struct _VipsIccExport { VipsIcc parent_instance; @@ -732,37 +696,6 @@ vips_icc_export_init( VipsIccExport *export ) { } -/** - * vips_icc_export: - * @in: input image - * @out: output image - * - * Optional arguments: - * - * @intent: transform with this intent - * @depth: depth of output image in bits - * @output_profile: get the output profile from here - * - * Export an image from D65 LAB to device space with an ICC profile. - * If @output_profile is not set, use the embedded profile, if any. - * If @output_profile is set, export with that and attach it to the output - * image. - * - * Returns: 0 on success, -1 on error. - */ -int -vips_icc_export( VipsImage *in, VipsImage **out, ... ) -{ - va_list ap; - int result; - - va_start( ap, out ); - result = vips_call_split( "icc_export", ap, in, out ); - va_end( ap ); - - return( result ); -} - typedef struct _VipsIccTransform { VipsIcc parent_instance; @@ -919,51 +852,6 @@ vips_icc_transform_init( VipsIccTransform *transform ) { } -/** - * vips_icc_transform: - * @in: input image - * @out: output image - * @output_profile: get the output profile from here - * - * Optional arguments: - * - * @input_profile: get the input profile from here - * @intent: transform with this intent - * @depth: depth of output image in bits - * @embedded: use profile embedded in input image - * - * Transform an image with a pair of ICC profiles. The input image is moved to - * profile-connection space with the input profile and then to the output - * space with the output profile. - * - * If @embedded is set, the input profile is taken from the input image - * metadata, if present. If there is no embedded profile, - * @input_profile_filename is used as a fall-back. - * - * If @embedded is not set, the input profile is taken from - * @input_profile_filename. If @input_profile_filename is not supplied, the - * metadata profile, if any, is used as a fall-back. - * - * Use vips_icc_import() and vips_icc_export() to do either the first or - * second half of this operation in isolation. - * - * Returns: 0 on success, -1 on error. - */ -int -vips_icc_transform( VipsImage *in, VipsImage **out, - const char *output_profile, ... ) -{ - va_list ap; - int result; - - va_start( ap, output_profile ); - result = vips_call_split( "icc_transform", ap, - in, out, output_profile ); - va_end( ap ); - - return( result ); -} - /** * vips_icc_ac2rc: * @in: input image @@ -1066,4 +954,125 @@ vips_icc_present( void ) return( 0 ); } +int +vips_icc_ac2rc( VipsImage *in, VipsImage **out, const char *profile_filename ) +{ + vips_error( "VipsIcc", "%s", + _( "libvips configured without lcms support" ) ); + + return( -1 ); +} + #endif /*HAVE_LCMS*/ + +/** + * vips_icc_import: + * @in: input image + * @out: output image + * + * Optional arguments: + * + * @input_profile: get the input profile from here + * @intent: transform with this intent + * @embedded: use profile embedded in input image + * + * Import an image from device space to D65 LAB with an ICC profile. + * + * If @embedded is set, the input profile is taken from the input image + * metadata. If there is no embedded profile, + * @input_profile_filename is used as a fall-back. + * + * If @embedded is not set, the input profile is taken from + * @input_profile. If @input_profile is not supplied, the + * metadata profile, if any, is used as a fall-back. + * + * Returns: 0 on success, -1 on error. + */ +int +vips_icc_import( VipsImage *in, VipsImage **out, ... ) +{ + va_list ap; + int result; + + va_start( ap, out ); + result = vips_call_split( "icc_import", ap, in, out ); + va_end( ap ); + + return( result ); +} + +/** + * vips_icc_export: + * @in: input image + * @out: output image + * + * Optional arguments: + * + * @intent: transform with this intent + * @depth: depth of output image in bits + * @output_profile: get the output profile from here + * + * Export an image from D65 LAB to device space with an ICC profile. + * If @output_profile is not set, use the embedded profile, if any. + * If @output_profile is set, export with that and attach it to the output + * image. + * + * Returns: 0 on success, -1 on error. + */ +int +vips_icc_export( VipsImage *in, VipsImage **out, ... ) +{ + va_list ap; + int result; + + va_start( ap, out ); + result = vips_call_split( "icc_export", ap, in, out ); + va_end( ap ); + + return( result ); +} + +/** + * vips_icc_transform: + * @in: input image + * @out: output image + * @output_profile: get the output profile from here + * + * Optional arguments: + * + * @input_profile: get the input profile from here + * @intent: transform with this intent + * @depth: depth of output image in bits + * @embedded: use profile embedded in input image + * + * Transform an image with a pair of ICC profiles. The input image is moved to + * profile-connection space with the input profile and then to the output + * space with the output profile. + * + * If @embedded is set, the input profile is taken from the input image + * metadata, if present. If there is no embedded profile, + * @input_profile_filename is used as a fall-back. + * + * If @embedded is not set, the input profile is taken from + * @input_profile_filename. If @input_profile_filename is not supplied, the + * metadata profile, if any, is used as a fall-back. + * + * Use vips_icc_import() and vips_icc_export() to do either the first or + * second half of this operation in isolation. + * + * Returns: 0 on success, -1 on error. + */ +int +vips_icc_transform( VipsImage *in, VipsImage **out, + const char *output_profile, ... ) +{ + va_list ap; + int result; + + va_start( ap, output_profile ); + result = vips_call_split( "icc_transform", ap, + in, out, output_profile ); + va_end( ap ); + + return( result ); +}