Commit Graph

1612 Commits

Author SHA1 Message Date
John Cupitt
60bd5f6512 add composite2 to notes 2017-12-01 13:37:15 +00:00
John Cupitt
13a693c8bc Merge branch 'master' into add-extra-dzsave-tiles 2017-12-01 13:33:54 +00:00
John Cupitt
9c8790b40a setting EXIF data blocks sets other tags too
calling vips_image_set() to set the EXIF data block VIPS_META_EXIF_NAME
will automaticaly set other tags, like orientation etc.
2017-11-27 15:15:21 +00:00
John Cupitt
10eef89a7f update c++ bindings 2017-11-26 17:45:04 +00:00
John Cupitt
406e228c9b vips_resize() is always centre convention
it was corner for downsize, but should be centre to match imagemagick
2017-11-26 15:24:40 +00:00
John Cupitt
7db13412e5 deprecate centre option to resize
it's now centre on upsize, corner on downsize

see https://github.com/jcupitt/libvips/issues/705
2017-11-25 14:22:20 +00:00
John Cupitt
5664a0d9b1 dzsave outputs extra tiles along right and bottom
the deepzoom spec wants tiles to be written along the right and bottom,
even of those tiles contain no new pixels

this patch seems to work, but needs testing

see: https://github.com/jcupitt/libvips/issues/795
2017-11-24 15:54:22 +00:00
John Cupitt
6a4b249445 add dispose handling
see https://github.com/jcupitt/php-vips/issues/59
2017-11-22 17:37:31 +00:00
John Cupitt
27621733f2 add gif-comment 2017-11-22 13:10:06 +00:00
John Cupitt
e56282e1fd add gif-loop metadata
see https://github.com/rokka-io/imagine-vips/issues/3
2017-11-21 16:04:18 +00:00
John Cupitt
a4b89aa370 credit for affine fixup 2017-11-18 15:11:02 +00:00
John Cupitt
fcec6d639b fix jaggies on the edge of affine output
and add a "background" param
2017-11-17 16:30:25 +00:00
John Cupitt
4ea743f5e6 add combine mode to find_indexed 2017-11-03 16:36:09 +00:00
John Cupitt
487c112807 add VIPS_COMBINE_MIN combining mode
for vips_compass()
2017-11-02 12:34:01 +00:00
John Cupitt
55e577a2fb rename nearest as fill_nearest
avoid a clash with the nearest-neighbour interpolator
2017-11-01 15:06:37 +00:00
John Cupitt
cdc286e9d6 switch to float distance calculations
removes dithering effects along edges
2017-11-01 13:16:36 +00:00
John Cupitt
3b75b1e2ac fix gcc7 build
removed exception specs from deprecated C++ binding
2017-10-24 09:31:23 +01:00
John Cupitt
5ec1d5b72f fix vipsthumbnail --size Nx
oh dear, width but not height size specs to vipsthumbnail were not working

thanks jrochkind

see https://github.com/jcupitt/libvips/issues/781
2017-10-23 22:27:23 +01:00
John Cupitt
dd503c03c6 add vips_value_set_blob_free()
simpler for language bindings to call
2017-10-19 16:37:43 +01:00
John Cupitt
68ed42e2fa make linear and cubic adaptive 2017-10-15 22:09:44 +01:00
John Cupitt
008fd21728 all done 2017-10-14 17:03:48 +01:00
John Cupitt
135d7a4dfb Merge branch '8.5' 2017-10-11 12:57:18 +01:00
John Cupitt
b4a6e6e309 spelling 2017-10-11 11:24:43 +01:00
John Cupitt
fd1d332892 update change notes 2017-10-11 10:12:01 +01:00
John Cupitt
40f20e5e0a Merge branch 'master' into gargsms-text-autofit 2017-10-10 13:04:31 +01:00
John Cupitt
12db3e936c Merge branch '8.5' 2017-10-09 22:35:29 +01:00
John Cupitt
6f16a9df71 fix a crash with heavy use of draw
we were leaving a few bits of the original image around after
vips_image_copy_memory(), including the progress signal ... if earlier images
were freed, perhaps by a GC in a language binding, we could get a dangling
pointer

thanks Nakilon, see https://github.com/jcupitt/ruby-vips/issues/140
2017-10-09 22:27:36 +01:00
John Cupitt
3f22424d3b test for gcc4 and ban vectors
it has severe code gen problems, it seems

this seems to ban clang as well, unfortunately
2017-10-07 11:20:21 +01:00
John Cupitt
aae5babfcc Merge branch 'master' into add-composite 2017-10-01 19:37:26 +01:00
John Cupitt
560f8ac727 add goi note to changelog
see https://github.com/jcupitt/libvips/issues/741
2017-10-01 19:35:44 +01:00
John Cupitt
4b24d82e8c some cleanups, a bit quicker
it now has separate premultiplied and not-premultiplied paths
2017-09-27 17:32:05 +01:00
John Cupitt
64be1d89b5 add gravity 2017-09-20 00:43:17 +01:00
John Cupitt
b2f66a3968 add note on svgload improvement 2017-09-17 05:20:48 +01:00
John Cupitt
e346fd639e built-in python bindings default to off
we still make a typelib by default though

use the new pyvips binding instead, "pip install pyvips"
2017-09-13 18:24:32 +01:00
John Cupitt
48680dccc4 remove python test suite
it's in pyvips now
2017-09-13 17:45:29 +01:00
John Cupitt
60f212c371 credit! 2017-09-11 11:54:01 +01:00
John Cupitt
0f4feb1b73 note file create time change 2017-09-11 11:22:20 +01:00
John Cupitt
5a37d3e809 add an intent option to thumbnail
"intent" lets you set the rendering intent for any ICC conversions --
the default is the (more correct) relative, but "perceptual" can look
better

see https://github.com/jcupitt/libvips/issues/714
2017-08-30 16:34:46 +01:00
John Cupitt
820c279697 Merge branch '8.5' 2017-08-30 14:59:16 +01:00
John Cupitt
653e99ea82 don't build enumtypes so often
we were only replacing enumtypes if it had changed, but this meant that
make usually thought it was out of date compared to the source files,
and rebuilt it, which needed perl

now we always replace it, so (hopefully) perl is no longer a
compile-time dependency
2017-08-30 14:37:48 +01:00
John Cupitt
2b70348d23 Merge branch '8.5' 2017-08-29 10:33:45 +01:00
John Cupitt
e2c83fe4bd fix jpegload fail
we were only failing on libjpeg errors, but libjpeg treats very serious
things thaht we want to be able to catch (like truncated files) as warnings
... we must therefore error out if fail is set and libjpeg issues a warning

see https://github.com/lovell/sharp/issues/793
2017-08-29 09:49:38 +01:00
John Cupitt
d12f8e200a support tiffsave_buffer pyramids
add support for tiff pyramid save to memory, thanks bubba

see https://github.com/jcupitt/libvips/issues/702
2017-08-26 16:26:37 +01:00
John Cupitt
2e513eef82 enable seq mode for join
much faster for large TIFFs

see https://github.com/jcupitt/libvips/issues/717
2017-08-25 10:53:44 +01:00
John Cupitt
97997d1990 Merge branch '8.5' 2017-08-18 22:13:51 +01:00
John Cupitt
f2576003b7 fix webp upscale in thumbnail
we could try to use webp shrink on load to upscale, oops

see https://github.com/jcupitt/libvips/issues/710
2017-08-18 22:08:43 +01:00
John Cupitt
3cf33d7f32 Merge branch '8.5' 2017-08-18 12:32:12 +01:00
John Cupitt
f2c55e80fe better dzsave with zip output to a file
close down output earlier to help mark-sweep bindings
2017-08-18 12:31:24 +01:00
John Cupitt
63550280a4 Merge branch '8.5' 2017-08-04 18:31:25 +01:00
John Cupitt
47a763209a hide warnings if VIPS_WARNING is defined
If VIPS_WARNING is defined, suppress all warning messages from vips by
installing a null log handler.

Libraries should not call g_log_set_handler(), it is supposed to be for
the application layer, but this can be awkward to set up if you are using
libvips from something like Ruby.

This env var hack is a workaround.

see https://github.com/jcupitt/ruby-vips/issues/119
see https://github.com/jcupitt/libvips/issues/544
2017-08-04 18:01:19 +01:00
John Cupitt
e46a56e137 remove lcms1 support
it had bitrotted and no longer worked properly
2017-08-02 13:39:28 +01:00
John Cupitt
302f4f2517 Merge branch '8.5' 2017-08-02 11:05:39 +01:00
John Cupitt
58f9757467 fix transparency detection in merge
a typo meant we were just testing the first band for zero, not all three

thanks Haida!
2017-08-02 10:41:10 +01:00
John Cupitt
a3b226aa9b version bump 2017-08-02 10:40:17 +01:00
John Cupitt
639b0f5021 Merge branch '8.5' 2017-07-29 10:40:44 +01:00
John Cupitt
69f70a7e24 Merge branch '8.5' into tweak-smartcrop-8.5 2017-07-28 18:04:23 +01:00
John Cupitt
1e7541bfb8 add find_trim
compiles, not yet working
2017-07-25 14:52:45 +01:00
John Cupitt
a8fb38fb6a Merge branch '8.5' 2017-07-08 16:06:18 +01:00
John Cupitt
64fe910fc5 fix DPI mixup
librsvg defaulted to 90 DPI, but libvips to 72 DPI -- add a correction
factor

thanks Fosk!

see https://github.com/jcupitt/libvips/issues/688
2017-07-08 12:31:36 +01:00
John Cupitt
9a1c3f9405 rename 'disc' as 'memory'
the old 'disc' flag to open defaulted TRUE and disabled read via disc if you
set it FALSE, which was very confusing

replace it with a flag called 'memory' which defaults FALSE and forces
read via memory if set TRUE

'disc' is still there and still works, it's just tagged as deprecated

see https://github.com/jcupitt/libvips/issues/677
2017-07-07 09:45:49 +01:00
John Cupitt
91457e455a add "page-height" save property 2017-06-19 09:31:49 +01:00
John Cupitt
5383554724 Merge branch '8.5' 2017-06-12 18:23:07 +01:00
John Cupitt
4d846534b8 transform cmyk->rgb automatically
if:

- we are writing a cmyk image
- there is an embedded profile
- the saver does not support cmyk

see https://github.com/jcupitt/libvips/issues/676
2017-06-12 18:19:20 +01:00
John Cupitt
869f3dae04 revise again
seems to work on all test images now
2017-06-09 11:50:27 +01:00
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