Commit Graph

5106 Commits

Author SHA1 Message Date
John Cupitt
178c2f399a oops, dropped a ! 2018-03-05 15:03:49 +00:00
John Cupitt
20d840e6da fix a crash with delayed load
If a delayed load failed, it could leave the pipeline only half-set up.
Sebsequent threads could then segv.

Set a load-has-failed flag and test before generate.

See https://github.com/jcupitt/libvips/issues/893
2018-03-05 14:42:09 +00:00
John Cupitt
eefb2dad98 improve rounding in convi intize
We were rounding up with ceil() when intize-ing convolution masks.
However, the vector path has a true range of (1.0, -1.0], so a mask with
1.0 as the max (for example) was actually triggering the overflow detector
and falling back to the C path.

Round up with ceil(x + 1) instead, so 1.0 (for example) will be mapped
to 0.5 and won't overflow.
2018-03-04 18:30:25 +00:00
John Cupitt
6cff74b602 vips_image_write() could crash if called twice
two writes in a row could trigger a crash in some circumstances, thanks
@dirceupj

see https://github.com/jcupitt/ruby-vips/issues/156
2018-03-04 15:14:06 +00:00
John Cupitt
e1cac22176 oop missing AC_DEFINE for libjpeg 2018-03-03 10:25:15 +00:00
John Cupitt
a9b343f29a use pkg-config to find libjpeg
fall back to FIND_JPEG if we have to, see

https://github.com/jcupitt/libvips/issues/431
2018-02-12 13:31:49 +00:00
John Cupitt
bbe42e13fa version bump 2018-02-12 12:39:53 +00:00
John Cupitt
e8958cb8ae improve changelog 2018-01-31 20:45:14 +00:00
John Cupitt
01eed391ab add sync locks to vips_sink()
vips_sink() used to just fire off threads willy nilly -- this could
cause problems with sequential images if a worker fell too far behind
the pack

copy over the area locking mechanism from vips_sink_memory(): new
threads are now stalled if an old thread has not finished
2018-01-31 16:25:06 +00:00
John Cupitt
421f659d33 allow 1 mode in composite
reused for all joins

see https://github.com/jcupitt/pyvips/issues/30
2018-01-30 10:12:03 +00:00
John Cupitt
5fd2ecf81d remove limit on n image in composite
composite was limited to a max of 64 images ... remove the limit

see https://github.com/jcupitt/pyvips/issues/30
2018-01-30 09:48:34 +00:00
John Cupitt
97a4ed2ca9 fix a c++ warning
see https://github.com/jcupitt/libvips/pull/864
2018-01-26 07:56:43 +00:00
John Cupitt
94daa18884 fix read of plane-separate, large-strip tiff
TIFFReadScanline() is too fiddly to use on plane-separate, large-strip
images ... ban it!

see https://github.com/jcupitt/libvips/issues/855
2018-01-12 17:04:47 +00:00
John Cupitt
24c07cfde2 revert an accidental ABI break
the new window manager code in 8.6.1 changed the prototype of an internal
function which was visible in the public API

this patch renames the function, adds it to an internal header instead,
and adds a stub for the old prototype

see https://github.com/jcupitt/libvips/issues/854
2018-01-12 11:56:17 +00:00
John Cupitt
1b89d62eb5 fix a race associated with sink_screen
sink_screen was not keeping a ref to its input, so in rare conditions
it could try to make a region on a dead image
2018-01-05 16:27:44 +00:00
John Cupitt
3dfd6b8643 missed another vips-8.5 reference 2018-01-03 10:39:44 +00:00
John Cupitt
68e0067840 note rgb->g improvement 2018-01-03 08:34:15 +00:00
John Cupitt
917d61e785
Merge pull request #842 from lovell/perf-scRGB2BW
Perf: ~15% improvement in conversion to greyscale
2018-01-03 08:27:40 +00:00
Lovell Fuller
768ab7fa8f Improve greyscale perf by using isinf/isnan after calc 2018-01-02 20:36:14 +00:00
John Cupitt
4c2434ab67 fix memleak in dzsave
tree elements were not being freed, thanks lovell

see https://github.com/jcupitt/libvips/issues/837
2018-01-01 11:40:04 +00:00
John Cupitt
faeb68e993 improve seq fix
simpler logic, more reliable unset
2017-12-31 13:51:29 +00:00
John Cupitt
9febc3ac3e seq could be set on small random images
images under the disc threshold opened in random access mode from
sequential loaders would have the seq tag set on them, causing
performance problems with vips_resize()

see https://github.com/jcupitt/libvips/issues/840
2017-12-31 12:56:11 +00:00
John Cupitt
83e36880da more compat for older IPCT code
add IPTC data under the name "ipct-data" as well
2017-12-31 10:38:35 +00:00
John Cupitt
77287a938f fix misspelling of IPTC as IPCT
the letters have been accidentally swapped for years

add a compat macro so older code still works
2017-12-31 10:23:27 +00:00
John Cupitt
1feaeb230e
Merge pull request #836 from ThatOdieGuy/patch-1
Fixing links for Build for Windows & OS X.
2017-12-19 09:02:11 +00:00
John Cupitt
eea8b61f3f tiny cleanup
make the code for error during jpeg buffer write a little cleaner --
rather than calling the jpeg term method ourselves, have a separate
destroy function for the write buffer
2017-12-19 08:56:51 +00:00
John Cupitt
ce2ec4cf01
Merge pull request #835 from lovell/fix-jpegsave-buffer-error-leak
Prevent ~15KB leak for JPEG buffer output error
2017-12-19 08:26:55 +00:00
Mike Odom
a410fef94c
Fixing links for Build for Windows & OS X. 2017-12-18 13:38:01 -08:00
Lovell Fuller
c8713a367c Prevent ~15KB leak for JPEG buffer output error 2017-12-18 19:34:28 +00:00
John Cupitt
424b359d33 bump wrapper script version
and add a test too

see https://github.com/jcupitt/libvips/issues/834
2017-12-17 10:50:57 +00:00
John Cupitt
19e2e2e208 add credit to changelog 2017-12-16 10:01:04 +00:00
John Cupitt
76a6d59023
Merge pull request #832 from bmwiedemann/master
Use ChangeLog date instead of build date
2017-12-16 09:58:38 +00:00
Bernhard M. Wiedemann
0f69f0808e Use ChangeLog date instead of build date
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good.

This date call works with GNU date and BSD date.
2017-12-16 07:10:09 +01:00
John Cupitt
1be4267492 make bandrank work with many input images
400+ tested and seems to work

see https://github.com/jcupitt/libvips/issues/822
2017-12-15 14:47:56 +00:00
John Cupitt
f4f9667406 remove the 64 image limit on bandary
any number of input images now

see https://github.com/jcupitt/libvips/issues/822
2017-12-15 14:21:31 +00:00
John Cupitt
94f458ed04 fix some compiler warnings 2017-12-13 15:49:12 +00:00
John Cupitt
c5a7db6eb6 tiny cleanup 2017-12-10 20:03:58 +00:00
John Cupitt
610a301d4e oop, forgot to free the windows 2017-12-10 17:54:50 +00:00
John Cupitt
3c0a2e4837 fix window cycling
we were repeatedly free-ing and new-ing input mmap windows ... this made
things like zoom out on large images in nip2 much slower than they
needed to be
2017-12-10 17:37:07 +00:00
John Cupitt
e9b7231ac0 add "extend" option to affine
so for upsizing with displacement (like resize) we can prevent dark
edges on bright images

see

https://github.com/jcupitt/php-vips/issues/61
2017-12-07 14:51:07 +00:00
John Cupitt
bc6fa2452b layout tweak 2017-12-07 08:00:19 +00:00
John Cupitt
b90f5852c9
Merge pull request #824 from lovell/debug-build
Allow compilation of debug build
2017-12-07 07:58:36 +00:00
Lovell Fuller
f0949fbfcb Allow -DDEBUG build to compile 2017-12-06 22:04:11 +00:00
John Cupitt
0ade2e972f reenable png interlace test
reenable png interlace test after the fix in

https://github.com/jcupitt/libvips/pull/821
2017-12-05 08:38:52 +00:00
John Cupitt
baab520c9c
Merge pull request #821 from lovell/png-start-read
libvips v8.6.0-beta: ensure interlaced PNG input works with libpng16
2017-12-05 08:26:29 +00:00
Lovell Fuller
8a34ba6e14 Ensure interlaced PNG input works with libpng16
Manually calling png_set_interlace_handling results in the internal
num_rows member of the opaque png_structp not being correctly set.

This appears to be a limitation of libpng so probably needs fixing
upstream before the png_set_interlace_handling call can be re-added.
2017-12-04 21:47:52 +00:00
John Cupitt
697c174bcd more doc fixes 2017-12-04 15:34:31 +00:00
John Cupitt
dcf8588b97 notes for blend mode members 2017-12-04 14:26:55 +00:00
John Cupitt
c5139a0e50 doc fixups
various small things; fix the docs for composite, reduceh and reducev
2017-12-04 13:42:31 +00:00
John Cupitt
0702a01e60 Merge branch 'master' of github.com:jcupitt/libvips 2017-12-04 12:01:08 +00:00