set "interlaced" for jpg and png

set "interlaced" for interlaced png and jpg images
This commit is contained in:
John Cupitt 2018-04-09 17:14:38 +01:00
parent 06802e4110
commit 15abbbe986
3 changed files with 15 additions and 0 deletions

View File

@ -13,6 +13,7 @@
- better hasalpha rules
- create funcs always make MULTIBAND (ie. no alpha)
- use O_TMPFILE, if available [Alexander--]
- set "interlaced=1" for interlaced JPG and PNG images
12/3/18 started 8.6.4
- better fitting of fonts with overhanging edges, thanks Adrià

View File

@ -94,6 +94,8 @@
* - revert previous warning change: libvips reports serious corruption,
* like a truncated file, as a warning and we need to be able to catch
* that
* 9/4/18
* - set interlaced=1 for interlaced images
*/
/*
@ -414,6 +416,11 @@ read_jpeg_header( ReadJpeg *jpeg, VipsImage *out )
(void) vips_image_set_int( out, "jpeg-multiscan",
jpeg_has_multiple_scans( cinfo ) );
/* 8.7 adds this for PNG as well, so we have a new format-neutral name.
*/
if( jpeg_has_multiple_scans( cinfo ) )
vips_image_set_int( out, "interlaced", 1 );
/* Look for EXIF and ICC profile.
*/
for( p = cinfo->marker_list; p; p = p->next ) {

View File

@ -65,6 +65,8 @@
* - better behaviour for truncated png files, thanks Yury
* 26/4/17
* - better @fail handling with truncated PNGs
* 9/4/18
* - set interlaced=1 for interlaced images
*/
/*
@ -438,6 +440,11 @@ png2vips_header( Read *read, VipsImage *out )
return( -1 );
}
/* Let our caller know. These are very expensive to decode.
*/
if( interlace_type != PNG_INTERLACE_NONE )
vips_image_set_int( out, "interlaced", 1 );
return( 0 );
}