Commit Graph

6553 Commits

Author SHA1 Message Date
Kleis Auke Wolthuizen
dfdf899c92 Ensure reducev is THINSTRIP
In line with reduceh.
2020-06-06 14:16:24 +02:00
Kleis Auke Wolthuizen
b6e4e9e74b Speed up the mask construction for uchar/ushort images
By not calling vips_vector_to_fixed_point repeatedly.
2020-06-06 14:12:37 +02:00
Kleis Auke Wolthuizen
ac358ff4b8 Fix the pixel shift within reduce (#703) 2020-06-06 14:01:34 +02:00
John Cupitt
ba0dea001d sort out premultiply rules for upsizing
vips_resize() uses vips_affine() for upsizing and vips_reduce() for
downsizing. Affine automaticaly does a vips_premultiply() for images
with an alpha channel, but reduce does not. This meant that we could
sometimes premultiply twice.

This patch adds a "premultiplied" flag for affine which turns automatic
premultiuplication off, vips_resize() uses this to block affine's auto
premul feature, and the resize docs are clarified to stress that the
operation does not do premultiplication for you.

See https://github.com/libvips/libvips/issues/1629
2020-05-19 14:31:34 +01:00
John Cupitt
44db1742fd tiny doc polish 2020-05-19 14:31:22 +01:00
John Cupitt
b4a9636e51
Merge pull request #1657 from lovell/improve-avif-detection
Improve compile-time libheif and runtime AVIF detection
2020-05-18 22:38:11 +01:00
Lovell Fuller
00dcfa40f1 Improve compile-time libheif and runtime AVIF detection 2020-05-18 19:43:43 +01:00
John Cupitt
951540f4fe revise text docs
To clarify the meaning of VipsAlign in this context.

See https://github.com/libvips/libvips/issues/1654#issuecomment-629671463
2020-05-16 17:57:31 +01:00
John Cupitt
63649629e0 fix doc error
Hopefully clearer, see https://github.com/libvips/libvips/issues/1654
2020-05-16 12:37:20 +01:00
John Cupitt
9cdbf3ee07 don't add fontfiles repeatedly in text
It seems fontconfig will let you add a file repeatedly. This patch adds a
table which is used to block repeated additions and prevents memory growth
and slowdown.

see https://github.com/libvips/libvips/issues/1655
2020-05-16 12:28:12 +01:00
John Cupitt
ffa10eb148 default JFIF res to 72dpi
We were 1ppm before. 72dpi is the EXIF default.
2020-05-13 14:34:59 +01:00
John Cupitt
5549175b5e add docs for option_string arg to thumbnail
We'd forgotten to add docs for option_string, thanks zhaohuxing.
2020-05-12 10:27:48 +01:00
John Cupitt
b9385b9d35 only warn on png save with a bad profile
Previously we failed. This is very ugly, but it seems to be the only
obvious way to fix this.

See https://github.com/libvips/libvips/issues/1578
2020-05-11 18:00:26 +01:00
John Cupitt
0c9f311f1e
Merge pull request #1647 from libvips/revise-kernel-calculation
revise kernel mask calculations
2020-05-11 13:55:24 +01:00
John Cupitt
e1835d59cd Merge remote-tracking branch 'kleis/fix-regression'
Fix regression in cast
2020-05-11 11:45:06 +01:00
John Cupitt
2265ad70a3 revise cast again
fixes saturated cast to integer
2020-05-11 11:42:12 +01:00
John Cupitt
d64385ae99 revise kernel mask calculations
We were seeing small displacements at some shrink factors because of
rounding in the mask size calcualation. This PR takes the rounding into
account when positioning the mask.

See https://github.com/libvips/libvips/pull/1592#issuecomment-626363031
2020-05-10 18:45:27 +01:00
Kleis Auke Wolthuizen
23bd5bd54c Fix regression introduced in #1619 2020-05-10 13:11:39 +02:00
John Cupitt
b9eddecca3 prevent /0 in jfif res decode 2020-05-06 20:08:36 +01:00
John Cupitt
a2cd5215f1
Merge pull request #1642 from lovell/magick7-is-a-buffer-min-len
Ensure magick7 buffer+file checks use consistent min length guard
2020-05-05 14:04:21 +01:00
Lovell Fuller
20bdc41225 Ensure magick7 buffer+file checks use consistent min length guard
Prevents a zero-length buffer from crashing GetImageMagick
2020-05-05 13:06:57 +01:00
John Cupitt
77365a8a6f better handling of JFIF res unit 0
res unit 0 sets the aspect ratio, rather than being unitless

thanks angelmixu

see https://github.com/libvips/libvips/issues/1641
2020-05-05 11:47:31 +01:00
John Cupitt
8281416ca4 fix hist_norm range
the cast change broke hist_norm
2020-05-04 17:04:37 +01:00
John Cupitt
29d9fcb0c8 update docs for --delete deprecation
see https://github.com/libvips/libvips/pull/1564
2020-05-03 16:10:59 +01:00
John Cupitt
9558563353
Merge pull request #1564 from UweOhse/master
deprecate unused option --delete
2020-05-03 16:03:32 +01:00
John Cupitt
54bfa23025 warn against thumbnail_image
see https://github.com/libvips/libvips/issues/1637#issuecomment-623094732
2020-05-03 12:31:17 +01:00
John Cupitt
a5680abbd6
Merge pull request #1619 from kleisauke/compiler-warnings
Fix two compiler warnings
2020-05-01 11:30:41 +01:00
Kleis Auke Wolthuizen
7fecd79b0a Fix two compiler warnings 2020-05-01 09:46:26 +02:00
John Cupitt
383be359e8
Merge pull request #1626 from kleisauke/remove-varargs-open
Remove use of varargs in vips_*_open
2020-04-30 14:02:37 +01:00
John Cupitt
3aef92bc51
Merge pull request #1627 from kleisauke/temp-name-atomic
Ensure vips__temp_name creates unique filenames
2020-04-30 13:53:54 +01:00
John Cupitt
2ad29ed09e better error msg in magicksave 2020-04-27 17:03:18 +01:00
Kleis Auke Wolthuizen
cdf0269871 Ensure vips__temp_name creates unique filenames
There was a possible chance that vips__temp_name could generate the
same filename twice if it is called concurrently.

This commit ensures that the serial increment is an atomic operation,
similar to #1211.
2020-04-27 15:27:33 +02:00
Kleis Auke Wolthuizen
6fc2015783 Remove use of varargs in vips_*_open
This matches the declaration of g_open and helps tools (such as ASan) when
running on non-native platforms.
2020-04-27 11:56:32 +02:00
John Cupitt
489810989e Merge branch '8.9' 2020-04-24 19:32:40 +01:00
John Cupitt
efd62acccd better iiif tile naming
We were clipping edge tiles against the size of the scaled up layer.
Instead, clip against the size of the top level image.

See https://github.com/libvips/libvips/issues/1621
2020-04-24 19:29:35 +01:00
John Cupitt
c2094fcd7c relax thresh for jpegload
some lib jpegs have slightly different rounding behaviour
2020-04-24 19:26:17 +01:00
John Cupitt
93337f8eee
Merge pull request #1617 from kleisauke/travis-updates
Upgrade Python and Clang to latest version on Travis
2020-04-22 12:12:15 +01:00
John Cupitt
5229061360 fix doc error
Thanks MathemanFlo

see https://github.com/libvips/libvips/issues/1618
2020-04-22 11:32:21 +01:00
Kleis Auke Wolthuizen
5f7502ebf7 Upgrade Python and Clang to latest version on Travis
- Python 2.7 reached the end of its life on January 1st, 2020.
- The ASAN suppression parse errors seems to be fixed within Clang 10.
- Fix macOS build by updating the base 'osx_image' to 'xcode11'.
2020-04-22 09:39:23 +02:00
John Cupitt
fada5f2a44 Merge branch '8.9' 2020-04-21 10:17:57 +01:00
John Cupitt
6f0548dc5c thumbnail could fail on HEIC in some modes
in locked UP or DOWN mode, vips_thumbnail() could incorrectly select the
thumbnail from a HEIC image even when it was not large enough to
generate the output image.

Thanks ZorinArsenij

See https://github.com/libvips/libvips/issues/1614
2020-04-21 10:15:02 +01:00
John Cupitt
681271e7b1 Merge branch '8.9' 2020-04-18 12:10:29 +01:00
John Cupitt
0897a77515 update changelog 2020-04-18 11:41:43 +01:00
John Cupitt
f24a4a273a fix regression in autorot
we were writing the wrong image to the output, thanks malomalo

see https://github.com/libvips/ruby-vips/issues/226
2020-04-18 11:40:43 +01:00
John Cupitt
1ef3594be1 autorot was not removing the orientation tag
We were writing the wrong image to the output.

See https://github.com/libvips/ruby-vips/issues/226
2020-04-16 14:04:19 +01:00
John Cupitt
9ea91810bb revise docs for _inplace
We call vips_image_inplace() automatically now, so there's no need for
clients to use this.

see https://github.com/libvips/libvips/issues/1610
2020-04-16 12:09:07 +01:00
John Cupitt
168db157bf more dbg output 2020-04-15 17:21:41 +01:00
John Cupitt
8ba31844d6 fix a race in startup
We were creating a background thread before creating the semaphore that held
the thread. This could sometimes segv under a debugger.
2020-04-15 16:53:58 +01:00
John Cupitt
86bfadd101 better handling of unaligned tiff tile reads
We were not checking for alignment correctly in multi-page tiff reads.

Thanks petoor.

See: https://github.com/libvips/pyvips/issues/172
2020-04-11 14:36:44 +01:00
John Cupitt
5f6289f217 tiny reformat of CoC 2020-04-09 12:23:48 +01:00