John Cupitt
e48f45187b
make RGB and sRGB synonmous
...
We had a half-baked idea that RGB could mean generic RGB space and sRGB
would mean strict sRGB interpretation.
Unfortunately, this did not work well in practice. For example,
`icc_transform("srgb")` would tag the result as RGB rather than sRGB
(the converter didn't know it was writing sRGB pixels, it just saw
conversion to RGB with an ICC profile), and then later stages would do
unnecessary icc_imports, or worse, fail.
This patch makes RGB and sRGB strict synonyms. If you want to treat an
RGB image as something other than sRGB, you'll need to do it by hand
with the icc_ functions.
See
https://github.com/libvips/pyvips/issues/144
46212e92b1 (r34904985)
https://github.com/libvips/libvips/issues/1494
2019-12-22 11:40:09 +00:00
John Cupitt
acd9101037
always copy before exif_update
...
During write, we often call vips__exif_update(). This updates the exif
block from the other image metadata prior to save.
Always copy the image before calling this.
See https://github.com/lovell/sharp/issues/1986
2019-11-28 14:45:02 +00:00
John Cupitt
b003b36d7a
Merge branch '8.8'
2019-11-27 15:30:33 +00:00
John Cupitt
0bc49a485e
remove use of realpath
...
It won't work on linux systems with grsec.
2019-11-27 15:14:42 +00:00
John Cupitt
49a8f0779d
Merge branch '8.8'
2019-11-26 09:15:39 +00:00
John Cupitt
298002c530
fix build with imagemagick 6.7.8.9
...
Ships with centos7, so an important version to support.
See https://github.com/libvips/libvips/issues/1479
2019-11-25 15:44:28 +00:00
John Cupitt
486b95eb7b
Merge branch 'master' into add-stream-object
2019-11-19 17:08:03 +00:00
John Cupitt
712157cd16
better support for TIFFs with many alphas
...
The premultiplied alpha can be in any position, and it checks if there
is more than one ASSOCALPHA.
See https://github.com/libvips/libvips/issues/1471
2019-11-18 16:48:34 +00:00
John Cupitt
6b5035c160
update changelog
2019-11-15 17:30:31 +00:00
John Cupitt
c1a027c8d7
ppm load uses streams
2019-11-14 12:57:39 +00:00
John Cupitt
cb7bc24b2a
note in changelog
2019-11-12 18:05:17 +00:00
John Cupitt
55024c71ce
Merge branch 'master' into add-stream-object
2019-11-12 14:08:02 +00:00
John Cupitt
ceb2db513d
Merge branch '8.8'
2019-11-11 18:05:57 +00:00
John Cupitt
b8ea3f8442
update cpp interface for stream variable rename
2019-11-11 09:24:45 +00:00
John Cupitt
b65a9d7328
oop, missing ! on tiff save
...
resolution-unit metadata was not being checked correctly on tiff save,
thanks @kayarre
see https://github.com/libvips/pyvips/issues/133
2019-11-10 10:26:13 +00:00
John Cupitt
f499cefb0e
add iiif layout to dzsave
2019-11-09 20:40:39 +00:00
John Cupitt
edca486f19
revise buffered input
...
rad load works now
2019-11-06 16:35:19 +00:00
John Cupitt
8eeb415b09
Merge branch 'master' into add-stream-object
2019-10-28 05:10:11 +00:00
John Cupitt
8337e17428
add no_strip option to dzsave
...
it's sometimes useful to have pyramid tiles with ICC profiles
see https://github.com/libvips/libvips/issues/1451
2019-10-21 16:46:20 +01:00
John Cupitt
20cb0da247
test suite passes
...
with all jpegload coming via VipsStreamInput
2019-10-11 14:03:10 +01:00
John Cupitt
c9a7b92eeb
version bump
2019-09-17 17:16:26 +01:00
John Cupitt
efdf33f3de
add vips_error_buffer_copy()
...
Add vips_error_buffer_copy() to fix a race in error buffer fetch.
See https://github.com/libvips/libvips/issues/1423
Thanks @dineshkannaa
2019-09-12 09:49:49 +01:00
John Cupitt
7b2729adfa
fix up nifti load/save
...
- use double for all floating point scalar metadata, like other loaders
- remove use of stray "n" property
2019-09-09 16:06:22 +01:00
John Cupitt
dd9eba9e26
add @format and @interpretation to rawload
2019-09-05 16:25:55 +01:00
John Cupitt
1ee54bfa80
Merge branch '8.8'
2019-09-05 12:45:08 +01:00
John Cupitt
06fdc95038
xres/yres params in tiffsave were in cm
...
and should have been in pixels/mm
thanks f--f
see https://github.com/libvips/libvips/issues/1421
2019-09-04 17:02:24 +01:00
John Cupitt
da8cee048f
enable alpha in heifsave
...
Check for image alpha and enable it. There seem to be some
non-transparent tiles, curiously.
See https://github.com/libvips/libvips/issues/1411
2019-09-01 16:58:50 +01:00
John Cupitt
75b45cc2ef
enable alpha handling in heic load
...
use RGBA decoding, when appropriate
see https://github.com/libvips/libvips/issues/1411
2019-09-01 16:37:43 +01:00
John Cupitt
4b5b982711
merge 8.8
2019-08-31 12:29:50 +01:00
John Cupitt
574be4380e
revert sharpen restoring the input colourspace
...
icc_export can make _RGB images, so the input can be outside the set of
supported colourspace transforms.
See 46212e92b1 (r34904985)
bump version too.
2019-08-31 11:29:36 +01:00
John Cupitt
5d19bcf955
Merge branch '8.8'
2019-08-30 11:03:24 +01:00
John Cupitt
6ea76f9632
improve data_length handling in jpg load
...
libjpeg uses unsigned ints for data length, so we must use size_t
everywhere.
2019-08-30 11:00:25 +01:00
John Cupitt
349e76bb85
Merge branch '8.8'
2019-08-29 15:30:20 +01:00
John Cupitt
3161de3b52
verify bands/format for coded vips images
...
WHen loading a vips image with Coding set, make sure that Bands and
BandFmt are correct.
2019-08-29 15:28:55 +01:00
John Cupitt
9a5dca1ef8
Merge branch '8.8'
2019-08-28 10:05:12 +01:00
John Cupitt
46212e92b1
fix default sharpen
...
sharpen with sigma 0.5 was doing nothing, since the new int precision
rules meant that we generated a point-point convolution.
This patch increases the int precision for sharpen, so we now work with
sigma down to 0.5.
Also: restore input colourspace. Previously, the output image was always
LabS (the computation space for sharpen). Now, it transforms back to the
input space. This is more in line with how other operators work.
Thanks 2h4dl for pointing this out.
See https://github.com/libvips/pyvips/issues/123
2019-08-28 09:16:40 +01:00
John Cupitt
2f6cc1fad9
Merge branch '8.8'
2019-08-27 14:49:42 +01:00
John Cupitt
d61a85f6c9
prevent over-pre-shrink in thumbnail
...
We could pre-shrink so much that an axis went to 0.
See https://github.com/lovell/sharp/issues/1782#issuecomment-525249430
2019-08-27 14:47:36 +01:00
John Cupitt
d2ab993931
Merge branch '8.8'
2019-08-27 13:06:27 +01:00
John Cupitt
5cce83a294
check image bounds for GIF load
...
It seems giflib does no checking of image dimensions at all, not even
height == 0.
2019-08-27 13:04:28 +01:00
John Cupitt
23d0d5603d
Merge branch '8.8'
2019-08-24 17:15:45 +01:00
John Cupitt
4691260540
better feof() handling in gif load
...
Relaxing the read error rules made looping possible .. make sure we
always stop explicitly on eof.
2019-08-24 17:14:10 +01:00
John Cupitt
77de39320a
Merge branch '8.8'
2019-08-24 11:21:48 +01:00
John Cupitt
038409093f
clip coding and interpretation on image read
...
They could be out of bounds enums. This used not to matter, but we use
them more now, so out of bounds values can cause coredumps.
2019-08-24 11:20:45 +01:00
John Cupitt
1b57c6d066
Merge branch '8.8'
2019-08-23 15:43:12 +01:00
John Cupitt
4b677fb16a
make GIF parse less strict
...
Some GIFs don't follow the standard very closely. Let them through.
See https://github.com/libvips/libvips/issues/1404
2019-08-23 15:40:48 +01:00
John Cupitt
19a80e4efb
Merge branch '8.8'
2019-08-21 17:37:16 +01:00
John Cupitt
b5e8e99746
fix a read-one-byte-beyond issue in jpeg load
...
libvips could harmlessly read beyond the end of a string with a crafted jpg
file
2019-08-21 17:17:54 +01:00
John Cupitt
ed2054dbbc
revise arithmetic with const
...
there's a problem with out of bounds values, for example:
vips relational_const k2.jpg x.v equal 1000
actually finds pixels == 255, since 1000 is saturated converted to 255
before the test starts.
This patch reworks arithmetic against const values to fix this.
2019-08-21 10:35:48 +01:00
John Cupitt
2d0c21279a
add tests
2019-08-19 16:27:44 +01:00