Merge remote-tracking branch 'origin/master'
Conflicts: ChangeLog
This commit is contained in:
commit
3f850b5f8b
@ -1,6 +1,7 @@
|
|||||||
13/3/12 started 7.28.2
|
13/3/12 started 7.28.2
|
||||||
- better PNG alpha handling
|
- better PNG alpha handling
|
||||||
- sanity-check PNG read geometry
|
- sanity-check PNG read geometry
|
||||||
|
- xres/yres tiffsave args were broken
|
||||||
|
|
||||||
13/3/12 started 7.28.1
|
13/3/12 started 7.28.1
|
||||||
- add ICC profile read/write for png files
|
- add ICC profile read/write for png files
|
||||||
|
@ -884,7 +884,7 @@ parse_resolution( TIFF *tiff, VipsImage *out )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Look at PhotometricInterpretation and BitsPerPixel, and try to figure out
|
/* Look at PhotometricInterpretation and BitsPerPixel and try to figure out
|
||||||
* which of the image classes this is.
|
* which of the image classes this is.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
@ -1143,7 +1143,7 @@ tiff_fill_region_aligned( VipsRegion *out, void *seq, void *a, void *b )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Loop over the output region, painting in tiles from the file.
|
/* Loop over the output region painting in tiles from the file.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
tiff_fill_region( VipsRegion *out, void *seq, void *a, void *b, gboolean *stop )
|
tiff_fill_region( VipsRegion *out, void *seq, void *a, void *b, gboolean *stop )
|
||||||
@ -1163,7 +1163,7 @@ tiff_fill_region( VipsRegion *out, void *seq, void *a, void *b, gboolean *stop )
|
|||||||
|
|
||||||
/* Sizeof a pel in the TIFF file. This won't work for formats which
|
/* Sizeof a pel in the TIFF file. This won't work for formats which
|
||||||
* are <1 byte per pel, like onebit :-( Fortunately, it's only used
|
* are <1 byte per pel, like onebit :-( Fortunately, it's only used
|
||||||
* to calculate addresses within a tile, and because we are wrapped in
|
* to calculate addresses within a tile and, because we are wrapped in
|
||||||
* vips_tilecache(), we will never have to calculate positions not
|
* vips_tilecache(), we will never have to calculate positions not
|
||||||
* within a tile.
|
* within a tile.
|
||||||
*/
|
*/
|
||||||
@ -1172,7 +1172,7 @@ tiff_fill_region( VipsRegion *out, void *seq, void *a, void *b, gboolean *stop )
|
|||||||
int x, y, z;
|
int x, y, z;
|
||||||
|
|
||||||
/* Special case: we are filling a single tile exactly sized to match
|
/* Special case: we are filling a single tile exactly sized to match
|
||||||
* the tiff tile, and we have no repacking to do for this format.
|
* the tiff tile and we have no repacking to do for this format.
|
||||||
*/
|
*/
|
||||||
if( rtiff->memcpy &&
|
if( rtiff->memcpy &&
|
||||||
r->left % rtiff->twidth == 0 &&
|
r->left % rtiff->twidth == 0 &&
|
||||||
@ -1203,7 +1203,7 @@ tiff_fill_region( VipsRegion *out, void *seq, void *a, void *b, gboolean *stop )
|
|||||||
*/
|
*/
|
||||||
vips_rect_intersectrect( &tile, r, &hit );
|
vips_rect_intersectrect( &tile, r, &hit );
|
||||||
|
|
||||||
/* Unpack to VIPS format. We can do this in parallel.
|
/* Unpack to VIPS format.
|
||||||
* Just unpack the section of the tile we need.
|
* Just unpack the section of the tile we need.
|
||||||
*/
|
*/
|
||||||
for( z = 0; z < hit.height; z++ ) {
|
for( z = 0; z < hit.height; z++ ) {
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
*
|
*
|
||||||
* 2/12/11
|
* 2/12/11
|
||||||
* - wrap a class around the tiff writer
|
* - wrap a class around the tiff writer
|
||||||
|
* 17/3/12
|
||||||
|
* - argh xres/yres macro was wrong
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -248,15 +250,15 @@ vips_foreign_save_tiff_class_init( VipsForeignSaveTiffClass *class )
|
|||||||
VIPS_ARG_DOUBLE( class, "xres", 16,
|
VIPS_ARG_DOUBLE( class, "xres", 16,
|
||||||
_( "Xres" ),
|
_( "Xres" ),
|
||||||
_( "Horizontal resolution in pixels/mm" ),
|
_( "Horizontal resolution in pixels/mm" ),
|
||||||
VIPS_ARGUMENT_NONE,
|
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||||
G_STRUCT_OFFSET( VipsImage, Xres ),
|
G_STRUCT_OFFSET( VipsForeignSaveTiff, xres ),
|
||||||
-0.0, 1000000, 0 );
|
-0.0, 1000000, 0 );
|
||||||
|
|
||||||
VIPS_ARG_DOUBLE( class, "yres", 17,
|
VIPS_ARG_DOUBLE( class, "yres", 17,
|
||||||
_( "Yres" ),
|
_( "Yres" ),
|
||||||
_( "Vertical resolution in pixels/mm" ),
|
_( "Vertical resolution in pixels/mm" ),
|
||||||
VIPS_ARGUMENT_NONE,
|
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||||
G_STRUCT_OFFSET( VipsImage, Yres ),
|
G_STRUCT_OFFSET( VipsForeignSaveTiff, yres ),
|
||||||
-0.0, 1000000, 0 );
|
-0.0, 1000000, 0 );
|
||||||
|
|
||||||
VIPS_ARG_BOOL( class, "bigtiff", 18,
|
VIPS_ARG_BOOL( class, "bigtiff", 18,
|
||||||
|
Loading…
Reference in New Issue
Block a user