Commit Graph

5116 Commits

Author SHA1 Message Date
John Cupitt
5b132ccbdc note new config test in changelog 2018-05-14 17:19:06 +01:00
John Cupitt
f6bbfe3148 try to add a test for amzln
the gcc7.2 in amazonlinux 2018.03 seems to fail with signed constants in
vector templates ... add a configure test

see https://github.com/jcupitt/libvips/issues/975
2018-05-14 17:14:42 +01:00
John Cupitt
18c50c3231 typo in configure.ac 2018-04-23 15:17:53 +01:00
John Cupitt
24b146790f oop reorder crop to come after cache
or we'll write beyond the buffer end
2018-04-10 15:39:51 +01:00
John Cupitt
d1dd41a21f strict round down on jpeg shrink
libjpeg rounds up on shrink-on-load. In some cases this can leave a dark
line along the right and bottom edge, since it only contains (for
example) 1/4 of a pixel of data.

This change adds a crop after jpeg load so that only complete pixels are
output.

See https://github.com/lovell/sharp/issues/1185
2018-04-10 15:18:18 +01:00
John Cupitt
f3842dcc4b update cpp example
thanks fangqiao

see https://github.com/jcupitt/libvips/issues/932
2018-04-08 11:44:15 +01:00
John Cupitt
915226db21 oop missing a seek 2018-04-04 17:46:14 +01:00
John Cupitt
632bce3c78 reduce stack use for radsave
fixes a crash on very low stack libcs like musl
2018-04-04 16:25:35 +01:00
John Cupitt
878c77a035 better handling of some fonts
fonts with very large overlapping edges copuld clip in `text`, see
https://stackoverflow.com/a/49169747/894763
2018-03-12 18:11:25 +00:00
John Cupitt
29e05dabaf icc_import attaches the input profile if used
icc_import can take a fallback input profile in case the embedded one is
broken or missing. If we use the fallback profile, this change attaches
it to the output image.

This means that icc_import will always output an image with the icc
profile that was used to import it. This helps to make the behaviour of
`thumbnail` more consistent.

See https://github.com/jcupitt/libvips/issues/152
2018-03-08 13:11:54 +00:00
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