Commit Graph

85 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 501e900be5 tiny polish 2014-09-02 13:40:37 +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 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 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
John Cupitt e4996d8dce don't set shrink too low 2014-08-04 21:25:19 +01:00
John Cupitt f1df91eebb vipsthumbnail defaults to bicubic + noshapen
if bicubic is available
2014-08-04 09:55:18 +01:00
John Cupitt ebec31fe4a more careful p->t conversion
When we convert an image from "p" to "t" in vips_image_wio_input(), zap
start/gen/stop callbacks. This makes vips_region_prepare_to() read from
the "t" rather than trying to gen pixels again.
2014-08-03 17:59:25 +01:00
John Cupitt 8c82ffb865 fix interlaced thumbnails
we need to cache the thumbnail before we write it in case the writer
needs to make several passes

see https://github.com/jcupitt/libvips/issues/140
2014-06-30 12:07:00 +01:00
John Cupitt a6ec270adf better shrink selection in vipsthumbnail
see:

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

https://github.com/lovell/sharp/issues/41#issuecomment-44429413

thanks @ttback
2014-06-09 14:44:06 +01:00
John Cupitt d426abdcd8 stage1 seems to work 2014-06-07 16:47:53 +01:00
John Cupitt 58239a4583 vipsthumbnail fix
fix to vipsthumbnail ... --crop could fail for very non-square images,
thanks Alessandro
2014-03-18 17:41:39 +00:00
John Cupitt a2b760c523 handle other exif orientation tag values
though not the mirroring ones
2014-03-10 13:25:02 +00:00
John Cupitt 66d0e28dc2 remove the embedded thumbnail reader
remove the embedded thumbnail reader, embedded thumbnails are too unlike
the main image wrt. rotation / colour / etc.
2014-03-07 16:57:20 +00:00
John Cupitt 40a15b3aa0 move orientation tag from vipsthumbnail output 2014-03-06 23:24:46 +00:00
John Cupitt fce4f2d1ef more vipsthumbnail --rotate work
now needs some changes to jpegsave
2014-03-06 22:41:56 +00:00
John Cupitt ffed43dffe add basic auto-rotate support to vipsthumbnail 2014-03-06 19:39:18 +00:00
John Cupitt 1cf0768f94 clean up the vipsthumbnail fix
nicer way to copy the metadata
2014-03-05 11:41:16 +00:00
John Cupitt 4be4f9f0ff vipsthumbnail copies metadata to embedded thumb
when working from the embedded thumbnail, vipsthumbnail now copies the
metadata from the main image onto the thumbnail

see

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

thanks ottob
2014-03-04 14:36:49 +00:00
John Cupitt bf2acf2621 fix --sharpen=none
thanks ferryfax
2014-02-13 08:42:59 +00:00
Lovell Fuller 9acaafc897 Ensure -interpolate flag is used with affine transformation 2014-01-20 22:20:35 +00:00
John Cupitt bbf899eb35 add --crop to vipsthumbnail 2013-12-18 14:23:39 +00:00
John Cupitt ad723ade5a move --strip into save base class
was in jpegsave, now in save

need to add support to png writer, maybe vips as well, tiff could not
attach ICC profiles I guess
2013-11-13 09:00:47 +00:00