John Cupitt
e2eb1b8c12
better gif loader
...
- transparency was broken if image had no extension block
- load image to memory, test for transparency and mono/colour, write 1,
2, 3, or 4 band image to output, depending on what we found
2016-07-26 16:19:28 +01:00
John Cupitt
12a32b23f1
Merge branch 'master' into add-magick7
2016-07-25 12:40:43 +01:00
John Cupitt
e939103936
Merge branch 'master' into add-worley
2016-07-24 14:47:33 +01:00
John Cupitt
c469bb3983
perlin sort-of works
2016-07-24 11:46:42 +01:00
John Cupitt
5bbeac7eff
Merge branch '8.3'
2016-07-21 07:42:09 +01:00
John Cupitt
3efee94e19
fix possible out of bounds read in tiff2vips
...
reading a malformed tiff file from a buffer could trigger out of bounds
read
thanks Matt Richards
2016-07-21 07:40:33 +01:00
John Cupitt
dac671439c
kind-of working
2016-07-19 10:57:21 +01:00
John Cupitt
7cd49e53b2
vips_convasep() done
...
starting vips_conva()
2016-07-10 12:25:22 +01:00
John Cupitt
a5d9cf204c
seems to work, needs more testing
2016-07-08 17:56:30 +01:00
John Cupitt
df81a6fe24
almost there
2016-06-30 14:59:20 +01:00
John Cupitt
93a55310d3
compiles
2016-06-23 15:00:26 +01:00
John Cupitt
65105a9442
upsize with something other than nearest
...
vips_resize() uses to just use nearest when upsizing, following standard
practice in repro. This is often unfortunate for image processing, where
small nearest upsizes will produce obvious aliasing.
It now picks a VipsInterpolate which corresponds (roughly) to the
selected VipsKernel and uses that with affine for any upsizing.
2016-06-22 10:33:08 +01:00
John Cupitt
11b136b2df
pyvips8 can create new metadata
...
previously it tried to lookup the type of the field in set(), now if
OK if there's no field there already
2016-06-17 11:27:13 +01:00
John Cupitt
f3326c8126
better vips_resize() for cubic/linear/nearest
...
vips_resize() used to do most of a downsize with vips_shrink() and the
final 200 - 300% with vips_reduce(). This was correct for lanczos2/3,
but not right for linear/cubic, which need more shrink and less
reduce to avoid aliasing.
This patch makes vips_resize() leave the final 100 - 200% to
vips_reduce() for linear/cubic, and leave everything to reduce for
nearest.
2016-06-16 09:46:02 +01:00
John Cupitt
a5bef08d4a
better reducev multiplication
...
more accurate, no slower
add more tests too
2016-06-15 13:56:19 +01:00
John Cupitt
eb7768ff61
Merge branch 'master' into add-assignment-overloads
2016-06-11 20:15:42 +01:00
John Cupitt
28efdf1695
working!
2016-06-11 17:36:06 +01:00
John Cupitt
8667dd0d18
VImage::ifthenelse() fix
...
the prototype was missing =0 on options for scalar constant forms
2016-06-10 17:34:41 +01:00
John Cupitt
ad56c57830
add implementation for VImage::write()
...
oops, it was missing
also, change the return type from void to VImage. This makes chaining
possible, eg.:
VImage memory = im.write( Viameg::new_memory() );
2016-06-10 14:22:08 +01:00
John Cupitt
1909b31bd6
vips_image_write() only refs input when it has to
...
when you write to a non-partial image, you create a sink ... so
vips_image_write() only needs to ref the input when writing to partials
this change makes it much easier to (for example) combine many images in
bounded space, see for example:
https://gist.github.com/jcupitt/c516325ebef7601b5da610af5619c9b2
2016-06-10 13:58:01 +01:00
John Cupitt
3ed174e9cb
Merge branch 'master' into free-non-worker-buffers
2016-06-09 18:36:41 +01:00
John Cupitt
8cd3d18caf
remove is_zip from dzsave
...
we can use GSF_IS_OUTFILE_ZIP() instead
2016-06-08 14:46:45 +01:00
John Cupitt
b90145ca31
free pixel buffers on image close
...
We were freeing pixel buffers on thread exit. This was convenient, but
meant that main thread buffers were not freed until program exit. As a
result, long-running programs which created main thread buffers would
slowly fill the operation cache with useless junk, forcing everything else out.
This change also frees pixel buffers on image close. This makes the
cache work much better in long-running programs, and can substantially
reduce memory use.
See https://github.com/jcupitt/libvips/issues/466
2016-06-06 13:50:25 +01:00
John Cupitt
15878bffca
Revert "free main-thread pixel buffers"
...
This reverts commit 2a77301033
.
2016-06-06 06:38:18 +01:00
John Cupitt
2a77301033
free main-thread pixel buffers
...
threads keep pixel buffers in thread-private storage, and free these
buffers on thread exit ... this means buffers created by the main thread will
only be freed on program exit!
if your program creates any main-thread buffers, these buffers will
eventually fill the operation cache and force everything else out,
making the cache useless
this patch explicitly frees main-thread pixel buffers on image close
2016-06-05 16:59:07 +01:00
John Cupitt
0faf5395b2
conversion to grey16 could lock
...
a typo could cause infinite recursion during conversion
2016-06-03 16:24:21 +01:00
John Cupitt
c5a4afbe40
support --strip for tiffsave
...
stops metadata save
2016-06-02 13:14:15 +01:00
John Cupitt
7a91eaa583
tiff save converts for jpg in jpg mode
...
when jpg compression is on, tiffsave now converts the input image for
jpg save ... previously, it would try to send a tiff-formatted image
(eg. perhaps with an alpha channel, or float data), which would fail
see https://github.com/jcupitt/libvips/issues/449
2016-05-31 22:04:07 +01:00
John Cupitt
f0521d4b5d
all done!
...
a few more tests though
2016-05-27 16:53:25 +01:00
John Cupitt
0c28fc71d6
fix radsave
...
oop, suffix was being set ono the base class
2016-05-24 07:55:30 +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
91aa288a44
break up acinclude.m4
...
it's now in a more maintainable set of .m4 files in m4-safe
2016-05-18 10:41:05 +01:00
John Cupitt
2b71756352
Merge branch '8.3'
2016-05-18 09:30:22 +01:00
John Cupitt
7ec63c4451
more vips image read fixing
...
thanks AFL!
2016-05-18 09:00:30 +01:00
John Cupitt
6a445ea9c8
more vips image read fixing
...
thanks AFL!
2016-05-17 21:58:52 +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
db11d3b973
allow nested [] in CLI args
...
this now works:
vips copy x y.dz[suffix=.jpg[Q=90]]
2016-05-16 11:09:47 +01:00
John Cupitt
70abf4efde
merge pdfload range to master
2016-05-15 10:02:46 +01:00
John Cupitt
ffc5279d2f
Merge branch 'master' into loadpdf-range
2016-05-15 10:01:27 +01:00
John Cupitt
7f02e843dc
add ack for dzsave tile skip
...
see https://github.com/jcupitt/libvips/issues/352
2016-05-15 09:53:37 +01:00
John Cupitt
46f2776d22
fix up changelog order
2016-05-15 09:50:40 +01:00
John Cupitt
72b67d0ec2
Merge branch 'master' into no-blank-tiles
2016-05-15 09:48:21 +01:00
John Cupitt
f18fbe1fa2
add @n option to pdfload
...
so you can load many pages at once as a tall strip
2016-05-12 14:13:50 +01:00
John Cupitt
143593d6a6
comment reformat
2016-05-09 11:07:48 +01:00
John Cupitt
38fe936eee
Merge remote-tracking branch 'origin/8.3'
2016-05-08 11:09:28 +01:00
John Cupitt
f7a6a02ee8
fix giflib4 detection
...
and a problem in giflib4 error handling
2016-05-08 11:02:21 +01:00
John Cupitt
1fbae62cf8
seems to work for jpg anyway
...
try some tests next
2016-05-05 20:07:17 +01:00
John Cupitt
48ef215479
tiny fixups for the webp commit
...
just small formatting changes, plus an unneeded var
see
https://github.com/jcupitt/libvips/pull/430
2016-05-02 09:55:16 +01:00
John Cupitt
02821ae9e3
expose @kernel setting for vips_resize()
...
a new optional arg lets you pick the downsizing kernel
2016-05-01 12:33:49 +01:00
John Cupitt
c2d1de9a26
allow mixed zoom and shrink in resize
...
vips_resize() now allows >1 on one axis, <1 on the other ... previously,
although you could have non-square ratios, you couldn't mix zoom and
shrink
2016-05-01 12:03:13 +01:00
John Cupitt
5e933fe8e9
Merge branch 'master' into no-blank-tiles
2016-04-25 09:54:01 +01:00
John Cupitt
d11a7960b7
add support for giflib5
...
gifload.c now works with giflib5, and well as giflib4 ... forced by
ubuntu's switch to giflib5 in 16.04
see https://github.com/jcupitt/libvips/issues/407
2016-04-25 09:29:25 +01:00
John Cupitt
699ade0877
Merge branch 'master' into no-blank-tiles
2016-04-24 09:59:04 +01:00
John Cupitt
23eaf93867
fix build with graphicsmagick
...
GM is still using the old page interface of subimage/subrange, IM has
deprecated that in favour of scene/number_scenes
we were accidentally just supporting the new IM system ... this change
adds support for GM as well, plus a configure test to pick one
see https://github.com/jcupitt/libvips/issues/423
2016-04-18 15:21:11 +01:00
John Cupitt
f0271f050d
note oo stuff
2016-04-18 12:36:55 +01:00
John Cupitt
1e44ab5d39
version bump for 8.3.1
2016-04-15 08:42:36 +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
f58190bccd
tag non-int rgb tiff as scrgb
...
Photoshop uses 0 - 1 and no gamma for float RGB, so we tag float /
complex RGB tiffs as scRGB
thanks Murat
2016-04-11 12:37:48 +01:00
John Cupitt
f3835ef0bf
webpsave_buffer no longer ignores @lossless
...
the @lossless arg to webpsave buffer was never wired up to anything,
thanks aaron42net.
see
https://github.com/jcupitt/libvips/issues/410
2016-03-31 21:48:40 +01:00
John Cupitt
618af96723
vips_system() out-format can take options
...
you can now put options like [scale=2] at the end of out_format ...
these are stripped before running the command, but use to load the
output image back into libvips again
2016-03-28 10:50:39 +01:00
John Cupitt
ddd7ab7459
doc fixups
2016-03-25 10:56:59 +00:00
John Cupitt
ec5cdf4fff
Merge branch '8.2'
2016-03-24 16:09:44 +00:00
John Cupitt
72ea91fecc
fix nohalo, vsqbs interpolators
...
we were getting occasional memory access problems in nohalo and vsqbs
interpolators ... the previous fix was not enough
version bump
2016-03-24 16:06:31 +00:00
John Cupitt
e8b5cb6c23
add VIPS_COUNT_PIXELS, overcomputation tracking
...
added VIPS_COUNT_PIXELS(), use like this:
static int vips_shrinkh_gen( VipsRegion *or, ... )
{
VIPS_COUNT_PIXELS( or, "vips_shrinkh_gen" );
}
and on image close, if more than 100% of the pixels have been
calculated, you get a warning
only if you enable debugging, since this hurts perf slightly
2016-03-22 12:26:45 +00:00
John Cupitt
46a18118c6
works!
2016-03-15 16:46:18 +00:00
John Cupitt
dc7902b12f
Merge branch 'master' into add-lanczos3
2016-03-13 11:23:03 +00:00
John Cupitt
6368ab0649
add switches to disable rad, analyze and ppm
...
vips has built-in support for rad, analyze and ppm ... add configure
switches to disable these readers
useful to reduce the attack surface in some applications
2016-03-12 16:48:27 +00:00
John Cupitt
42224b6b0e
Merge branch '8.2'
2016-03-12 15:12:56 +00:00
John Cupitt
abe4e70d02
make radload slightly more robust
...
stops some valgrind warnings
2016-03-12 15:10:52 +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
9209fb25c5
update notes
2016-03-10 17:40:19 +00:00
John Cupitt
9201248623
Merge branch '8.2'
2016-03-06 18:05:12 +00:00
John Cupitt
acf5f5169a
fix hist_entropy
...
there was a copy-paste error in the call to vips_log(), thanks Lovell
see https://github.com/lovell/sharp/issues/295
2016-03-06 18:02:59 +00:00
John Cupitt
2ea5c5f7e5
make python bandrank() work like bandjoin()
...
we had a custom wrapper for bandjoin(), but bandrank(), a function with
an almost identical interface, did not ... this was confusing
bandrank() now has a custom wrapper too ... this breaks API
unfortunately, but hopefully very few people were using this thing and
it's better to make this change as soon as possible
2016-03-01 12:12:51 +00:00
John Cupitt
25c3c49d1c
better handling of cast+shift for non-int formats
...
before, im.cast(uchar, shift = true) where im was float and tagged as
rgb16 would not shift the image, since it's unclear how much to shift a float
type by
now we do two casts: first, we guess the numeric range from the
interpretation, so rgb16 would be ushort, so we cast float->ushort;
second, we cast to the target type and do the shift on the way
see https://github.com/jcupitt/libvips/issues/397
thanks apacheark
2016-03-01 11:31:54 +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
e582f13d13
tiny polish to hist_find
...
slightly faster again
2016-02-28 12:08:06 +00:00
John Cupitt
b197773095
oop, overflow in sharpen
...
plus another tweak of the defaults
2016-02-28 11:24:35 +00:00
John Cupitt
ee1874c5ca
much better handling of arrayimage cli args
...
we were not setting the access hint on arrayimage args, so
arrayjoin "$(echo *.jpg)" x.tif[bigtiff] --across 10
would open all the jpg images to memory, usually, in random mode
now arrayimage args see the operation's access hint (seq in this case),
for much better behaviour
also, we allow any whitespace as an arg separator in arrayimage from
string
2016-02-27 20:37:20 +00:00
John Cupitt
609e639528
Merge branch '8.2'
2016-02-26 12:44:54 +00:00
John Cupitt
5a60dd26f9
fix parsing of filenames containing brackets
...
oops, missed part of a regexp in parse_token, see:
https://github.com/jcupitt/libvips/issues/395
thanks shilpi230
2016-02-26 12:41:48 +00:00
John Cupitt
c1f1a7c1b3
improve sharpen for screen work
...
it was a bit granular (since it was designed for offset work), make sharpen
easier to adjust for smaller effects
- new 'sigma' parameter
- greater parameter range
- more self-tests
2016-02-25 11:16:24 +00:00
John Cupitt
01238a0fd5
more progressive jpg changes
...
- Remove the nocache stuff for prog jpg images. There was no saving in
practice, since operations downstream could be cached.
nocache is for objects that can change, not for memory saving
- Call _destroy on the decompress object much earlier, it frees a huge
amount of memoey for prog jpg images.
2016-02-21 10:57:36 +00:00
John Cupitt
6f94cb5ed4
don't cache progressive jpg images
...
progressive jpg images need loads of memory, we shouldn't cache them by
default ... our called can hold a ref if they want to keep the image
around
see https://github.com/jcupitt/libvips/issues/387
2016-02-18 19:00:19 +00:00
John Cupitt
de59ff0e5a
Merge branch 'master' into add-magickload-page
2016-02-18 11:28:09 +00:00
John Cupitt
ef6d8f5979
make test for matlab files more specific
...
Previously vips just called Mat_Open() to test if a file was a Matlab
save file, but this is rather unreliable. For example, some JPEG files
can crash libmatio, and it can incorrectly think that at least some JP2
files are Matlab save files.
Instead, look for "MATLAB 5.0" at the start of the file. This is really too
specific, the first 116 bytes of a Matlab save file are freeform text,
but in practice all Matlab writers use the first few bytes to record the
file type.
See https://github.com/jcupitt/libvips/issues/385
2016-02-16 09:53:04 +00:00
John Cupitt
8e667fbb3e
still not quite there
...
works, but is no faster, how odd
john@kiwi:~/pics$ time vips magickload nipguide.pdf[40] x.tif
real 0m0.244s
user 0m0.212s
sys 0m0.040s
$ time vips magickload nipguide.pdf x.tif --page 40
real 0m7.035s
user 0m6.900s
sys 0m0.152s
both give same result
2016-02-15 08:53:23 +00:00
John Cupitt
9262d672b7
almost done
...
a valgrind failure still
2016-02-12 10:53:04 +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
991cc4f88b
rename as pdfload
2016-02-08 20:25:03 +00:00
John Cupitt
69c2fe00f7
add C API and docs for popplerload
2016-02-08 10:05:37 +00:00
John Cupitt
8da4e706dd
start adding poppler support
2016-02-07 23:33:43 +00:00
John Cupitt
41b41effde
Merge branch 'add-reduce'
2016-02-07 17:46:46 +00:00
John Cupitt
8cffd136e9
finish reduce
...
and fix up bicubic a bit, it works better on int32 images now
2016-02-07 17:41:39 +00:00
John Cupitt
67f3ecfd8d
wire up to resize / similarity
...
still need tests
2016-01-29 15:23:00 +00:00
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
e19f9ea0b3
working!
...
doesn't seem to slow us down significantly ... before:
$ time vips dzsave CMU-1.svs x --layout google --background "243 243 243 255"
real 1m1.940s
user 2m15.004s
sys 0m37.092s
after:
$ time vips dzsave CMU-1.svs x --layout google --background "243 243 243 255"
strip_work: skipping blank tile 176 x 67
strip_work: skipping blank tile 21 x 112
real 1m3.503s
user 2m16.012s
sys 0m40.328s
2015-11-24 17:08:56 +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
John Cupitt
eb5fee5e65
add lower-level cache access
2015-02-01 17:56:48 +00:00
John Cupitt
ce557ba6de
add VInterpolate wrapper class
...
to cplusplus, see https://github.com/jcupitt/libvips/issues/230
2015-01-30 21:19:58 +00:00
John Cupitt
e8f456a7e2
more tests
2015-01-27 21:45:14 +00:00
John Cupitt
70b60e1dd5
tiny cleanup
2015-01-22 13:19:21 +00: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
23071d73ac
Merge branch 'master' of github.com:jcupitt/libvips
...
Conflicts:
ChangeLog
2015-01-19 22:03:05 +00:00
John Cupitt
dbd98ba86c
disable chroma subsample in jpeg-tiff if Q>=90
...
see https://github.com/jcupitt/libvips/issues/218
2015-01-19 22:01:13 +00:00
John Cupitt
f1d901a229
try to handle tiffs with 8-bit colormaps
...
see
https://github.com/jcupitt/libvips/issues/220
2015-01-19 14:52:57 +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
eda4ed64f1
rename _!PIXEL etc. to help bindings
...
ruby gobject-introspection hates numbers at the start of _ separated
names
2015-01-07 14:22:13 +00:00
John Cupitt
6f101ae86b
remove VImage::scale()
...
it clashed with the VipsScale operator, see
https://github.com/jcupitt/libvips/pull/213
2015-01-06 12:00:11 +00:00
John Cupitt
6440830315
required C++ output params were broken
...
see https://github.com/jcupitt/libvips/pull/213
this now works:
VImage rows;
VImage cols = in.profile( &rows );
2015-01-06 11:51:53 +00:00
John Cupitt
90725b9f5e
more tests
2015-01-05 13:48:35 +00:00
John Cupitt
6c35ae5540
display default and range in usage
...
eg. we now see:
$ vips gamma
gamma an image
usage:
gamma in out
where:
in - Input image, input VipsImage
out - Output image, output VipsImage
optional arguments:
exponent - Gamma factor, input gdouble
default: 2.4
min: 1e-06, max: 1000
operation flags: sequential-unbuffered
2014-12-30 13:16:22 +00:00
John Cupitt
32625146db
cpp can set enums from strings
...
eg.
set("extend", "copy")->
2014-12-30 11:27:04 +00:00
John Cupitt
d077d7c1fc
small stuff
2014-12-27 10:00:01 +00:00
John Cupitt
b01dd59309
fix VipsBlob read
...
oops, forgot the .get()
2014-12-27 09:41:01 +00:00
John Cupitt
366e7e3a5e
add gobject to Requires: line
...
vips C and C++ programs can link directly against things in gobject
without appearing to, for example:
a = VIPS_OBJECT( b );
the macro will expand to include a g_type_check_instance_is_a(). So we
have to have gobject-2.0 in the link line of things like:
g++ -g -Wall hello8.cc `pkg-config vips-cpp --cflags --libs`
see also
https://github.com/jcupitt/libvips/issues/196
2014-12-24 10:10:14 +00:00
John Cupitt
1b86de44f4
"make check" works uninstalled
...
and skips tests for missing features
2014-12-22 10:35:26 +00:00
John Cupitt
abdd98409d
add configure option for pyvips8
...
it tests for pygobject as well
2014-12-18 09:15:58 +00:00
John Cupitt
6e2135d8b5
mask builders take prec, not integer
...
vips_gaussmat() and vips_logmat() used to default to float, but
vips_conv() defaulted to int ... so this failed:
vips gaussmat m.v 2 0.1 --separable
vips convsep k2.jpg x.jpg m.v
since we were using a small float mask with an integer convolution
This change makes everything int by default, with gaussmat having a new
param called --precision whose arg can be int or float.
The old @integer param is deprecated.
2014-12-16 20:48:11 +00:00
John Cupitt
c3102b15bb
add python3 support
2014-12-10 17:02:51 +00:00
John Cupitt
76653e9e78
add notes to logs for @density
2014-12-04 21:47:46 +00:00
John Cupitt
f8cca8e59d
load and save XMP metadata in tiff
...
see https://github.com/jcupitt/libvips/issues/198
2014-12-03 09:03:09 +00:00
John Cupitt
ffe90ef38a
add .szi as a synonym for .zip
...
in dzsave
2014-11-26 14:26:57 +00:00
John Cupitt
4c3461967b
duuh fix up misplaced patch
2014-11-25 12:05:04 +00:00
John Cupitt
6bfe9b45b7
Merge branch '7.40'
2014-11-25 12:04:24 +00:00
John Cupitt
f66afb78da
fix profile handling in XYZ2scRGB
...
see
https://github.com/lovell/sharp/issues/125
2014-11-25 12:01:13 +00:00
John Cupitt
4b51a9d61f
don't strip profiles in XYZ2scRGB
...
see
https://github.com/lovell/sharp/issues/125
2014-11-25 11:43:48 +00:00
John Cupitt
384a5e05dc
change parameters of vips_gaussblur()
...
sorry :-(
The old param (passing sigma*2 as an int) were just too confusing
coming from other packages. This new behaviour matches ImageMagick, and
almost everyone else in the world.
A new optional param lets you set the minimum amplitude as well.
2014-11-19 12:27:26 +00:00
John Cupitt
f16e252b3e
Merge branch '7.40'
2014-11-11 20:43:19 +00:00
John Cupitt
8a44d6f7b3
fix memleak in sharpen
...
see https://github.com/jcupitt/libvips/issues/194
2014-11-11 20:42:26 +00:00
John Cupitt
cce90b4fba
add pbm save
...
previously vips could load but not save pbm (one bit) images
fix a few bugs in float load and save as well, and improve one-bit load
2014-11-08 17:40:43 +00:00
John Cupitt
cfcd819246
better default resolution for png load
...
see
https://github.com/lovell/sharp/issues/96
2014-11-04 09:38:21 +00:00
John Cupitt
63469b1c9d
merge new C++ API
2014-11-03 09:07:28 +00:00
John Cupitt
c56e23e3c2
Merge remote-tracking branch 'origin/7.40'
...
Conflicts:
ChangeLog
configure.ac
2014-10-27 13:47:17 +00:00
John Cupitt
965936307b
better bigtiff detection
...
update Changelog and bump version
2014-10-27 13:45:45 +00:00
John Cupitt
620bff2d78
allow symbolic names for flags
...
you can now use numbers or names for GFlags values, eg.:
$ vips copy 50020484-00001.png x.png[filter=avg]
$ vips copy 50020484-00001.png x.png[filter=64]
was numbers only before
2014-10-27 11:40:43 +00:00
John Cupitt
ad86f45cd9
add autorot as an operator as well
2014-10-19 10:35:10 +01:00
John Cupitt
0a51536162
seems to work
2014-10-17 13:17:44 +01:00
John Cupitt
3d4eecf921
add vips8 plugin support
2014-10-09 12:50:16 +01:00
John Cupitt
5683c3095c
Merge remote-tracking branch 'origin/master' into update-cimg
2014-10-08 17:51:40 +01:00
John Cupitt
927b2d7954
remove cimg and gmic
...
move this to a plugin, it's too big for the core library
2014-10-08 17:51:07 +01:00
John Cupitt
bf65a024b6
Merge remote-tracking branch 'origin/7.40'
...
Conflicts:
ChangeLog
2014-10-08 13:12:44 +01:00
John Cupitt
9069b2f9ad
improve interpretation of maplut output
...
a mono image though a colour lut needs to take the lut's interpretation
2014-10-08 12:31:36 +01:00
John Cupitt
5225d70438
Merge branch '7.40'
...
Conflicts:
ChangeLog
configure.ac
libvips/colour/Lab2LabQ.c
libvips/colour/Lab2LabS.c
libvips/colour/LabS2Lab.c
libvips/colour/LabS2LabQ.c
libvips/colour/float2rad.c
libvips/colour/sRGB2scRGB.c
libvips/colour/scRGB2sRGB.c
2014-10-08 12:01:25 +01:00
John Cupitt
aa45c81464
fix extra band handling in colour
...
backport of new colour.c from 7.41
2014-10-08 11:55:24 +01:00
John Cupitt
ca2ae681cd
add --with-gmic configure option
2014-10-07 14:54:53 +01:00
John Cupitt
3788c85e54
gmic uses an imagevec for input images
2014-10-06 21:52:27 +01:00
John Cupitt
d85c5ef3fd
Merge branch '7.40'
2014-09-30 12:14:11 +01:00
John Cupitt
cad052544c
try to make vips_thread_shutdown() optional
...
see
https://github.com/jcupitt/ruby-vips/issues/55
it's still better to call vips_thread_shutdown(), but not calling it
should no longer leak memory
2014-09-30 11:28:24 +01: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
21ae8321f2
Merge branch '7.40'
...
Conflicts:
ChangeLog
configure.ac
2014-09-29 12:37:19 +01:00
John Cupitt
b1827128ea
icc checks input profile compat
...
check the input profile colourspaces matches the image ... for example,
if a CMYK image has an embedded RGB profile, fall back to the specified
external profile
see:
https://github.com/jcupitt/libvips/issues/183
2014-09-29 11:04:53 +01:00
John Cupitt
f467924156
move ImageProperties.xml
...
it's now in x/, not x/x/, same as the official tool
2014-09-25 11:16:14 +01:00
John Cupitt
fd9300750d
test extra band handling in dE
2014-09-24 14:52:24 +01:00
John Cupitt
f18fd4b089
Merge branch '7.40'
2014-09-19 11:49:30 +01:00
John Cupitt
862d7f03ea
tiny cache clean-up
2014-09-19 11:38:16 +01:00
John Cupitt
36d1312a32
Merge branch '7.40'
2014-09-18 09:41:24 +01:00
John Cupitt
14a8c5ad47
add @profile option to pngsave
...
tiff and jpeg save both have a @profile option, this patch adds one to png as
well, see
https://github.com/jcupitt/libvips/issues/180
2014-09-18 09:38:12 +01:00
John Cupitt
ef847de996
done arithmetic testsuite
...
all passes, woo
2014-09-17 12:03:06 +01:00
John Cupitt
de594151a5
rename NOTEQUAL as NOTEQ
...
since <= is LESSEQ
python has some relational overloads now
2014-09-16 17:25:20 +01:00
John Cupitt
c4a3e9a1a0
add VIPS_ARGUMENT_MODIFY
...
a flag for arguments meaning the operator will modify an input
the python binding uses this to take a copy of the arg before calling
2014-09-15 14:47:34 +01:00
John Cupitt
ca0437d002
Merge branch '7.40'
2014-09-12 12:03:47 +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
62a98dbdf7
Merge branch '7.40'
2014-09-11 19:29:09 +01:00
John Cupitt
b21c47b1c5
add @background arg to save
...
used to flatten A out of images, if necessary
vipsthumbnail rtd-img.png -o x.jpg[background=255]
2014-09-11 09:18:38 +01:00
John Cupitt
01bd7cad04
support GRAY as an input and output ICC space
...
see
https://github.com/jcupitt/libvips/issues/176
2014-09-10 09:37:13 +01:00
John Cupitt
2ec0a8b87e
Merge branch '7.40'
...
Conflicts:
ChangeLog
configure.ac
2014-09-09 16:58:28 +01:00
John Cupitt
158237254d
fix jfif resunit read
...
see https://github.com/jcupitt/libvips/issues/170
the previous fix just did exif resolution "none", we need jfif "none" as
well
2014-09-09 16:46:16 +01:00
John Cupitt
cb9360dac9
Merge branch '7.40'
2014-09-09 12:19:09 +01:00
John Cupitt
6269c852cc
support exif res unit "none"
...
well why would you want that, but it seems some images use it
2014-09-09 12:18:21 +01:00
John Cupitt
891e6db8f0
Merge branch '7.40'
2014-09-09 11:21:28 +01:00
John Cupitt
d085351f0f
fix mono <-> rgb converter extra band handling
...
see
https://github.com/jcupitt/libvips/issues/172
thanks James
2014-09-09 10:07:35 +01:00
John Cupitt
b746984318
Merge branch '7.40'
...
Conflicts:
ChangeLog
configure.ac
2014-09-08 19:49:09 +01:00
John Cupitt
a8becfc9d4
bump version to 7.40.8
2014-09-08 19:47:01 +01:00
John Cupitt
5ab3009ce2
add thread_shutdown() to python
...
see https://github.com/jcupitt/libvips/issues/170
2014-09-07 10:21:01 +01:00
John Cupitt
e9ce212b62
make out of order read a fatal error
...
For png and jpg, out of order must always be a fatal error, since you
can't read from a specific y position.
This was a g_assert() before which meant that this test was missing from
production builds. It's now always a fatal error.
2014-09-02 09:37:08 +01:00
John Cupitt
a370e5003e
vips array types are more binding-friendly
...
this all works now:
```python
from gi.repository import Vips
a = Vips.ArrayDouble.new([1,2,3])
a.get()
a = Vips.ArrayInt.new([1,2,3])
a.get()
a = Vips.ArrayImage.new([c, d, e])
a.get()
```
2014-08-31 10:41:53 +01:00
John Cupitt
f8f288c1a6
vips_init() comes back
...
we need a public function for bindings
2014-08-29 13:51:03 +01:00
John Cupitt
43eddbef7a
Merge branch '7.40'
2014-08-28 17:19:58 +01:00
John Cupitt
70b35f5ec5
update ChangeLog
2014-08-28 16:44:03 +01:00
John Cupitt
180142b2b1
Merge branch '7.40'
...
Conflicts:
ChangeLog
configure.ac
2014-08-27 14:00:54 +01:00
John Cupitt
86b729150c
fix memleak in type.c
...
see
https://github.com/jcupitt/libvips/pull/164
2014-08-27 13:46:51 +01:00
John Cupitt
30aae507a3
fix memleak in tilecache
2014-08-26 17:07:44 +01:00
John Cupitt
a75ddfbd5a
fix matlab load
...
oops, width and height were swapped
2014-08-21 22:01:40 +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
5125cc535c
Merge branch '7.40'
...
Conflicts:
TODO
2014-08-19 18:04:24 +01:00
John Cupitt
03577ad832
fix dzsave date attr on Windows
...
see
https://github.com/jcupitt/libvips/issues/157
thanks John
2014-08-18 21:30:26 +01:00
John Cupitt
cb2b217434
fix 16-bit PNG save
...
see
https://github.com/jcupitt/libvips/issues/156
2014-08-18 13:54:06 +01:00
John Cupitt
2e2809a6b4
Merge remote-tracking branch 'origin/7.40'
...
Conflicts:
ChangeLog
2014-08-17 10:00:03 +01:00
John Cupitt
c646356b4f
Merge branch 'master' of github.com:jcupitt/libvips
...
Conflicts:
ChangeLog
TODO
2014-08-17 09:58:24 +01:00
John Cupitt
0b896119d4
fix similarity rotate + scale
...
thanks Topochicho
see https://github.com/jcupitt/libvips/issues/154
2014-08-13 17:44:29 +01:00
John Cupitt
fe7bd9bdcc
add vips_resize()
...
a wrapper over affine that just scales ... much faster from the
command-line, since it can set SEQ mode
2014-08-13 13:57:52 +01:00
John Cupitt
b24cbb492c
Merge remote-tracking branch 'origin/7.40'
...
Conflicts:
ChangeLog
TODO
configure.ac
libvips/foreign/vipspng.c
2014-08-12 13:41:52 +01:00
John Cupitt
2f72a9925f
more docs work
2014-08-12 13:37:16 +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
385b2ea5fa
do argb -> rgba for openslide read associated
2014-08-09 22:21:10 +01:00
John Cupitt
296eb8b54e
fix pngload with libpng >=1.6.11
...
thaks Lovell
2014-08-09 17:14:49 +01:00
John Cupitt
b25dcc9ebe
Merge remote-tracking branch 'origin/7.40'
...
Conflicts:
TODO
2014-08-09 17:03:43 +01:00
John Cupitt
12e4acceef
note pngload change
2014-08-09 17:03:00 +01:00
John Cupitt
7888526361
fix some compiler warnings
...
various false positives from gcc -O3 flow analysis
2014-08-05 19:23:56 +01:00
John Cupitt
ebeee822bc
better rounding behaviour for bicubic
...
fixed-point bicubic was not rounding to nearest, introducing some noise
in flat areas
2014-08-05 10:02:11 +01:00
John Cupitt
f1df91eebb
vipsthumbnail defaults to bicubic + noshapen
...
if bicubic is available
2014-08-04 09:55:18 +01:00
John Cupitt
004c98f296
pngsave interlaced makes a copy of the image
...
interlaced png is hard to write: you have to make seven passes over the
image to make the whole file. It advertises itself as sequential, it
needs to only ake a single pass. Therefore, it must take a copy in
memory of the image to write.
2014-08-03 09:34:46 +01:00
John Cupitt
ecd771cde7
Merge branch 'affine-bug'
...
Conflicts:
libvips/resample/transform.c
2014-08-01 16:35:59 +01:00
John Cupitt
274e6c1b2b
revise affine, yet again
...
how can this be so hard
the tougher self-tests in nip2/test/extras now all pass
2014-08-01 16:34:09 +01:00
John Cupitt
9ddca0e99e
change @whole_slide to @autocrop
...
on seconds thoughts, make openslide crop-on-load an option, not the
default
also, clip image bounds against image size
2014-07-31 09:04:32 +01:00
John Cupitt
639c22bf53
add "whole_slide" toggle
...
openslideload now crops to image bounds (if set) ... use @whole_slide to
stop this autocrop
2014-07-30 12:27:19 +01:00
John Cupitt
0bb8a218bb
exit() in fewer cases
...
we now only exit() when we know the stack has been trashed, just warn in
other cases
2014-07-29 15:23:27 +01:00
John Cupitt
32a8fe117e
start working on --disable-deprecated
...
need to move im_conv() etc to classes to finish this
2014-07-25 18:06:52 +01:00
John Cupitt
0114afa5fb
limit nthr on tiny images
...
we always made N threads for a threadpool ... we could end up making
loads of threads we never used if the image was tiny
for very small images, limit the number of threads we make
2014-07-25 14:51:29 +01:00
John Cupitt
a338a48c63
fix a race in im_maxpos_avg()
2014-07-25 13:52:36 +01:00
John Cupitt
0ced5cb24b
add webp support to vips7
...
see https://github.com/jcupitt/libvips/issues/144
2014-07-17 09:09:39 +01:00
John Cupitt
a0a6868d90
better error detection in vips_system()
2014-07-17 03:31:58 +01:00
John Cupitt
cdecee2705
more vips7 compat fixes
...
thanks steve
2014-07-16 09:40:26 +01:00
John Cupitt
df289f1bea
better im_openout() compat
2014-07-15 22:00:45 +01:00
John Cupitt
388f25fc0c
vips_scale() needs round to nearest
...
or we can get rounding errors in some cases
2014-07-14 14:36:35 +01:00
John Cupitt
a9fdde9ddb
fix im_point()
...
oops ... helps ruby-vips self test
2014-07-12 15:29:02 +01:00
John Cupitt
c2ae9f30c6
fix vips_rawsave_fd()
...
see https://github.com/jcupitt/libvips/issues/143
thanks aferrero2707
2014-07-04 13:58:47 +01:00
John Cupitt
70eacc4543
Merge branch 'dzsave-metadata'
...
Conflicts:
ChangeLog
2014-07-03 09:42:13 +01:00
John Cupitt
f562dfdd5b
oops
2014-07-03 09:13:01 +01:00
John Cupitt
50c98c39d1
cache the image before write for fits
...
write must be strictly top-to-bottom for :seq to work
2014-07-02 12:45:19 +01:00
John Cupitt
93d8433270
fix use of header
2014-07-01 14:51:16 +01:00
John Cupitt
fc14733b2b
Merge branch 'dzsave-metadata' of github.com:jcupitt/libvips into dzsave-metadata
...
Conflicts:
ChangeLog
configure.ac
2014-07-01 08:47:50 +01:00
John Cupitt
c5fbe6daa6
more tweaks to dzsave props
...
add docs too
2014-06-30 12:58:57 +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
c2a8c542b6
we assumed GType fitted in an int
...
which isn't true on freebsd, and perhaps others
2014-06-29 11:17:23 +01:00
John Cupitt
04d130828f
add --enable-docs configure option
...
so you can now stop all docs installing, freebsd likes this
2014-06-27 14:56:11 +01:00
John Cupitt
a13ec2aef8
improve short option name handling
...
we were setting short option names for deprecated options causing
confusion, see:
https://github.com/jcupitt/libvips/issues/110
thanks bgilbert
2014-06-27 14:33:40 +01:00
John Cupitt
40e3466482
fix a bash-ism in configure.ac
...
helps freebsd
2014-06-26 17:18:24 +01:00
John Cupitt
a02deb3ac9
stop dzsave zip write at 4gb
...
see https://github.com/jcupitt/libvips/issues/138
not great, but better than producing a corrupt file
2014-06-25 14:34:13 +01:00
John Cupitt
d1e082889f
fix guess prefix
...
oop, basename / dirname swapped
2014-06-24 17:51:29 +01:00
John Cupitt
9ad0942062
update man pages
...
oops, forgot to update man pages for header -> vipsheader rename
2014-06-24 14:19:57 +01:00
John Cupitt
da77b68d3e
bump version to 7.40
...
and rename header and edvips as vipsheader and vipsedit
remove mergeup and find_mosaic
2014-06-23 20:22:50 +01:00
John Cupitt
84d65c1727
Merge branch '7.38'
...
Conflicts:
libvips/resample/affine.c
2014-06-18 13:48:08 +01:00
John Cupitt
d01beb5411
fix coordinate error in affine
...
see https://github.com/jcupitt/libvips/issues/131
2014-06-17 14:22:55 +01:00
John Cupitt
eed4bfc731
Merge remote-tracking branch 'origin/single-thread-first-tile'
...
Conflicts:
ChangeLog
TODO
2014-06-13 11:46:11 +01:00
John Cupitt
d7bad8fd5b
cache drops operations on invalidate
...
we can now enable the vips8 operation cache in nip2, woo!
2014-06-12 13:40:00 +01:00
John Cupitt
a8d04a7dd1
add op invalidate stuff
...
still need to test and link to cache
2014-06-12 09:22:28 +01:00
John Cupitt
cbc60722fc
skipahead is back
...
thanks to a new threadpool idea, see
https://github.com/jcupitt/libvips/issues/117
2014-06-10 17:44:31 +01:00
John Cupitt
35533a54cf
finish reviding the fixed-up image load/save API
2014-06-08 11:16:58 +01:00
John Cupitt
e7743ddc3c
finish mosaicing rewrite
2014-05-29 09:35:17 +01:00
John Cupitt
170efb1452
redo im_*merge1() as classes
2014-05-28 18:15:20 +01:00
John Cupitt
adfda3cf14
redo im_*mosaic1() as classes
2014-05-28 15:15:06 +01:00
John Cupitt
b8886fc209
wrap im_remosaic() as a class
2014-05-27 15:18:19 +01:00
John Cupitt
781a7d4dc9
wrap im_global_balance*() as a class
2014-05-26 15:02:15 +01:00
John Cupitt
4f3b37ad04
wrap im_match*() as a class
2014-05-23 13:46:38 +01:00
John Cupitt
ab12cd1c3d
wrap im_*mosaic() as classes
2014-05-22 18:14:40 +01:00
John Cupitt
98012d7613
im_*merge() class wrapper works
2014-05-22 16:32:09 +01:00
John Cupitt
4993ff15d6
add Travis CI config
...
thanks Lovell
2014-05-19 12:54:04 +01:00
John Cupitt
dc22d9c4c8
add hough_circle() to vipsCC and python
...
now exposed to Python and C++
2014-05-17 22:00:36 +01:00
John Cupitt
22d525d54f
export a better cache operator for nip2
2014-05-10 14:00:01 +01:00
John Cupitt
f6de1e7cb9
make libgsf-1 an optional dependency
...
dzsave vanishes if you don't have it, but you can still build vips
2014-05-09 13:13:18 +01:00
John Cupitt
1384f9d4e0
Merge branch 'master' into dzsave-gsf
...
Conflicts:
ChangeLog
2014-05-04 17:32:42 +01:00
John Cupitt
c81a12ee00
vips_system() now uses g_spawn_command_line_sync()
...
helps stop stray command windows appearing on Windows, better error msg
too
2014-05-03 18:04:25 +01:00
John Cupitt
b1b3c6e9de
support 1/2/4 bit palette tiff images with alpha
2014-04-30 14:39:50 +01:00
John Cupitt
3dc708d2b6
add @container option to dzsave
2014-04-25 10:26:23 +01:00
John Cupitt
6ab49a9af3
Merge remote-tracking branch 'origin/master' into dzsave-gsf
...
Conflicts:
ChangeLog
2014-04-24 18:35:33 +01:00
John Cupitt
c03d9440cb
added vips_object_set_from_string()
2014-04-23 12:57:49 +01:00
John Cupitt
61891865bf
add vips_foreign_save_buffer()
2014-04-22 19:42:13 +01:00
John Cupitt
d0f50febbb
added vips_foreign_load_buffer()
2014-04-22 16:27:43 +01:00
John Cupitt
3f11403346
add .vips as an alternative vips suffix
...
helps imagemagick, see
http://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=25445&p=110491#p110491
2014-04-22 13:22:58 +01:00
John Cupitt
070c9bd5a7
add load from buffer
2014-04-22 10:43:13 +01:00
John Cupitt
325f3b9451
dzsave will write a zip file
...
but see the TODO in dzsave.c
- no way to pick a tile format, always jpeg
- no way to pick a container format, always zip
- needs testing
- examine memuse, how well do we work for large zips
- can we make a zip over 4gb?
2014-04-19 15:15:25 +01:00
John Cupitt
6d2c4c4d60
8 and 16-bit paletter TIFFs can have alpha
...
plus 16-bit palette TIFFs now become 16-bit images
2014-04-14 12:16:15 +01:00
John Cupitt
3b977586f9
Merge remote-tracking branch 'origin/7.38'
2014-04-09 15:34:09 +01:00
John Cupitt
a17ef9b7c8
vips_system() allows many input images
...
you can change the image argument order too, with %Ns
added postbuild signal
2014-04-09 11:42:03 +01:00
John Cupitt
bfbc132879
updated German translation
...
thanks Chris
see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743613
https://github.com/jcupitt/libvips/issues/116
2014-04-04 21:51:26 +01:00
John Cupitt
052a73eb8e
Merge remote-tracking branch 'origin/master' into hough
...
Conflicts:
ChangeLog
2014-04-01 12:50:08 +01:00
John Cupitt
ee53b01886
vips_hough_circle() added
2014-04-01 12:27:15 +01:00
John Cupitt
252897dc83
Merge remote-tracking branch 'origin/7.38'
2014-03-30 15:28:40 +01:00
John Cupitt
10354be6c3
ooops, sorry Andrea
2014-03-30 15:26:36 +01:00
John Cupitt
bc79cb4f62
crash-causing typo in vips_rawsave()
...
thanks Alessandro
2014-03-30 15:23:55 +01:00
John Cupitt
9b13188fc1
add "mode" to vips_draw_image()
2014-03-28 13:55:56 +00:00
John Cupitt
5f0f188659
drop the default max operations
...
the cache defaulted to 10,000 operations, fine for nip2, not fine for
batch-style applications
thanks Rafael
2014-03-28 09:48:27 +00:00
John Cupitt
7752eb89e0
add vips_draw_add()
...
and start vips_hough_circle()
2014-03-26 20:33:31 +00:00
John Cupitt
9a1fa499f5
split hough to a base class and a line detector
2014-03-24 16:56:54 +00:00
John Cupitt
755f9ed1cb
comment improvements
2014-03-23 11:29:39 +00:00
John Cupitt
ffd61773c4
changelog update too
2014-03-18 21:20:57 +00:00
John Cupitt
4c31c77d80
add vips_sum()
...
sum an array of images
2014-03-18 19:39:47 +00: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
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
ffed43dffe
add basic auto-rotate support to vipsthumbnail
2014-03-06 19:39:18 +00:00
John Cupitt
7ed644789c
Merge branch 'master' of github.com:jcupitt/libvips
2014-03-06 16:04:05 +00:00
John Cupitt
28b6602683
Merge remote-tracking branch 'origin/7.38'
...
Conflicts:
ChangeLog
configure.ac
2014-03-06 16:03:33 +00:00
John Cupitt
62307d18ef
fix to vips_grey() --uchar
2014-03-06 13:56:12 +00:00