Commit Graph

89 Commits

Author SHA1 Message Date
John Cupitt
595f18cf64 tiny speedup for vipsthumbnail --linear
use scrgb for working space in vipsthumbnail, was xyz
2016-08-01 08:43:53 +01:00
John Cupitt
dbbd2850a1 better max_alpha default
it used to default to 255, now it sniff the interpretation and defaults to
65535 for RGB16 and GREY16

see https://github.com/jcupitt/libvips/issues/449
2016-05-23 12:18:39 +01:00
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
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
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