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
John Cupitt
d80ce4bf15
fix a problem with shrinkv tail processing
...
Tail processing in shrinkv had an implicit assumption of round-down, but of
course we round to nearest. Thanks angelmixu.
see https://github.com/libvips/libvips/issues/1396
2019-08-13 11:21:01 +01:00
John Cupitt
cdee0feb93
Merge branch '8.8'
2019-08-09 10:12:55 +01:00
John Cupitt
aafc2c7948
add changelog note for profiles.c fix
2019-08-09 10:11:45 +01:00
John Cupitt
988f9594f4
Merge branch '8.8'
2019-08-08 16:11:02 +01:00
John Cupitt
ff58c67e33
add locks for pdfium load
...
We used to lock within documents, ie. we did not allow two threads to
work on the same file.
However pdfium is not threadsafe in any way, and this is not supported,
see:
https://groups.google.com/forum/#!msg/pdfium/kyIdh_J4csg/K1LvfPiHDwAJ
This patch adds locks around pdfium calls.
see:
https://github.com/libvips/libvips/issues/1380
https://github.com/libvips/libvips/issues/1275
2019-08-08 15:54:16 +01:00
John Cupitt
7250b169d4
Merge branch '8.8'
2019-08-07 16:19:23 +01:00
John Cupitt
f36927e78d
fix build against graphicsmagick
...
- add tests for more features missing in GM
- simplify the IM/GM configure tests
- revise the test suite to pass with GM and IM
2019-08-07 16:17:27 +01:00
John Cupitt
f0d1a5d82b
note PNG comment fix
2019-08-02 10:11:16 +01:00
John Cupitt
332e97272a
Merge branch '8.8'
2019-07-29 10:07:29 +01:00
John Cupitt
5e77ab948b
fix loop with malformed ppm
...
skip_line in ppm parse was not testing for EOF, so it could get stuck
with malformed files
thanks Kyle-Kyle
see https://github.com/libvips/libvips/issues/1377
2019-07-29 10:05:55 +01:00
John Cupitt
6a75776272
Merge branch 'loader-minimise-experiment'
2019-07-28 17:23:01 +01:00
John Cupitt
0e5447e537
final cleanup
2019-07-28 17:15:54 +01:00
John Cupitt
264f41df1c
Merge branch '8.8'
2019-07-24 16:07:39 +01:00
John Cupitt
3510e7abcf
fetch HEIC metadata from the main image
...
since thumbs don't have it, see https://github.com/libvips/libvips/issues/1373
2019-07-24 16:06:49 +01:00
John Cupitt
7f3174c3e5
Merge branch 'master' into loader-minimise-experiment
2019-07-23 11:45:24 +01:00
John Cupitt
03bf5a05fa
note fuzz in ChangeLog
2019-07-21 18:02:57 +01:00
John Cupitt
2c654060f9
experiment with a different early-close strategy
...
We close loaders early in order to save file handles, and on Windows to
make sure that files can be deleted as soon as possible.
Currently loaders do this by watching the Y coordinate of requests and
freeing the fd when the final line of the file is fetched. This is messy
and does not always work, since there are cases when the final line is
not fetched.
Instead, this patch gets loaders to listen for "minimise" on their
output and close on that. This signal is emitted on all upstream images
whenever a threadpool finishes a scan of an image and is usually used to
trim caches after computation.
See https://github.com/libvips/libvips/issues/1370
2019-07-20 16:31:30 +01:00
John Cupitt
64a6a27326
Merge branch '8.8'
2019-07-19 11:59:38 +01:00
John Cupitt
8cf6a9f9ca
don't attempt to save large XMP to JPG
...
jpeg_write_marker() with some libjpeg versions will throw a fatal
error with large chunks.
To write >64kb XMP it you need to parse the whole XMP object,
pull out the most important fields, code just them into the main
XMP block, then write any remaining XMP objects into a set of
extended XMP markers.
http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/XMPSpecificationPart3.pdf
Instead, just warn and skip large XMP blocks.
see https://github.com/libvips/libvips/issues/1372
2019-07-19 11:37:36 +01:00
John Cupitt
044f8b74f6
Merge branch 'master' into add-tiff-webp-zstd
2019-07-11 13:50:47 +01:00
John Cupitt
c3e7504835
Merge branch '8.8'
2019-07-10 17:44:39 +01:00
John Cupitt
5e2d66d14b
better early shutdown behaviour in shrinkv
...
read the tail of the input to force early shutdown in seq readers
does reducev need something similar?
see https://github.com/kleisauke/net-vips/issues/12
2019-07-09 16:58:30 +01:00