Commit Graph

252 Commits

Author SHA1 Message Date
John Cupitt
54d8e4808f restore bandfmt after unpremultiply in thumbnail
vips_unpremultiply() always outputs float. If you save the output of
vipsthumbnail to a format that supports float files, like tiff, it won't
ever get cast back to the source format.

Example:

	$ vipsheader Opera-icon-high-res.png
	Opera-icon-high-res.png: 3056x3325 uchar, 4 bands, srgb, pngload
	$ vipsthumbnail Opera-icon-high-res.png -o x.tif
	$ vipsheader x.tif
	x.tif: 117x128 float, 4 bands, scrgb, tiffload

This change makes it note and restore BandFmt aropund pre/unpremultiply.

See https://github.com/jcupitt/libvips/issues/447
2016-05-16 13:18:59 +01:00
John Cupitt
ab7563dd72 rename vips wrapper script
it was still vips-8.2, oops, thanks Benjamin
2016-04-15 08:40:17 +01:00
John Cupitt
2c646a02e4 better jpeg autorot
jpeg write is more careful about removing exif tags that have been
removed from the image metadata

it failed previously if there were multiple Orientation tags
2016-04-13 08:39:29 +01:00
John Cupitt
8fb146029c more tuning of vipsthumbnail
leave at least a factor of two after shrink-on-load

helps hide aliasing
2016-04-02 20:09:30 +01:00
John Cupitt
bc320f1090 much better int mask creation
removes some banding from the orc path for reducev
2016-04-02 18:46:10 +01:00
John Cupitt
5f24468dba tiny code cleanup, note a bug 2016-04-02 11:25:27 +01:00
John Cupitt
1a25c7a083 better rounding in vipsthumbnail 2016-03-25 10:42:21 +00:00
John Cupitt
ff88087a28 try making the reduce mask larger with residual 2016-03-15 14:59:59 +00:00
John Cupitt
45c3fea6ac more resize tuning 2016-03-15 09:49:30 +00:00
John Cupitt
ac4e5ce059 return of shrink-less-affine-more
though a bit less extreme
2016-03-14 14:58:02 +00:00
John Cupitt
fba2ac2f85 fix sizing issues with new reduce code
a couple of bugs and some changed conventions
2016-03-13 17:44:24 +00:00
John Cupitt
4974a1ed9c better rounding for vips_resize()
we were getting off by one size errors
2016-03-10 19:53:05 +00:00
John Cupitt
d351e07a6b finish up 2016-03-10 17:33:34 +00:00
John Cupitt
ad7ddc4f24 more vips_resize() tuning
now we have better tuning for the anti-alias blur, we can increase the
amount we shrink by and reduce the amount we affine by

this gives a noticable speedup
2016-03-01 11:19:30 +00:00
John Cupitt
19a838470b add webp shrink-on-load
and vipsthumbnail knows about it too

see https://github.com/jcupitt/libvips/issues/398
2016-02-28 14:36:21 +00:00
John Cupitt
153886d2eb add svgload
load from bubffer is not working though, strange ... it seems to be
generating a 16-biit image?
2016-02-09 11:01:12 +00:00
John Cupitt
625e0fbd9e vipsthumbnail knows about pdfload
woo, fast!
2016-02-09 09:26:54 +00:00
John Cupitt
8ce10058eb oop, missed a vips-8.1 2015-12-30 11:49:32 +00:00
John Cupitt
813e91c682 rename vips wrapper script 2015-12-30 11:31:59 +00:00
John Cupitt
8506ff13a6 try to improve vips_resize() quality
small improvements to vips_resize() quality:

* turn down the anti-alias filter a little so we don't smudge out texture
* don't do the final sharpening pass if we skipped the anti-alias filter
* fix a >/>= mixup which meant we didn't sharpen for small resizes
2015-11-19 15:22:23 +00:00
John Cupitt
2b2ac1b077 rename vips-8.0 as vips-8.1
also bump configure version

thanks Danilo!
2015-10-13 08:55:54 +01:00
John Cupitt
63d61416e4 warn if autorot + no exif
warn if you use the --rotate option to vipsthumbnail but vips has been
built without libexif

see https://github.com/jcupitt/libvips/issues/319
2015-07-30 11:32:53 +01:00
John Cupitt
25bf910f21 vipsthumbnail uses vips_premultiply() 2015-05-09 16:33:38 +01:00
John Cupitt
9ea012f737 vipsthumbnail now uses vips_resize()
it used to have its own copy of this code
2015-05-09 12:54:50 +01:00
John Cupitt
728f5a0401 add more paths to wrapper script 2015-04-30 09:13:33 +01:00
John Cupitt
100ae155e1 remove deprecated stuff from vips help
make the vips command-line interface no longer show any of the
deprecated vips7 interface in help

see https://github.com/jcupitt/libvips/issues/269
2015-04-20 09:47:44 +01:00
John Cupitt
244ab301f7 start final push for vips 8 2015-02-11 17:01:02 +00:00
John Cupitt
346a9e70c0 remove --disable-cxx flag
it was getting too hard to support :( automake now generates libtool
lines before configure runs, so it can't know we don't want a C++ link

see https://github.com/jcupitt/libvips/issues/231
2015-02-07 10:37:13 +00:00
John Cupitt
229636fc66 rename vipsthumbnail -o as -f
-o stays as a hidden flag

see https://github.com/jcupitt/libvips/issues/216
2015-01-20 09:10:36 +00:00
John Cupitt
c805b382fe vipsthumbnail sets an error on failure
conversion errors are ignored as before, but on final exit vipsthumbnail will
return an error code if one or more of the conversions failed

see https://github.com/jcupitt/libvips/issues/219
2015-01-13 17:31:09 +00:00
John Cupitt
1b86de44f4 "make check" works uninstalled
and skips tests for missing features
2014-12-22 10:35:26 +00:00
John Cupitt
9be2d6cc8d improve vipsthumbnail with broken images
if there was an incorrect embedded profile, no fallback import profile,
and an export profile, vipsthumbnail could crash

see https://github.com/jcupitt/libvips/issues/186
2014-11-28 17:54:01 +00:00
John Cupitt
ee4416040b make a test suite
put the python and non-nip2 bits of the nip2 suite together

some test images too
2014-11-19 15:01:28 +00:00
John Cupitt
dda412c85f add command-line option parsing to python 2014-11-18 11:29:32 +00:00
John Cupitt
bbf49be063 cleanup and bump to 7.42 2014-11-03 12:01:53 +00:00
John Cupitt
154796a8dc rename VIPS_ANGLE_0 as VIPS_ANGLE_D0
and other similar cases

VIPS_ANGLE_0 becomes Vips.Angle.0 in Python, which is very inconvenient, so we
rename ... the D stands for degrees, I think
2014-09-29 13:56:55 +01:00
John Cupitt
e458365970 use vips__substitute() more
should probably remove vips_snprintf() from a few more places
2014-09-27 11:37:28 +01:00
John Cupitt
1e6cd1b1a5 clean up length return
read file to mem was using uint for length for historical reasons
2014-09-18 10:19:24 +01:00
John Cupitt
ca0437d002 Merge branch '7.40' 2014-09-12 12:03:47 +01:00
John Cupitt
e4461ae1f9 fix vipsthumbnail with broken embedded profiles
if the embedded profile is broken or incompatible with the specified
output profile, retry with the specified input profile

see

https://github.com/jcupitt/libvips/issues/178
2014-09-12 10:51:49 +01:00
John Cupitt
b1f3acf17b fix vipsthumbnail
with input cmyk and output rgb profiles both specified ... it was
importing twice, causing a band mismatch

see

https://github.com/jcupitt/libvips/issues/177
2014-09-12 09:04:58 +01:00
John Cupitt
b746984318 Merge branch '7.40'
Conflicts:
	ChangeLog
	configure.ac
2014-09-08 19:49:09 +01:00
John Cupitt
501e900be5 tiny polish 2014-09-02 13:40:37 +01:00
John Cupitt
180142b2b1 Merge branch '7.40'
Conflicts:
	ChangeLog
	configure.ac
2014-08-27 14:00:54 +01:00
John Cupitt
694d86e5c5 fix vipsthumbnail on very-many-core systems
see:

https://github.com/jcupitt/libvips/issues/160

we were using UNBUFFERED, but on very-many-core systems this can get out
of order enough to make vipspng free the read object early
2014-08-21 13:05:29 +01:00
John Cupitt
a70da5b2d9 Merge remote-tracking branch 'origin/7.40' 2014-08-18 17:41:17 +01:00
John Cupitt
1abcc1eae4 rename vips_init() as VIPS_INIT()
stops a deprecation warning from gtk-doc

vips_init() is now a compat macro
2014-08-18 15:27:10 +01:00
John Cupitt
b24cbb492c Merge remote-tracking branch 'origin/7.40'
Conflicts:
	ChangeLog
	TODO
	configure.ac
	libvips/foreign/vipspng.c
2014-08-12 13:41:52 +01:00
John Cupitt
ce428ffa94 more vipsthumbnail fixes
- handle CMYK images
- use unbuffered mode, we have a cache already
- don't try to anti-alias on upscale
2014-08-11 16:48:51 +01:00
John Cupitt
ed3c56fcbf add an anti-alias filter to vipsthumbnail
vipsthumbnail blurs slightly between shrink and affine, if the affine
will be doing a large shrink
2014-08-11 10:26:12 +01:00