John Cupitt
8e6ed3ef30
compiles
2015-11-16 14:58:51 +00:00
John Cupitt
3b32200cc1
sizealike() and friends elide completely
...
sizealike() / formatalike() and bandsalike() used to just vips_copy() if
the image didn't need any changes ... this was fast, but left a
vips_copy_gen() in the pipeline, wasting a lot of space on the C stack
during recursion.
They now vanish completely if the image is already in the right format.
Since we call them before most image processing operations, and
often all three of them, this saves a lot of C stack, more than x2 even
in simple cases.
There might also be a measureable CPU saving if the operations are very
simple (eg. insert).
See:
http://stackoverflow.com/questions/33658795/difficulty-with-handling-very-large-image-using-vips
2015-11-13 14:48:02 +00:00
John Cupitt
d94a2807c9
smarter cache sizing for vips_resize
...
see comment in code, should now account for max delay possible
2015-11-11 10:23:50 +00:00
John Cupitt
66fe338d36
better alpha handling for tiff save
...
the tiff saver was writing all five-band images as CMYKA, even if they
were tagged as srgb ... it now follows the interpretation tag and will
write many alpha channels instead
see https://github.com/jcupitt/libvips/issues/348
thanks sadaqatullahn
2015-11-11 08:55:42 +00:00
John Cupitt
9cb2674a77
now works woo
...
python interface plus test and benchmark to go
update c++ too I guess
oh docs as well sigh
2015-11-07 18:47:02 +00:00
John Cupitt
b853012787
add memory.h to Python API
...
this makes the memory high water visible to Python, handy for testing
2015-11-04 10:09:06 +00:00
John Cupitt
11ce13d43d
enable new shrink code
...
2x faster, much lower memuse
2015-10-31 12:15:48 +00:00
John Cupitt
2b46b7e889
many more const decls
...
ruby gobject-introspection is quite fussy about needing a lot of const
declarations ... these changes help vips_image_matrix_from_array()
appear in Ruby
2015-10-23 11:45:11 +01:00
John Cupitt
64d081e726
return default value for unset props
...
we used to issue a warning and return early, but this can leave garbage
in the *value pointer, I think
ruby gobject-introspection will walk object props during GC and can see
state inbetween init and build when not all objects have been given a
value ... we don't want these warnings
2015-10-16 14:50:44 +01:00
John Cupitt
faf7b70e2e
Merge branch '8.1'
...
Conflicts:
ChangeLog
2015-10-14 13:04:36 +01:00
John Cupitt
4b25ce2cf2
note pathname parse fix
2015-10-14 13:00:41 +01:00
John Cupitt
4d95f4512c
Merge branch '8.1'
...
Conflicts:
ChangeLog
configure.ac
doc/libvips-docs.xml
2015-10-13 14:47:37 +01: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
b8a28f1a8d
add vips7 wrapper for magickload_buffer
...
see https://github.com/jcupitt/ruby-vips/issues/69
2015-10-07 14:48:32 +01:00
John Cupitt
3b75d90174
copy photoshop data in tiff load/save
...
well, try anyway, it might work
see https://github.com/jcupitt/libvips/issues/332
2015-09-29 18:02:30 +01:00
John Cupitt
3889dcc3e2
make tiff load and save IPCT data
...
we did XMP already, but add IPCT as well
see https://github.com/jcupitt/libvips/issues/332
2015-09-29 17:41:11 +01:00
John Cupitt
956e2f5cdf
tiny cleanups
...
see https://github.com/jcupitt/libvips/pull/327
- small layout changes
- rename @linespacing as @spacing
- add ChangeLog notes and gtk-doc notes
- fix text arg priority
2015-09-20 11:08:44 +01:00
John Cupitt
f1c34932b6
working, at least with bug case
...
working, at least with robclouth test case
see
https://github.com/jcupitt/libvips/issues/326#issuecomment-138888981
2015-09-09 17:27:19 +01:00
John Cupitt
75a0b5b789
add vips_entropy()
...
calculates image entropy from a histogram
2015-08-11 14:00:43 +01:00
John Cupitt
fbe321eebf
change exif names argh
...
change exif names again: we were storing under @title, but that's both
subject to i18n, and unlookupable in libexif
we now use @name, which is not subject to i18n and can be searched for
... this will break most code which expects certain exif tag names
also, when we update exif, allow any tag, not just updates to existing
tags, see:
https://github.com/lovell/sharp/issues/189
2015-07-15 13:27:47 +01:00
John Cupitt
b3d35da677
don't try to write oversized jpeg markers
...
see https://github.com/jcupitt/libvips/issues/311
2015-07-08 13:28:50 +01:00
John Cupitt
17bace3483
fix corrupt test image
2015-06-22 06:52:02 +01:00
John Cupitt
33788f7336
allow dzsave zip output > 4gb
...
thanks benjamin
2015-06-08 09:35:25 +01:00
John Cupitt
e9720afb18
add vips_bandfold()/vips_bandunfold()
...
was part of vips_copy(), but it was very ugly there
2015-06-05 14:52:05 +01:00
John Cupitt
dbd852211e
move bytw swapping out to vips_byteswap()
...
it was an option to vips_copy(), ugly!
2015-06-05 13:56:26 +01:00
John Cupitt
5cb2239d7d
try to support DOS ppm/csv files on linux
...
swap \r\n for \n in vips__fgetc()
2015-06-04 12:58:30 +01:00
John Cupitt
a3c881ae78
support "with Vips.Image" in Python
...
though it doesn't actually do anything, it looks nice
2015-06-03 15:08:02 +01:00
John Cupitt
c35e2e5427
add RefString getter
...
to python now unpacks VipsRefString on get_value()
2015-06-02 13:32:48 +01:00
John Cupitt
baf78fc04a
oops, fix base64 encode/decode padding
...
we were adding up to two bytes of null to the end of base64-encoded
binary data due to a signed/unsigned mixup
add a test for this, plus a test for vips file format
2015-05-31 18:17:26 +01:00
John Cupitt
36331739ab
add bandand() bandor() bandeor() to py
...
convenience funcs
2015-05-26 10:32:15 +01:00
John Cupitt
cea1e29527
Merge remote-tracking branch 'origin/8.0'
...
Conflicts:
ChangeLog
configure.ac
doc/libvips-docs.xml
2015-05-24 18:19:32 +01:00
John Cupitt
3451766004
fix dzsave/vips2tiff for some image sizes
...
we were not clipping new strip size against image size, see
https://github.com/jcupitt/libvips/issues/300
2015-05-24 17:53:05 +01:00
John Cupitt
045678d438
vips_copy() can turn bands into width
...
handy for slicing up very large 3D arrays
2015-05-15 14:24: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
ec52d1b922
change vips_flatten() alpha rules
...
now match vips_premultiply()
add tests
foreign knows about new logic
2015-05-09 12:10:42 +01:00
John Cupitt
472bf7dbc3
add vips_unpremultiply()
2015-05-08 10:26:23 +01:00
John Cupitt
90a47b0cad
start 8.1
2015-05-07 18:15:07 +01:00
John Cupitt
5f3d4c7971
start 8.0 supported branch
2015-05-07 18:11:57 +01:00
John Cupitt
8ba680605a
soname bump, test suite improvements
...
test suite now tests load from buffer and save to buffer
test suite adapts for differences in newer libMagick
bump soname for safety
2015-05-05 09:40:29 +01:00
John Cupitt
db4ee8d6b6
fix a ref leak in the C++ API
...
see https://github.com/jcupitt/libvips/issues/290
thanks huskier
added a write-to-buffer example as well
2015-05-04 19:44:56 +01:00
John Cupitt
bfeeb3eb27
better leak reporting
...
Vips::print_all now shows VipsArea leaks as well
2015-05-01 16:42:23 +01:00
John Cupitt
f5a77dd80d
start some notes on threading
2015-04-27 10:57:27 +01:00
John Cupitt
ffdd9ff851
init glib langs on startup
...
works around a crash under heavy load, see
https://github.com/openslide/openslide/issues/161
2015-04-26 10:30:39 +01:00
John Cupitt
6c6d0d6b78
fix some compiler warnings
2015-04-25 17:39:16 +01:00
John Cupitt
ad017dc56f
add more C++ convenience functions
...
flipver() etc.
2015-04-24 10:10:44 +01:00
John Cupitt
e0a5d28100
add vips_vipsload() vips_vipssave() to C API
...
we didn't have these in the C API before, for some reason
2015-04-21 14:29:44 +01:00
John Cupitt
fcb348db64
notes on recent changes
2015-04-19 13:15:24 +01:00
John Cupitt
24084aed85
Merge branch 'add-copy-to-memory'
2015-04-19 11:13:15 +01:00
John Cupitt
54c37e7e0d
add copy-to-memory
...
try to make a threadsafe vips_image_wio_input()
2015-04-19 09:45:20 +01:00