John Cupitt
9419e07a6b
remove a lock from VImage.cc
...
it wasn't really needed, and windows will barf with pointers across
DLLs
2016-01-08 13:40:58 +00:00
John Cupitt
b85231baba
small doc improvements
2016-01-07 11:16:12 +00:00
John Cupitt
e27aa4488a
clearer changelog entry
2016-01-04 17:24:00 +00:00
John Cupitt
e81900b187
bandjoin is just an instance function
...
we had both a class member bandjoin, and an instance member
Vips.Image.bandjoin([i1, i2, i3..])
i1.ibandjoin([i2, i3..])
this was confusing and annoying ... get rid of the class one and just
use bandjoin everywhere, so this is now the way to do it:
i1.bandjoin([i2, i3..])
2016-01-04 14:18:10 +00:00
John Cupitt
e6cbdbb516
add a stub for compat
...
see https://github.com/jcupitt/libvips/issues/361
2016-01-01 10:58:53 +00:00
John Cupitt
8302e2ffcd
notes on dzsave change
...
see https://github.com/jcupitt/libvips/pull/359
2015-12-23 09:16:58 +00:00
John Cupitt
73436ddfc2
add @properties flag to tiffsave
...
writes all vips metadata to imagedescription tag
2015-12-21 14:43:59 +00:00
John Cupitt
0deb640bc4
load and save TIFFTAG_IMAGEDESCRIPTION
...
this often has useful metadata in, for example the OME spec has all the
metadata in there as an XML document
see https://github.com/jcupitt/libvips/issues/358
2015-12-21 13:53:33 +00:00
John Cupitt
efed79f298
Merge branch 'new-bilinear'
2015-12-17 13:43:51 +00:00
John Cupitt
fb084ef6a6
working
2015-12-17 13:43:34 +00:00
John Cupitt
c74f7457a6
Merge branch 'master' of github.com:jcupitt/libvips
2015-12-17 12:58:04 +00:00
John Cupitt
42f5403cfa
notes
2015-12-15 10:49:02 +00:00
John Cupitt
af6e00e10f
Merge branch 'master' of github.com:jcupitt/libvips
2015-12-15 10:45:23 +00:00
John Cupitt
70cf12d034
notes
2015-12-15 10:44:30 +00:00
John Cupitt
5916e25c31
rename python bandjoin as ibandjoin
...
oh argh class and instance methods are in the same namespace, so we have
to rename the instance one as ibandjoin
also, start adding a test for arrayjoin
2015-12-12 12:29:20 +00:00
John Cupitt
6e9834e623
add vips_arrayjoin()
2015-12-11 15:14:08 +00:00
John Cupitt
2409767679
add vips_image_new_from_memory_copy()
...
takes a copy of a memory area when making an image ... this helps bindings
for languages which don't have much control over memory
see https://github.com/jcupitt/libvips/issues/346
2015-11-25 17:05:59 +00:00
John Cupitt
6573af3c2a
always strip dzsave tile metadata
...
dzsave now uses :strip => true for all tiles. There's no point adding
all the metadata to every tile, so hopefully this won't break anything.
Thanks Benjamin, see: https://github.com/jcupitt/libvips/issues/349
2015-11-25 13:29:23 +00:00
John Cupitt
2620f3b8c9
allow non-square vips_resize()
...
in a very crude way
2015-11-19 17:09:18 +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
743b21e83e
fix off by 1 error
2015-11-19 13:25:52 +00:00
John Cupitt
bfbe254ece
sync
2015-11-17 10:13:48 +00:00
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
John Cupitt
a0aacad871
much better convert to greyscale
...
mix RGB channels as .2, .7, .1 in linear light
see https://github.com/jcupitt/libvips/issues/266
2015-04-17 11:33:27 +01:00
John Cupitt
41b38f2fd2
Merge remote-tracking branch 'origin/7.42'
...
Conflicts:
ChangeLog
configure.ac
libvips/foreign/vips2tiff.c
2015-04-09 09:49:59 +01:00
John Cupitt
da1611e070
add miniswhite tiffsave option
2015-03-27 10:07:59 +00:00
John Cupitt
09b81b7580
im_maxpos_avg() avoids NaN
2015-03-26 17:16:52 +00:00
John Cupitt
9552315e80
version bump
2015-03-26 08:46:52 +00:00
John Cupitt
c4672f389b
oops in vips_getpoint() C wrapper
2015-03-08 15:13:56 +00:00
John Cupitt
339f268200
add some API for args, fix a docs messup
2015-03-02 22:02:33 +00:00
John Cupitt
ded01df512
c++: add [], change ()
...
() used to return element zero, just return a vector
add [] overload
2015-03-01 10:43:02 +00:00
John Cupitt
5d912fdbbb
add [] overload to python
...
index and slice image bands
2015-02-28 16:53:06 +00:00
John Cupitt
a49e6772fd
notes
2015-02-27 11:54:18 +00:00
John Cupitt
fc5a4a917a
make file format readers close fds early
...
we were using two fds per open image, now we just use one
jpg, magick, tiff, png
2015-02-26 14:09:01 +00:00
John Cupitt
ed5c90175a
final cleanup
2015-02-17 14:45:39 +00:00
John Cupitt
377075fe05
Merge branch 'new-tiff-save' of github.com:jcupitt/libvips into new-tiff-save
...
Conflicts:
ChangeLog
libvips/foreign/vips2tiff.c
2015-02-16 21:27:00 +00:00
John Cupitt
c15f37719b
add test_foreign.py
...
plus some more test images
2015-02-16 16:03:39 +00:00
John Cupitt
99b4bcb838
small cleanups
...
split magicload up into a base class plus file and buffer subclasses
magickload_buffer should do all reading in header method
2015-02-16 10:45:56 +00:00
John Cupitt
187a12987a
add vips_region_shrink()
...
add fast x2 region shrink
aim to share between pyramid builders
2015-02-14 13:44:32 +00:00
John Cupitt
be5052d0c3
tiff pyramid builder no longer copies base image
...
we used to make a copy of the base image ... instead, write once and
append other layers at end of run
2015-02-13 13:40:35 +00:00
John Cupitt
4d9436f4b3
Merge branch '7.42'
2015-02-13 12:21:46 +00:00
John Cupitt
4d0887f5de
fix .dz as a target
...
and add a test for this as well
2015-02-13 11:17:55 +00:00
John Cupitt
8f7c2c7110
sort out alpha going to and from 16-bit
...
rewritten sRGB <-> scRGB so that 16-bit alpha is scaled to float 8
2015-02-12 17:50:38 +00:00
John Cupitt
244ab301f7
start final push for vips 8
2015-02-11 17:01:02 +00:00
John Cupitt
5b90e36559
notes
2015-02-10 14:44:35 +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
3d902d2feb
improvements to python configure
2015-02-06 14:54:52 +00:00
John Cupitt
9d11c02e35
version bump
2015-02-06 13:39:39 +00:00
John Cupitt
d6dbfea064
much faster RGB16 -> sRGB path
2015-02-04 16:48:25 +00:00
John Cupitt
0c466b9495
don't use isnormal() to test for crazy FP numbers
...
it fails for 0.0 and for subnormal numbers, thanks Murat Korkmazov
2015-02-04 15:13:11 +00:00
John Cupitt
e429772ae8
turn on leak testing in python test suite
2015-02-02 11:36:29 +00:00