John Cupitt
aeff03b951
Merge branch '8.5'
2017-05-29 10:21:02 +01:00
John Cupitt
7bcf0bb93f
don't cache thumbnail
...
thanks tomasc! see
jcupitt/ruby-vips#109
2017-05-29 10:19:21 +01:00
John Cupitt
354921df83
Merge branch '8.5'
2017-05-28 06:34:11 +01:00
John Cupitt
6a189d068b
mark vipsprofile as python2
...
Some distros have python3 as the default, so make vipsprofile explicitly
python2, thanks ioquatix.
See https://github.com/jcupitt/libvips/issues/667
2017-05-28 06:33:58 +01:00
John Cupitt
027b9ccc9c
Merge branch '8.5'
2017-05-26 09:09:33 +01:00
John Cupitt
7b64246af2
fix a couple of issues with huge profiles
...
The base64 encode limit was 1MB, but some huge profiles can get over
that, so it's now 10MB.
transform_save_string_blob() was incorrectly setting a refstring not a
blob as an error fallback, potentially leaving a dangling pointer.
Thanks Jaume!
See https://github.com/jcupitt/libvips/issues/666
2017-05-26 09:04:15 +01:00
John Cupitt
5216d75b83
Merge branch '8.5'
2017-05-19 16:16:16 +01:00
John Cupitt
5df65ec6fd
fix tiff read with page > 0
...
could break edge tiles under some circumstances
2017-05-19 16:07:36 +01:00
John Cupitt
8c8b71d935
Merge branch '8.5'
2017-05-15 11:35:47 +01:00
John Cupitt
2b0ebb0de2
fix test suite thresholds
...
changes in jpg encode/decode mean we must adjust test suite thresholds
2017-05-15 11:21:13 +01:00
John Cupitt
6dbdc173a2
better prefix guessing on Windows
...
see https://github.com/tumagonx/pygi-mingw-patches/issues/5
2017-05-13 11:11:32 +01:00
John Cupitt
82994e4c33
add vips_thumbnail_image()
...
thumbnail with an image source, see
https://github.com/jcupitt/libvips/issues/656
2017-05-12 18:20:37 +01:00
John Cupitt
5c6979cdcb
Merge branch '8.5'
2017-05-12 17:25:01 +01:00
John Cupitt
942b0446a3
revise fail handling, again
...
clarify policy on file read errors and warnings:
* if the file format library reports a warning, we log it in vips, but
that's all
* if the file format library reports an error, we log it, but try to
continue
* if the file format library reports an error and fail is set, we log it
and fail
all loaders now implement this
2017-05-12 17:22:49 +01:00
John Cupitt
a10787baa3
Merge branch 'add-force-size'
2017-05-10 17:08:32 +01:00
John Cupitt
3019e5966b
vips_conv*() default to float
...
we had INT as the default, but this will cause serious precision loss
with many masks ... instead, have float (always correct) as the default
and let people turn on int if they cn
2017-05-08 13:28:23 +01:00
John Cupitt
260180197d
done! but needs some tests
2017-05-04 14:54:49 +01:00
John Cupitt
2b75a372d1
more truncated png improvements
2017-05-03 10:32:24 +01:00
John Cupitt
39ea6ce492
all done
2017-04-29 10:07:41 +01:00
John Cupitt
04353f8915
added new_from_image() to python
...
and tests
2017-04-28 18:27:15 +01:00
John Cupitt
7882602dfe
C/C++ done
...
python next
2017-04-26 14:52:28 +01:00
John Cupitt
b0f8246c90
Merge branch '8.5'
2017-04-26 10:31:33 +01:00
John Cupitt
cc38097560
better handling of truncated PNG files
...
improve fail support, and bail out sooner
see https://github.com/jcupitt/libvips/issues/646
2017-04-26 10:25:52 +01:00
John Cupitt
4c8d83ce85
Merge branch '8.5'
2017-04-23 18:54:40 +01:00
John Cupitt
8bf0a05948
doc polishing
2017-04-23 18:52:05 +01:00
John Cupitt
757065baab
Merge branch '8.5'
2017-04-23 09:58:11 +01:00
John Cupitt
a067dc4140
oop credit fix
2017-04-23 09:57:55 +01:00
John Cupitt
d8fce50284
Merge branch '8.5'
2017-04-23 09:57:02 +01:00
John Cupitt
7938903d22
don't size caches by image width
...
we were sizing buffers partly by image width, which could cause caches
to be too small if width changed down a pipeline
see https://github.com/jcupitt/libvips/issues/639
2017-04-23 08:31:16 +01:00
John Cupitt
4f3364a2b0
skip non-image HDUs at start of fits
...
some fits images have header units (HDUs) at the start with extra
metadata in ... skip over these
see https://github.com/jcupitt/libvips/issues/640
2017-04-15 13:27:45 +01:00
John Cupitt
4094070ecb
version bumo for new cycle
2017-04-15 13:26:29 +01:00
John Cupitt
e01a90f7cf
revise cache sizing
...
we had output buffers too large, input caches too small
see https://github.com/jcupitt/libvips/issues/639
2017-04-13 16:24:51 +01:00
John Cupitt
38b65478e5
bump version, doc tweaks
...
more sotons removed
2017-04-07 15:59:37 +01:00
John Cupitt
a5b04091ee
Merge branch 'add-markdown-docs' into 8.5
2017-04-06 11:51:36 +01:00
John Cupitt
c2cb4c38fe
missing ptoto for vips_tiffsave_buffer()
...
oop, thanks greut
see https://github.com/jcupitt/libvips/issues/632
2017-04-04 10:17:05 +01:00
John Cupitt
30829ef003
add howitworks.md
2017-03-31 10:57:04 +01:00
John Cupitt
d5a706e47e
better behaviour for truncated PNG files
...
truncated PNG files failed with an error, even if --fail was not set ...
instead, just warn, and only error out if fail is on
see https://github.com/jcupitt/libvips/issues/629
2017-03-30 17:13:25 +01:00
John Cupitt
cd2c1324c5
version bump for release
...
and for the one tiny change
2017-03-25 13:57:33 +00:00
John Cupitt
0a5375b6cd
Merge branch 'master' into remove-seq-stalling
2017-03-15 12:26:44 +00:00
John Cupitt
fd6006bacb
Merge branch 'master' into add-smartcrop
2017-03-13 20:41:22 +00:00
John Cupitt
51f96ce9af
argh revert the arg order change
...
we need to patch bindings instead
2017-03-13 08:24:06 +00:00
John Cupitt
d7da3c7de7
fix vips_resize() bug
...
if hscale and vscale were very different, resize could fail with "reduce
factor too large" ... just a silly typo
2017-03-10 10:22:40 +00:00
John Cupitt
9eab57c31d
Merge branch 'master' into add-smartcrop
2017-03-08 17:17:16 +00:00
John Cupitt
9e6832b34d
add --smartcrop to vipsthumbnail
...
does the obvious thing
2017-03-08 14:31:00 +00:00
John Cupitt
507212e3d8
Merge branch 'master' into remove-seq-stalling
2017-03-08 09:30:48 +00:00
John Cupitt
55dcaa4ae4
add vips_rot90() etc. convenience funcs
...
90/180/270 rotate as convenience functions
2017-03-07 17:36:49 +00:00
John Cupitt
205fb817e8
change three C API funcs to match Python/C++/CLI
...
vips_math2_const(), vips_boolean_const() and vips_relational_const() had
the const and oper args reversed from the Python/CLI/C++ API
add something to check for arg priority conflicts and resolve the
conflicts it found
2017-03-07 14:28:31 +00:00
John Cupitt
162e224186
notes
2017-03-05 22:24:52 +00:00
John Cupitt
d40773515c
add smartcrop
2017-03-01 15:41:26 +00:00
John Cupitt
47a4a78a33
Merge branch 'try-expat'
2017-02-28 17:19:21 +00:00
John Cupitt
1912a30bec
Revert "note new seq thing"
...
This reverts commit 156f729d75
.
2017-02-27 10:23:19 +00:00
John Cupitt
e1b9c789cb
add dbuf object
...
dynamically expanding buffer
also, escape "<>& appropriately when we write xml
2017-02-26 17:37:46 +00:00
John Cupitt
e87654fcd9
use printf for xml write
2017-02-25 17:28:48 +00:00
John Cupitt
134ce0560c
use expat for xml read
...
we were using libxml for xml load, use expat instead, we get it for free
with glib
2017-02-25 13:07:43 +00:00
John Cupitt
156f729d75
note new seq thing
2017-02-23 20:05:11 +00:00
John Cupitt
4bbd56fb0a
handle transparency in vips_region_shrink()
...
we weren't multiplying through alpha in vips_region_shrink(), causing
fringing on pyramids with transparent elements
thanks sickrandir!
see https://github.com/jcupitt/libvips/issues/599
2017-02-23 17:04:25 +00:00
John Cupitt
21a5d0dfe4
speeling
2017-01-29 12:24:25 +00:00
John Cupitt
2b482fc2cf
seems to work!
2017-01-27 16:43:37 +00:00
John Cupitt
7136053451
sort max/min results by y and x coordinate
...
previously the list of maxima or minima found by max/min were in found
order, so essentially random
they now sort equal values by y then x coordinate, so the results are
consistent between runs, provided there are fewer maxima / minima than
are being tracked
2017-01-24 14:25:15 +00:00
John Cupitt
c9ce8f70a1
fix an off-by-one error in hist_local
...
an odd window width caused an off-by-one error in histogram construction
2017-01-24 10:51:12 +00:00
John Cupitt
36761bcfd7
make vips_gaussnoise() pixels reproducible
...
previously, pixel values were regenerated on every calculation, so they
changed on recomputation
pixel values are now generated from the pixel (x, y) coordinate plus a per-call
seed
thanks MvGulik, see
https://github.com/jcupitt/nip2/issues/60
https://github.com/jcupitt/libvips/issues/583
2017-01-24 09:36:25 +00:00
John Cupitt
9660036216
credit hunter-87
...
see https://github.com/jcupitt/libvips/issues/268
2017-01-22 10:09:40 +00:00
John Cupitt
fa3c92c19b
add CLAHE
...
vips_hist_local() has a new param, max_slope, which sets the maximum
amount that the local contrast can be boosted by -- CLAHE
see https://github.com/jcupitt/libvips/issues/268
also fix a couple of small range problems
- scale by 255, not 256, to avoid an overflow
- cum hist includes the current value, so sum to <= target, not < target
2017-01-22 10:05:58 +00:00
John Cupitt
d05018155d
adjust notes for coverity changes
2017-01-20 09:16:46 +00:00
John Cupitt
79c21dfcf8
seems to be done!
2017-01-18 14:39:27 +00:00
John Cupitt
0231b512b4
fits isn't quite working still
2017-01-17 14:53:40 +00:00
John Cupitt
c464503510
Merge branch 'master' into invalidate-on-load-error
2017-01-17 13:47:14 +00:00
John Cupitt
fb88d037fc
Merge branch 'master' into add-thumbnail-geometry
2017-01-17 11:51:10 +00:00
John Cupitt
6b325145e4
use new hints and prepare everywhere
2017-01-12 14:36:44 +00:00
John Cupitt
c5e675f7db
fix --vips-cache-max etc.
...
--vips-cache-max, --vips-cache-max-memory and --vips-cache-max-files were not
working and probably hadn't been for a while
vipsthumbnail.c turns off the operation cache, it's not useful for
the same operation repeated across many files
2017-01-10 14:12:24 +00:00
John Cupitt
2fa3736722
all done, I think
2017-01-06 13:43:43 +00:00
John Cupitt
5d61bd4982
Merge branch 'master' into add-webp-metadata
2017-01-04 16:13:39 +00:00
John Cupitt
c4640b61c7
Merge branch 'glib-logging'
2017-01-04 14:58:11 +00:00
John Cupitt
9581e14dee
all done
2017-01-04 14:45:35 +00:00
John Cupitt
b29201595d
note fits improvements in changelog
2017-01-04 12:56:04 +00:00
John Cupitt
2be0b97dce
switch to g_warning()_/g_info()
...
we had vips_warn() and vips_info(), but they are a bit crappy ... switch
to g_warning() and g_info() instead
see https://github.com/jcupitt/libvips/issues/544
2017-01-03 15:52:27 +00:00
John Cupitt
c31f4ec2d7
add VIPS_SONAME etc.
...
helps check ABI and php-vips-ext lock the right library
2016-12-31 17:58:33 +00:00
John Cupitt
c1ca76f6a2
Merge branch '8.4'
2016-12-09 15:46:02 +00:00
John Cupitt
4f85a5d7cd
lower libgsf requirement to 1.14.26
...
1.14.16 seems to more or less work, and is the most recent version on
centos
see https://github.com/jcupitt/libvips/issues/528
2016-12-08 13:54:05 +00:00
John Cupitt
0d9bf6a81e
gifload supports n and page-height
2016-11-26 15:07:12 +00:00
John Cupitt
6e968d46f2
magick7 now supports page/n
2016-11-25 18:19:36 +00:00
John Cupitt
6e26e317e0
update magick6 loader
...
now supports page/n/page-height
2016-11-25 14:46:46 +00:00
John Cupitt
25dd60c781
add tests
...
all done, I think
2016-11-23 17:20:04 +00:00
John Cupitt
5a61374bbf
Merge branch 'master' into add-tiffload-n-pages
2016-11-22 21:38:31 +00:00
John Cupitt
64d02a7a15
strip read works
...
tile next
2016-11-17 14:50:21 +00:00
John Cupitt
e213a9ded6
remove @fail machinery from openslideload
...
since openslide load errors are fatal ... see
bb0a6643f9 (commitcomment-19838911)
2016-11-16 07:41:31 +00:00
John Cupitt
85be55fe4f
add vips_image_get_fields()
...
helps bindings (which struglle with vips_image_map()) get a list of
header fields
works from py, but not ruby, I guess gchar** isn't a supported type for
ruby-gnome
see https://github.com/jcupitt/libvips/issues/533
2016-11-12 16:37:13 +00:00
John Cupitt
bb0a6643f9
move @fail from jpegload into the base load class
...
and add fail support to csv and openslide
see https://github.com/jcupitt/libvips/issues/546
2016-11-12 15:33:35 +00:00
John Cupitt
e72d145ae9
better >4gb detection for zip dzsave
...
older libgsfs can't save zip64 and will fail silently for very large
output trees ... improve the slightly sketchy >4gb detection in dzsave
this a a version of the patch in https://github.com/jcupitt/libvips/pull/462
2016-11-11 16:24:18 +00:00
John Cupitt
4df18c2a33
Merge branch '8.4'
2016-11-11 12:31:18 +00:00
John Cupitt
96ef05a9d1
fix a crash in arg handling on Windows
...
we were not updating argc in vips.c after all calls to
g_option_context_parse_strv() on Windows, leading to a crash in some cases
see https://github.com/jcupitt/libvips/issues/553
2016-11-11 10:14:03 +00:00
John Cupitt
b56b888bf0
add webp metadata write
...
untested, but it does compile
2016-11-08 12:30:02 +00:00
John Cupitt
47222bc1f5
move exif handling out to exif.c
...
now used by webpload as well
2016-11-07 12:20:56 +00:00
John Cupitt
d4b4eb44a3
works!
2016-11-02 11:07:30 +00:00
John Cupitt
a96d851ff2
fix up vipsheader with complex field types
...
"-f name" displays a detailed form, "-a" displays a summary of each
field
fix a problem with string fields as well
2016-11-01 11:51:20 +00:00
John Cupitt
3f1f950bff
add vips_image_hasalpha()
2016-10-31 11:14:27 +00:00
John Cupitt
e715c62e27
Merge branch '8.4'
2016-10-28 16:51:43 +01:00
John Cupitt
a7edd235c4
improve compat with ancient glibs
...
and fix a tiny threading leak
2016-10-28 16:25:31 +01:00
John Cupitt
ca7b51fb9e
revise header get/set
...
rework header.c
- built-in enum fields, like "interpretation" are handled as enums, not
ints
- vips_image_get_*() functions always convert to the target type if they
can
- rename "field" to "name" in the docs
- clarify docs
2016-10-20 12:41:32 +01:00
John Cupitt
75dee18848
Merge branch '8.4'
2016-10-18 14:23:22 +01:00
John Cupitt
d785e56372
fix error detection from DGifCloseFile()
...
we were not testing the return from `DGifCloseFile()` against `GIF_ERROR`,
causing spurious error reports
see https://github.com/jcupitt/libvips/issues/541
2016-10-18 14:09:18 +01:00
John Cupitt
156b0433d5
add dzsave_buffer
...
zip only ... see https://github.com/jcupitt/libvips/issues/415
2016-10-15 19:01:34 +01:00
John Cupitt
c90b8be0b8
add tiffsave_buffer
...
add tests
also some cleanups to foreign include files
see https://github.com/jcupitt/libvips/issues/417
2016-10-15 12:29:14 +01:00
John Cupitt
ded6f17fa8
fix up new buffer.c
...
and make getpoint() use the threading system
2016-10-14 09:00:21 +01:00
John Cupitt
c5c3d48da7
version bump for new cycle
2016-10-13 11:43:46 +01:00
John Cupitt
ccfe4cb215
seems to work?
...
needs stress testing still
see https://github.com/jcupitt/libvips/issues/535
2016-10-10 15:12:12 +01:00
John Cupitt
dff0960e5f
fix error message for metadata get
...
if the type of the metadata item didn't match theh gtype you were
fetching to, the error message was wrong
2016-09-30 08:54:46 +01:00
John Cupitt
246089dc82
bump version
2016-09-27 11:23:57 +01:00
John Cupitt
d3cafb3a9f
seems to work
...
add @centre option for downsampling, see
https://github.com/jcupitt/libvips/issues/504
2016-09-10 10:31:33 +01:00
John Cupitt
591d4472a9
notes on vips-properties changes
2016-09-08 12:45:50 +01:00
John Cupitt
d54df515b8
add some tests
2016-09-08 10:41:01 +01:00
John Cupitt
7e535f6c42
seems to work
...
still needs tests for gm overlap mode
2016-09-07 10:12:04 +01:00
John Cupitt
57e1423d57
Merge branch 'master' into windows-unicode
2016-09-05 13:12:06 +01:00
John Cupitt
c522dae625
Merge branch 'master' into try-round-to-nearest
2016-09-05 13:07:40 +01:00
John Cupitt
271d8656e9
use round() rather than rint() where appropriate
...
rint() rounds to nearest even, rather than nearest ... in some cases,
like geometry transforms, we want strict nearest
2016-08-20 12:59:41 +01:00
John Cupitt
5376a93866
Merge branch '8.3'
2016-08-19 16:22:09 +01:00
John Cupitt
314042ea9d
better gif transparency handling
...
we were testing (x == 1), we should have tested (x & 0x1), thanks
diegocsandrim
see https://github.com/jcupitt/libvips/issues/502
2016-08-19 16:11:45 +01:00
John Cupitt
d89dd8d073
add unicode tiff open on windows
...
also fix make dist,
2016-08-17 10:06:40 +01:00
John Cupitt
1f403a4add
first attempt
...
seems to all work, test it a bit more
see https://github.com/jcupitt/libvips/issues/491
2016-08-15 15:45:26 +01:00
John Cupitt
5df5793457
done!
...
all tests done, all pass with magick6 and magick7
2016-08-14 18:39:40 +01:00
John Cupitt
9143bda915
Merge branch 'master' into add-magick7
2016-08-14 10:25:03 +01:00
John Cupitt
933080a265
Merge branch 'master' of github.com:jcupitt/libvips
2016-08-13 16:47:06 +01:00
John Cupitt
866cfd5ce3
rename bootstrap.sh as autogen
...
necessary for snapcraft
2016-08-05 14:52:34 +01:00
John Cupitt
40f01fdb2b
Merge branch 'master' into add-magick7
2016-08-04 14:15:46 +01:00
John Cupitt
c658332215
vips_conva() done and working
...
remove im_conva() nest, add tests
2016-08-03 18:29:50 +01:00
John Cupitt
2e8f14c6a5
Merge branch 'master' into rewrite-convf
2016-08-01 15:08:45 +01:00
John Cupitt
b0e3035590
small cleanups to svgz support
2016-08-01 14:28:35 +01:00
John Cupitt
5637971a36
support --strip for pngsave
2016-07-31 10:34:12 +01:00
John Cupitt
b5781a5760
Merge branch '8.3'
2016-07-30 10:57:40 +01:00
John Cupitt
88148318eb
fix performance regression
...
the extra check on bandfmt in sizeof() in 8.3.2 was causing some performance
problems ... move the check to file read, so we only do it once
per image, not once per pixel or scanline
thanks Lovell!
2016-07-30 10:51:54 +01:00
John Cupitt
71fb52afa0
Merge branch 'master' into add-magick7
2016-07-27 08:49:39 +01:00
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