John Cupitt
e4b31dde38
fix labq sparc read
...
byteswap was swapping coded images, or trying to
2016-01-27 12:44:36 +00:00
John Cupitt
db20d70495
fix some more compiler warnings
...
and a bit of formatting
2016-01-26 15:10:46 +00:00
John Cupitt
4d18300560
add VIPS_FABS/MAX/MIN/CLIP
...
macros which use the gcc __builtin_fabs() etc. functions when they can
2016-01-26 12:26:21 +00:00
John Cupitt
73bcc8b5d3
improve the using-C docs
...
add some stuff on giving options to operations
see https://github.com/jcupitt/libvips/issues/373
2016-01-25 09:35:06 +00:00
John Cupitt
07a1903390
use g_assert_not_reached()
...
we were using g_assert(0) ... g_assert_not_reached() makes the
intention clearer
2016-01-24 13:21:53 +00:00
John Cupitt
a7d889df06
use builtin floor / ceil
...
get rid of FAST_PSEUDO_FLOOR, add VIPS_FLOOR and VIPS_CEIL, use them
everywhere
see https://github.com/jcupitt/libvips/pull/372
2016-01-23 09:50:57 +00:00
John Cupitt
94db738773
fix double free on tiff write
...
if you attached a profile to a tiff from a file during write, you'd get
a double-free
see https://github.com/jcupitt/libvips/issues/371
2016-01-22 17:43:42 +00:00
John Cupitt
c7eb88b87f
fix subsample at the command-line
...
it had the SEQ flag set, causing confusion with vips_sequential() when
it skipped scanlines on startup
see https://github.com/jcupitt/libvips/issues/370
2016-01-22 14:37:42 +00:00
John Cupitt
2e5880b69c
speed up for vips_shrinkh()
...
remove the sum buffer, we can just use a local, about 5% faster
see https://github.com/jcupitt/libvips/pull/369
2016-01-22 09:15:38 +00:00
John Cupitt
af8b43b16d
fix to make check in non-C locales
...
"make check" uses bc, which needs '.' as a decimal sep.
https://github.com/jcupitt/libvips/issues/367
2016-01-17 09:29:25 +00:00
John Cupitt
4512400a3c
better rounding in new bilinear interp
...
was off by 0.5
2016-01-14 13:13:08 +00:00
John Cupitt
6ca9a907b8
reorder load tests
...
and a slight memory saving on ifthenelse
2016-01-13 20:32:23 +00:00
John Cupitt
52384606dd
bump version for new C++ patch
2016-01-12 17:12:46 +00:00
John Cupitt
50db131865
VImage::get_typeof() returns GType
...
it was int, causing some compiler warnings on some platforms.
see https://github.com/jcupitt/libvips/issues/362
2016-01-09 20:27:14 +00:00
John Cupitt
66373e9b41
remove exception specs from vips8 C++ interface
...
We had exception specs on the C++ interface, but C++11 does not support
them and some compilers have never honoured them. Remove all specs.
Thanks Lovell.
See https://github.com/jcupitt/libvips/issues/362
2016-01-09 14:52:05 +00:00
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