bump plus oops

This commit is contained in:
John Cupitt 2010-12-06 11:10:19 +00:00
parent c93443aaca
commit 7966a36446
7 changed files with 49 additions and 9 deletions

View File

@ -1,3 +1,6 @@
6/12/10 started 7.24.0
- attach the jpeg thumbnail and multiscan fields (thanks Mike)
30/11/10 started 7.24.0
- bump for new stable
- added im_dmask2imask(), im_imask2dmask()

View File

@ -5,7 +5,7 @@ AC_CONFIG_MACRO_DIR(m4)
# user-visible library versioning
m4_define([vips_major_version], [7])
m4_define([vips_minor_version], [24])
m4_define([vips_minor_version], [25])
m4_define([vips_micro_version], [0])
m4_define([vips_version],
[vips_major_version.vips_minor_version.vips_micro_version])
@ -28,9 +28,9 @@ PACKAGE=vips
# interface changes backwards compatible?: increment age
# interface changes not backwards compatible?: reset age to 0
LIBRARY_CURRENT=29
LIBRARY_REVISION=4
LIBRARY_AGE=14
LIBRARY_CURRENT=30
LIBRARY_REVISION=0
LIBRARY_AGE=15
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
@ -610,8 +610,8 @@ AC_SUBST(PACKAGES_USED)
# vips-$IM_MAJOR_VERSION.$IM_MINOR_VERSION.pc
# in AC_OUTPUT, but that seems to break for some combinations of sh/m4
AC_OUTPUT([
vips-7.24.pc
vipsCC-7.24.pc
vips-7.25.pc
vipsCC-7.25.pc
Makefile
libvips/include/vips/version.h
libvips/include/Makefile

View File

@ -28,6 +28,8 @@
* - also set scale_num on shrink (thanks Guido)
* 4/2/10
* - gtkdoc
* 4/12/10
* - attach the jpeg thumbnail and multiscan fields (thanks Mike)
*/
/*
@ -370,12 +372,31 @@ set_vips_resolution( IMAGE *im, ExifData *ed )
im->Xres = xres;
im->Yres = yres;
}
static int
attach_thumbnail( IMAGE *im, ExifData *ed )
{
if( ed->size > 0 ) {
char *thumb_copy;
thumb_copy = im_malloc( NULL, ed->size );
memcpy( thumb_copy, ed->data, ed->size );
if( im_meta_set_blob( im, "jpeg-thumbnail-data",
(im_callback_fn) im_free, thumb_copy, ed->size ) ) {
im_free( thumb_copy );
return( -1 );
}
}
return( 0 );
}
#endif /*HAVE_EXIF*/
static int
read_exif( IMAGE *im, void *data, int data_length )
{
char *data_copy;
char *data_copy;
/* Always attach a copy of the unparsed exif data.
*/
@ -416,6 +437,8 @@ read_exif( IMAGE *im, void *data, int data_length )
* xres/yres fields.
*/
set_vips_resolution( im, ed );
attach_thumbnail( im, ed );
}
exif_data_free( ed );
@ -484,6 +507,12 @@ read_jpeg_header( struct jpeg_decompress_struct *cinfo,
IM_BBITS_BYTE, IM_BANDFMT_UCHAR, IM_CODING_NONE, type,
1.0, 1.0, 0, 0 );
/* Interlaced jpegs need lots of memory to read, so our caller needs
* to know.
*/
(void) im_meta_set_int( out, "jpeg-multiscan",
jpeg_has_multiple_scans( cinfo ) );
/* Look for EXIF and ICC profile.
*/
for( p = cinfo->marker_list; p; p = p->next ) {
@ -756,6 +785,14 @@ jpeg2vips( const char *name, IMAGE *out, gboolean header_only )
* metadata. You need to use something like im_icc_import() to get CIE
* values from the file. Any EXIF data is also attached as VIPS metadata.
*
* The int metadata item "jpeg-multiscan" is set to the result of
* jpeg_has_multiple_scans(). Interlaced jpeg images need a large amount of
* memory to load, so this field gives callers a chance to handle these
* images differently.
*
* The EXIF thumbnail, if present, is attached to the image as
* "jpeg-thumbnail-data". See im_meta_get_blob().
*
* See also: #VipsFormat, im_vips2jpeg().
*
* Returns: 0 on success, -1 on error.

View File

@ -4,12 +4,12 @@ bin_SCRIPTS = \
batch_image_convert \
batch_rubber_sheet \
batch_crop \
vips-7.24
vips-7.25
noinst_SCRIPTS = post_install
EXTRA_DIST = \
vips-7.24 \
vips-7.25 \
${noinst_SCRIPTS} \
light_correct.in \
shrink_width.in \