John Cupitt
454f448c5b
add jp2ksave
...
works, but not quite done
2021-03-19 11:49:07 +00:00
John Cupitt
c0ec1757cb
works at a basic level
...
need to add shrink-on-load etc.
2021-03-17 16:38:55 +00:00
John Cupitt
fc4ad15f97
Merge branch '8.10'
2021-03-07 12:26:24 +00:00
John Cupitt
ec16c761df
revise changelog for clarity
2021-03-06 12:56:35 +00:00
John Cupitt
2e56828053
Merge branch '8.10'
2021-03-06 11:47:02 +00:00
John Cupitt
1f18963cb4
Merge branch '8.10' into revise-premultiply
2021-03-05 11:17:40 +00:00
John Cupitt
86a6fd9d18
fix tiff deflate predictor setting
...
the enums were mixed up, thanks Adios
see https://github.com/libvips/libvips/issues/2128
2021-03-04 09:39:50 +00:00
John Cupitt
303513e52d
small comment polish
2021-02-27 16:00:33 +00:00
John Cupitt
d3ccadf212
revise unpremultiply, again
...
We were not detecting division by zero carefully enough, nor clipping
the alpha range sufficiently in unpremultiply.
see https://github.com/libvips/libvips/issues/1941
also see https://github.com/libvips/libvips/pull/1675 for another
difficult test case
2021-02-27 15:16:25 +00:00
John Cupitt
e5e2e8d1eb
Merge branch '8.10'
2021-02-22 10:06:43 +00:00
John Cupitt
ec67002493
update changelog
2021-02-22 10:06:14 +00:00
John Cupitt
8dc2db9789
add gif background colour as metadata
2021-02-20 04:52:02 +00:00
John Cupitt
d6201fc32d
note PNG background colour in metadata
...
see https://github.com/libvips/libvips/issues/2111
2021-02-19 16:51:46 +00:00
John Cupitt
4f762d6609
add vips_niftiload_source()
2021-02-12 15:29:58 +00:00
John Cupitt
498e9c2829
add fitsload_source
...
and fix some small fits loading issues
2021-02-11 16:44:53 +00:00
John Cupitt
15f4d935aa
Merge branch '8.10'
2021-02-09 16:23:46 +00:00
John Cupitt
75959ece6a
note librsvg change
2021-02-09 16:23:13 +00:00
John Cupitt
b30a90e3bc
fix includes of glib headers in C++
...
see https://github.com/libvips/libvips/issues/1987
2021-02-09 16:21:56 +00:00
John Cupitt
1f4f975e7d
make leak test exit with an error code
...
and run the libvips leak test in CI
2021-02-08 11:25:56 +00:00
John Cupitt
4605ad6993
fix another ref leak in globalbalance
2021-02-06 19:01:26 +00:00
John Cupitt
2ce79d76a0
output double histogranms for large images
...
since images with more than 2*32 pixels will overflow a uint accumulator
thanks @erdmann
see https://github.com/libvips/libvips/issues/1976
2021-02-01 15:51:31 +00:00
John Cupitt
29599e00eb
avoid NaN in mapim
...
We were not avoiding NaN in float transform images, leading to segvs in
some cases.
Thanks afontenot
see https://github.com/libvips/libvips/issues/1971
2021-01-30 15:17:25 +00:00
John Cupitt
d8ed630d77
better 8/16 bit casting for pngsave
...
pngsave was just using the image format to decide whether to save as 8
or 16 bit PNG. With this patch it checks Type as well.
This means that eg. a uint32 image tagged as sRGB will save as png8, but
a uint32 image tagged as RGB16 will save as png16.
2021-01-16 15:45:59 +00:00
John Cupitt
3cd774a10c
add fast path to rank filter for uchar images
...
around 10x faster for 20x20 windows, the same speed for 3x3
2021-01-12 20:36:13 +00:00
John Cupitt
0be1370661
Merge branch '8.10'
2021-01-05 03:57:06 +00:00
John Cupitt
e1a9397c15
better error detection in spngload
...
Do a speculative spng_get_trns() in header read to force all chunks to
be parsed.
Thanks randy408
See https://github.com/randy408/libspng/issues/145#issuecomment-744495084
2021-01-05 03:54:48 +00:00
John Cupitt
5d229e0b9e
update changelog
...
ooops, forgot
2021-01-02 17:48:26 +00:00
John Cupitt
6fb7ca73a4
Merge branch '8.10'
2021-01-01 10:13:12 +00:00
John Cupitt
42af1cec36
add vipsload_source
...
plus small openslideload_source fixes
2020-12-31 19:47:36 +00:00
John Cupitt
babbb086f9
add openslideload_source
2020-12-30 14:14:08 +00:00
John Cupitt
0982d0efbb
signal error on EOF in jpegload more reliably
...
we were only warning on EOF in the read stub, even if fail was set
thanks bozaro
see https://github.com/libvips/libvips/issues/1946
2020-12-28 22:46:33 +00:00
John Cupitt
98be88bf80
add sourceginput
...
This is a source which wraps a GInputStream. You can use this to eg.
efficiently load a PNG file from a GFile object.
2020-12-28 15:14:36 +00:00
John Cupitt
ac1417b410
Merge branch '8.10'
2020-12-26 17:07:17 +00:00
John Cupitt
b2fa1f89e8
revise ppmload, fixing a couple of bugs
...
- ppmload was not setting interpretation, filename, etc. for files read via
mmap
- files not read via mmap were never byteswapped
- some cleanups
see https://github.com/libvips/libvips/issues/1916
2020-12-26 17:02:07 +00:00
John Cupitt
c3c9f281c0
Merge branch '8.10'
2020-12-22 14:31:08 +00:00
John Cupitt
94ecb8d38d
version bump
...
and fix changelog dates
2020-12-22 14:28:55 +00:00
John Cupitt
eeb0fb3ac1
Merge branch '8.10'
2020-12-22 12:56:32 +00:00
John Cupitt
c3159e209d
note in changelog
...
see https://github.com/libvips/libvips/pull/1938
2020-12-22 12:55:44 +00:00
John Cupitt
2348a02351
Merge branch '8.10'
2020-12-18 10:14:03 +00:00
John Cupitt
460efa73fa
bump version for animated webp load fix
2020-12-18 10:12:26 +00:00
John Cupitt
728397d76c
Merge branch '8.10'
2020-12-15 13:22:56 +00:00
John Cupitt
1b19e6f832
start 8.10.4
...
with a dropped patch from 8.10.3
2020-12-14 09:20:44 +00:00
John Cupitt
2db2b24200
Merge branch '8.10'
2020-12-13 03:43:51 +00:00
John Cupitt
c12730748d
forgot changelog update
2020-12-13 03:43:03 +00:00
John Cupitt
7839792c1a
Merge branch '8.10'
2020-12-13 03:40:03 +00:00
John Cupitt
1d2864cc41
note HEIC fix in changelog
...
see https://github.com/libvips/libvips/pull/1921
2020-12-10 17:54:58 +00:00
John Cupitt
25db7849e7
Merge branch '8.10'
2020-12-09 15:19:18 +00:00
John Cupitt
3996f3279b
fix range clips for casts to and from int
...
Fix two bugs:
- clip in casts from int32 and uint32 could overflow -- do these as gint64 now
- clip in casts from float to int could overflow since float32 can't
represent the full range of int32 without losing precision -- do these
as double
And add some more tests.
Thanks ewelot.
see https://github.com/libvips/libvips/issues/1922
2020-12-09 15:14:59 +00:00
John Cupitt
6eaf1eda30
make webp frame blend do doround to nearest
...
see https://github.com/libvips/libvips/pull/1918
2020-12-04 13:53:24 +00:00
John Cupitt
5f3482bff5
Merge branch '8.10'
2020-12-03 13:58:33 +00:00
John Cupitt
587a7c2d63
note ppmload fix
2020-12-02 21:03:44 +00:00
John Cupitt
deab095b3c
Merge branch '8.10'
2020-11-29 14:03:22 +00:00
John Cupitt
2585565b3e
better test for output to target
...
We used to enable write to stdout if the first character of an output filename
was ".", eg.:
vips copy x.jpg .png
But this will also enable write to stdout for things like:
vips copy x.jpg ./y.png
This patch also tests that the rightmost "." in a filename is also the
first character.
Thanks barryspearce
See https://github.com/libvips/libvips/issues/1906
2020-11-29 13:59:30 +00:00
John Cupitt
864075c4f4
Merge branch '8.10'
2020-11-26 10:18:27 +00:00
John Cupitt
acc579cc9d
force binary mode for connections on win
...
stdin / stdout (for example) are created in text mode by default on
win. We need to flip them to binary mode for connection read and write.
See https://stackoverflow.com/questions/65014352/pipe-libvips-cli-output-to-stdout-in-windows
2020-11-26 10:15:48 +00:00
John Cupitt
7948b979a5
Merge branch '8.10'
2020-11-22 16:39:04 +00:00
John Cupitt
6340e14303
byteswap on ppm save, if necessary
...
this was missing, thanks ewelot
see https://github.com/libvips/libvips/issues/1894
2020-11-22 16:37:24 +00:00
John Cupitt
c0bace8f91
Merge branch '8.10' of github.com:libvips/libvips into 8.10
2020-11-22 16:05:57 +00:00
John Cupitt
9f22c5dbf3
Merge branch 'master' of github.com:libvips/libvips
2020-11-22 16:05:19 +00:00
John Cupitt
3b9f9d3a12
Merge branch '8.10'
2020-11-22 16:01:58 +00:00
John Cupitt
8e25eef3d0
make ppm load default to msb first
...
We has lsb first as the default, breaking 16-bit PPM load. Thanks ewelot.
see https://github.com/libvips/libvips/issues/1894
2020-11-22 16:00:34 +00:00
John Cupitt
e8ff67376d
Merge branch '8.10'
2020-11-21 14:26:02 +00:00
John Cupitt
c17e696243
backport gifheight check
...
ensure gifheight can't oevrflow
see https://github.com/libvips/libvips/pull/1892
2020-11-21 14:25:09 +00:00
John Cupitt
d7e988d16f
Merge branch '8.10'
2020-11-20 12:19:01 +00:00
John Cupitt
d971c75d6f
block 0 width or height images from imagemagick
...
IM could return 0 width and/or height for some crafted images. Block
these.
Thanks @Koen1999.
See https://github.com/libvips/libvips/issues/1890
2020-11-20 12:17:42 +00:00
John Cupitt
2772ecbb9e
add "seed" param to perlin, worley and gaussnoise
...
see https://github.com/libvips/libvips/issues/1884
2020-11-16 09:14:06 +00:00
John Cupitt
a43e9d3982
Merge branch '8.10'
2020-11-12 13:22:30 +00:00
John Cupitt
98641ba153
add read loops to gifload
...
and check for error in ppnmload.
2020-11-12 13:21:33 +00:00
John Cupitt
64e384d3ac
Merge branch '8.10'
2020-11-12 12:18:49 +00:00
John Cupitt
2dd6fc1f36
note read fixes in changelog
2020-11-12 12:18:22 +00:00
John Cupitt
e590a6919d
fix changelog after GM backport
2020-11-12 12:16:36 +00:00
John Cupitt
09e0d5bff6
Merge branch '8.10'
2020-11-12 12:16:07 +00:00
John Cupitt
c0102c5814
better GraphicsMagick image write
...
We were not setting matte or depth correctly, thanks bfriesen.
2020-11-12 12:00:11 +00:00
John Cupitt
013e8beba7
Merge branch '8.10'
2020-11-11 10:06:22 +00:00
John Cupitt
6894159ad5
fix icc-profiles and dzsave --no-strip
...
We were not copying metadata down pyramid layers in dzsave, so
--no-strip didn't allow icc profiles on tiles.
Thanks altert
See https://github.com/libvips/libvips/issues/1879
2020-11-11 10:02:46 +00:00
John Cupitt
3e40f19efc
Merge branch '8.10'
2020-11-10 11:07:41 +00:00
John Cupitt
1686725117
block annoying INFO messages on some older glibs
...
Some old glibs can display INFO messages by default. Block these
ourselves.
See https://github.com/libvips/libvips/issues/1876
2020-11-10 11:03:18 +00:00
John Cupitt
b86c9c52e1
Merge branch '8.10'
2020-11-04 09:31:01 +00:00
John Cupitt
4de9b56725
flush target at end of write
...
we were missing end-of-write flushes on four save operations
thanks harukizaemon
see https://github.com/libvips/ruby-vips/issues/256
2020-11-04 09:28:25 +00:00
John Cupitt
20988977ab
Merge branch '8.10'
2020-11-03 23:45:17 +00:00
John Cupitt
85f3ac6d8f
fix tiff pyramid save region-shrink
...
we'd forgotton to connect it up
thanks imgifty
see https://github.com/libvips/libvips/issues/1875
2020-11-03 23:14:44 +00:00
John Cupitt
076e7e3a92
Merge branch '8.10'
2020-11-03 11:52:05 +00:00
John Cupitt
91d9610a55
fix out of bounds read in tiffload
...
libtiff can change the value of some fields while scanning a corrupt
TIFF file and this could trigger an out of bounds read.
This patch makes tiffload more cautious about rescanning a TIFF
directory before reading out header fields.
2020-11-03 11:48:21 +00:00
John Cupitt
c07cadd915
Merge branch '8.10'
2020-10-20 08:56:49 +01:00
John Cupitt
ae82bcc3e8
fix out of bounds exif read in heifload
...
We were subtracting 4 from the length of the exif data block without
checking that there were 4 or more bytes there.
2020-10-20 08:54:54 +01:00
John Cupitt
774b7fcf6f
Merge branch '8.10'
2020-10-19 14:41:51 +01:00
John Cupitt
0131d4d3eb
fix vips7 webp load
...
webp load using the vips7 interface was crashing, thanks barryspearce
see https://github.com/libvips/libvips/issues/1860
2020-10-19 14:34:02 +01:00
John Cupitt
b3481f5baa
Merge branch '8.10'
2020-10-18 22:37:57 +01:00
John Cupitt
b1e636346a
relax is_a heic test rules
...
32 was a little too small, see https://github.com/libvips/libvips/issues/1861
2020-10-18 22:36:15 +01:00
John Cupitt
50288c5f18
add pdfium load from source
2020-10-16 16:57:13 +01:00
John Cupitt
47b04c9da6
get pdium load working again
...
It had bitrotted a bit. Thanks @Projkt-James.
See https://github.com/libvips/libvips/issues/1400
2020-10-16 15:13:25 +01:00
John Cupitt
d1f84b0985
better GraphicsMagick image write
...
We were not setting matte or depth correctly, thanks bfriesen.
2020-10-16 00:05:17 +01:00
John Cupitt
5556f1ec65
move the pdfium lock init
...
move it inside the existing ONCE
see https://github.com/libvips/libvips/pull/1857
2020-10-13 15:00:13 +01:00
John Cupitt
f1d2d4030e
fix build with libheif save buit not load
...
We had some definitions inside the #ifdef HEIFLOAD.
Thanks estepnv
https://github.com/libvips/libvips/issues/1844
2020-10-09 14:02:53 +01:00
John Cupitt
29b6ba1294
Merge branch '8.10'
2020-10-07 15:27:27 +01:00
John Cupitt
678b6d5c95
fix a regression in the C path for dilate/erode
...
A ++ had been dropped in the recent refactoring. Credit to kleisauke.
See https://github.com/libvips/libvips/issues/1846
2020-10-07 15:23:40 +01:00
John Cupitt
9fbf49cf60
Merge branch '8.10'
2020-10-06 11:43:13 +01:00
John Cupitt
80b73af225
note new "speed" param in heifsave
...
To help support the rapid move to AVIF.
see https://github.com/libvips/libvips/pull/1819#issuecomment-704145244
2020-10-06 10:50:06 +01:00
John Cupitt
727eb2ee39
Merge branch '8.10'
2020-10-03 18:29:23 +01:00
John Cupitt
0ee8b1e844
improve seek on pipes
...
There were a few issues in VipsSource around seeking on pipes. With this
patch, EOF detection is better, and pipe sources automatically turn into memory
sources when EOF is hit.
see https://github.com/libvips/libvips/issues/1829
2020-10-03 18:25:24 +01:00
John Cupitt
a1505c6f72
add stdin, stdout to vipsthumbnail
...
eg.
vipsthumbnail stdin[page=2] -o .jpg[Q=90]
mirror of syntax in new_from_file etc.
2020-10-02 16:46:03 +01:00
John Cupitt
c27c471e28
Merge branch '8.10'
2020-09-28 12:33:32 +01:00
John Cupitt
e3181e0579
get docs building with goi 1.66+
...
It builds now, but some doc sections are missing. Fix this properly in
8.11.
See https://github.com/libvips/libvips/issues/1836
2020-09-28 12:32:06 +01:00
John Cupitt
b078c3c164
Merge branch '8.10'
2020-09-26 13:15:45 +01:00
John Cupitt
237604bb07
revise heifload EOF detection
...
VipsSource used a unix-style model where read() returns 0 to mean EOF.
libheif uses a model where a separate call to wait_for_file_size()
beforehand is used to check thaht the read will be OK, and then the
read() is expected to never fail.
We were trying to put EOF detection into libheif read(), but that's not
the right way to do it. Instead, test for EOF in wait_for_file_size().
see https://github.com/libvips/libvips/pull/1833
2020-09-26 13:00:52 +01:00
John Cupitt
d967f2bf65
Merge branch '8.10'
2020-09-25 12:43:24 +01:00
John Cupitt
cdae2c1995
note fractsurf fix in changelog
2020-09-25 12:43:04 +01:00
John Cupitt
fd0a0905ff
note VImage::new_from_memory_steal() in ChangeLog
...
plus doxy commnets etc., see https://github.com/libvips/libvips/pull/1758/
2020-09-24 10:44:49 +01:00
John Cupitt
01bbef36d5
Merge branch '8.10'
2020-09-23 08:14:47 +01:00
John Cupitt
e4b711a358
better heif signature detection
2020-09-23 08:13:52 +01:00
John Cupitt
fa260df262
Merge branch '8.10'
2020-09-21 09:45:34 +01:00
John Cupitt
54144a8bc5
allow gaussblur sigma 0
...
meaning no blur (obviosuly)
2020-09-21 09:45:08 +01:00
John Cupitt
0c7b65e156
allow both dpi and scale to be set for pdfload
...
pdfload didn't allow both dpi and scale to be set. This patch makes the
two settings combine if both are given.
thanks le0daniel
see https://github.com/libvips/libvips/issues/1824
2020-09-21 09:29:25 +01:00
John Cupitt
d87a72c40d
Merge branch '8.10'
2020-09-17 18:22:58 +01:00
John Cupitt
dc88d6c1e1
fix dzsave iiif dimensions
...
dzsave in iiif mode could set info.json dimensions off by one
thanks Linden6
see https://github.com/libvips/libvips/issues/1818
2020-09-17 17:07:08 +01:00
John Cupitt
a88c88bb7b
Merge branch '8.10'
2020-09-15 10:20:15 +01:00
John Cupitt
0617165c66
raise minimum libheif version to 1.3
...
We didn't compile with anything less than 1.3 anyway.
see https://github.com/libvips/libvips/issues/1817
2020-09-15 10:18:38 +01:00
John Cupitt
7514afa1fa
Merge branch '8.10'
2020-09-14 17:40:18 +01:00
John Cupitt
4227606f5a
fix tiff thumbnail from buffer and source
...
We were missing the new tiff thumbnail logic on the source and buffer
paths.
see https://github.com/libvips/libvips/issues/1815
2020-09-14 17:38:20 +01:00
John Cupitt
48a2551957
fix TIFF thumbnail of buffer and source
...
We had dropped a couple of patches.
see https://github.com/libvips/libvips/issues/1815
2020-09-14 17:26:19 +01:00
John Cupitt
f116d0b8e2
Merge branch '8.10'
2020-09-14 12:35:24 +01:00
John Cupitt
348e5e1523
don't set JFIF res if we will set EXIF res
...
Some JPEG loaders give priority to JFIF resolution over EXIF resolution
tags. This patch makes libvips not write the JFIF res tags if it will be
writing the EXIF res tags.
See https://github.com/libvips/ruby-vips/issues/247
2020-09-14 12:33:31 +01:00
John Cupitt
801111a2fa
better dint rules
...
We had some special cases coded for dhint inheritance, but they could
fail in some edge cases. Revert to something simpler and more
predictable.
see https://github.com/libvips/libvips/issues/1810
2020-09-08 13:50:14 +01:00
John Cupitt
1864729771
Merge branch 'add-doxygen'
2020-09-06 14:03:29 +01:00
John Cupitt
17c16c0bb6
Merge branch '8.10'
2020-09-06 13:02:34 +01:00
John Cupitt
6b2079bfd3
update magick metadata naming
...
IM seem to have changed their rules for naming metadata chunks. They are
now lowercase and ICM is renamed to ICC. Add a simple test too.
See https://github.com/libvips/ruby-vips/issues/246
2020-09-06 12:59:10 +01:00
John Cupitt
8bdc327320
Merge branch '8.10'
2020-09-04 17:12:45 +01:00
John Cupitt
00096813da
note render thread change in changelog
2020-09-04 12:41:19 +01:00
John Cupitt
610eea5462
Merge branch '8.10'
2020-09-03 19:33:09 +01:00
John Cupitt
a88061dfec
fix jpegload autorotate
...
thanks chregu
see https://github.com/libvips/php-vips/issues/105
2020-09-03 19:31:56 +01:00
John Cupitt
55d5837f0c
Merge branch '8.10'
2020-09-01 12:38:58 +01:00
John Cupitt
20a5448da1
fix handling of "squash" param in tiffsave
...
the deprecated param was not being detected correctly, breaking vips7
compat in some cases
see https://github.com/libvips/libvips/issues/1801
2020-09-01 12:34:09 +01:00
John Cupitt
a3dfa3911e
Merge branch '8.10'
2020-08-31 14:10:43 +01:00
John Cupitt
285ab2e6cc
better mask sizing for gaussmat
...
We were calculating the mask size incorrectly for small masks.
Thanks johntrunc
see https://github.com/libvips/libvips/issues/1793
2020-08-31 13:37:08 +01:00
John Cupitt
2c4c4132e8
Merge branch '8.10'
2020-08-28 17:47:40 +01:00
John Cupitt
b07cfa858a
note svg fix
2020-08-21 11:39:33 +01:00
John Cupitt
409301a200
improve C++ API
...
Make VObject inheritance public, so we can have a single set() for all
VObject-derived types.
2020-08-19 15:08:28 +01:00
John Cupitt
f8faa5f7f7
Merge branch '8.10'
2020-08-19 11:12:18 +01:00
John Cupitt
270933c281
convert no-profile CMYK to RGB on save
...
Use the fallback cmyk profile to convert to RGB on save if the image has
no embedded profile.
Thanks augustocdias.
See https://github.com/libvips/libvips/issues/1767
2020-08-19 11:09:38 +01:00
John Cupitt
182e88957e
prevent 0-length buffers reaching imagemagick
...
im6 seems to have added an assert for this
see https://github.com/libvips/libvips/pull/1785
2020-08-17 14:18:59 +01:00
John Cupitt
cdcf63f8e5
fix regression in thumbnail of pyr tiff
...
The new subifd pyramid thumbnail code broke the old page-based pyramid
detector.
Thanks tand826
See https://github.com/libvips/libvips/issues/1784
2020-08-17 10:10:23 +01:00
John Cupitt
633abe7be8
add missing funcs to public C API
...
The C API was missing vips_jpegload_source and vips_svgload_source.
Thanks to augustocdias.
See https://github.com/libvips/libvips/issues/1780
2020-08-14 13:36:12 +01:00
John Cupitt
b981911f67
remove redefinition of typedefs
...
We had this in a couple of places:
typedef struct _A A;
typedef struct _A A;
Some old gccs (eg. centos6) throw errors for this.
See https://github.com/libvips/libvips/issues/1774
2020-08-13 12:51:56 +01:00
John Cupitt
fdded88cf7
start 8.10.1
...
following the doc generation fix
2020-08-09 14:39:37 +01:00
John Cupitt
fcaba0e6ba
add @profile to webpsave
...
small tiffsave fixes too
2020-07-18 14:49:37 +01:00
John Cupitt
7c2c152a74
note wasm patch in changelog
2020-07-03 02:21:16 +01:00
John Cupitt
e4d38d1d3e
clip out of bounds GIF images against the canvas
...
Some malformed GIFs have images which lie outside or partly outside the canvas.
With this patch, these frames are clipped and rendered.
Previously, these GIFs were rejected.
See https://github.com/libvips/libvips/issues/1701
2020-07-02 16:41:37 +01:00
John Cupitt
15e44f731f
add spng in there twice
2020-06-30 11:31:33 +01:00
John Cupitt
2b2fabcd3b
vipsheader allows stdin as a filename
...
```
$ cat k2.jpg | vipsheader stdin
1450x2048 uchar, 3 bands, srgb, jpegload_source
```
See https://github.com/libvips/libvips/issues/1594
2020-06-29 12:06:34 +01:00
John Cupitt
5540fa97f4
small cleanups for disable deprecated
...
- move matrixinvert to mosaicing, fix a leak
- add note to changelog
- small fixes
see https://github.com/libvips/libvips/pull/1593
2020-06-28 12:14:13 +01:00
John Cupitt
90e61a816b
... note change in ChangeLog
...
see https://github.com/libvips/libvips/issues/1585
2020-06-28 09:53:49 +01:00
John Cupitt
d831ad34d5
add ppm load/save to a connection
...
plus some more tests
2020-06-27 15:23:18 +01:00
John Cupitt
4bf27acccb
add 1/2/4 bit PNG save
...
- new @bitdepth param
- deprecate @colours param
2020-06-25 10:40:43 +01:00
John Cupitt
1f8d007d19
rename ppmsave "squash" as "bitdepth"
...
in line with the tiffsave change
2020-06-18 11:57:33 +01:00
John Cupitt
8b469b4516
adjust formatting of 2, 4 bit tiff load/save
...
To make it libvipsey. Small fixes as well.
2020-06-16 18:58:27 +01:00
John Cupitt
95406c7888
Merge pull request #1682 from libvips/libspng-experiment
...
Load PNGs with libspng
2020-06-12 19:11:42 +01:00
John Cupitt
8c19e07ae3
add --vips-config flag
...
so "vips --vips-config" now displays:
```
$ vips --vips-config
native win32: no, native OS X: no, open files in binary mode: no, ...
```
2020-06-12 17:30:57 +01:00
John Cupitt
d5fcb6baaf
Merge branch 'master' into libspng-experiment
2020-06-12 12:42:11 +01:00
John Cupitt
4ae4be7046
note resize work in ChangeLog
2020-06-12 12:40:44 +01:00
John Cupitt
61628eefdf
final fixes for spng loader
2020-06-11 13:24:27 +01:00
John Cupitt
1e015654c3
deprecate heifload autorotate
...
heifload autorotate is now always on, and we always delete EXIF
orientation tags. If a HEIC image fails to rotate upright, at least it's
someone else's fault.
see https://github.com/libvips/libvips/pull/1680
2020-06-10 19:57:50 +01:00
John Cupitt
a44814018d
Merge branch 'master' into libspng-experiment
2020-06-07 11:56:16 +01:00
John Cupitt
981d5c4b16
revise autorot system
...
- deprecate vips_autorot_get_angle() since orientation is no longer a
simple rotate
- add vips_image_get_orientation() and vips_image_get_orientation_swap()
- revise tiff and jpeg loader autorotate to just call vips_autorot(),
but only if necessary
- revise thumbnail autorotate too
2020-06-06 17:25:46 +01:00
John Cupitt
cff84f4606
add subifd pyr support to thumbnail
...
thumbnail can spot subifd pyramids and load lower levels if necessary
2020-06-02 12:53:36 +01: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
df4f03863e
Merge branch 'master' into libspng-experiment
2020-05-13 14:37:00 +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
29d9fcb0c8
update docs for --delete deprecation
...
see https://github.com/libvips/libvips/pull/1564
2020-05-03 16:10:59 +01:00
John Cupitt
02327b6214
add an experimental libspng reader
...
it compiles, but I've not tried running it yet heh
2020-05-01 16:05:48 +01: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
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
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
471ec9bcc0
fix flood fill on some complex shapes
...
could fail to paint everything sometimes
2020-04-05 12:33:55 +01:00
John Cupitt
834234c23c
add all
smartcrop mode
...
So you can crop to fill as well as crop to fit.
see https://github.com/libvips/libvips/issues/1583
2020-03-19 18:57:40 +00:00
John Cupitt
3b57e13452
move heifsave to new target API
...
and add heifsave_target
2020-03-15 18:17:08 +00:00
John Cupitt
0badb7c603
add heifload_source
2020-03-15 11:45:56 +00:00
John Cupitt
764b196d50
move pdfload on top of source API
...
and add pdfload_source
see https://github.com/libvips/libvips/issues/1541
2020-03-11 18:15:15 +00:00
John Cupitt
03399b4d7e
tiff write sets page number
...
tiffsave sets `PAGENUMBER` and `FILETYPE_PAGE`, thanks jclavoie-jive
see https://github.com/libvips/libvips/issues/1565
2020-03-08 11:06:19 +00:00
John Cupitt
a592d99bb2
add dir detector
...
useful for blocking open for read of directories
2020-03-06 18:05:16 +00:00
John Cupitt
68f766b482
Merge branch '8.9'
2020-03-05 15:03:00 +00:00
John Cupitt
b3a7929247
detect read errors in sniff correctly
...
we has a signed/unsigned mixup :(
2020-03-05 15:02:16 +00:00
John Cupitt
7d3a7e9c29
Merge branch '8.9'
2020-02-28 15:23:31 +00:00
John Cupitt
ab5d511123
add fuzz corpus
2020-02-28 15:22:10 +00:00
John Cupitt
1a0e61510b
rewrite matrixsave
...
uses new target API
2020-02-22 17:55:04 +00:00
John Cupitt
ce240b1ca2
revise matrixload for source API
2020-02-22 15:02:12 +00:00
John Cupitt
d68e02a3c4
Merge branch 'revise-csvload'
2020-02-21 18:23:13 +00:00
John Cupitt
bab3486aca
fix lines param to csvload
...
we had lines and skip mixed up
2020-02-21 18:22:39 +00:00
John Cupitt
0a23bf3578
revise formatting, add docs
...
fix up some formatting from https://github.com/libvips/libvips/pull/1552
plus some other small changes
2020-02-18 17:37:56 +00:00
John Cupitt
d8ee83e35e
Merge branch 'master' of https://github.com/wix-playground/libvips into wix-playground-master
2020-02-07 16:30:26 +00:00
alon-ne
f88dab9ccd
Fix gif dispose handling for DISPOSE_BACKGROUND and DISPOSE_PREVIOUS
...
- Add 'scratch' field to gif that holds temporary 'scratch buffer' used for rendering frames
- For DISPOSE_BACKGROUND: Set background color to transparent instead of 0
- For DISPOSE_BACKGROUND: Write background pixels into scratch after rendering current frame, so it will be used in next frame
- For DISPOSE_PREVIOUS: Save frames that are not disposed into 'previous' field in gif, when DISPOSE_PREVIOUS is specified start with that previous frame. see http://webreference.com/content/studio/disposal.html
- Add "ANIMEXTS1.0" to Application Extension parser
- Graphic Control Extension parser refactor
- Compare file contents to expected images for animated gifs in foreign tests
2020-02-06 17:36:13 +02:00
John Cupitt
862e1ae214
add VIPS_LEAK env var
2020-02-03 17:01:57 +00:00
John Cupitt
559ae542ac
revise flags for vipsthumbnail
...
The --rotate flag no longer did anything, so add a new --no-rotate flag
connected to the new no-rotate property. --rotate is still there, but
hidden and does nothing.
-o was much easier to remember than -f, so flip back to -o. -f still
works, but is a hidden synonym.
--iprofile, --eprofile were hard to remember. Add --import-profile and
--export-profile synonyms. iprofile / eprofile are still there and still
work, but are hidden.
2020-02-03 14:49:21 +00:00
John Cupitt
05a45c3418
Merge branch '8.9'
2020-02-02 11:15:09 +00:00
John Cupitt
bb20556b6d
ban ppm max_value < 0
...
Not allowed by spec, since pixels should be unsigned.
2020-02-02 11:13:41 +00:00
John Cupitt
46da95f30f
Merge branch '8.9'
2020-01-31 16:00:22 +00:00
John Cupitt
8a21f6ea52
fix gif rendering for "waterfall.gif"
...
This GIF has dispose set to DISPOSAL_UNSPECIFIED and seems to mean
transparent.
This patch makes gifload use DISPOSAL_UNSPECIFIED as well as _DO_NOT to
mean reuse previous frame.
Thanks DarthSim.
See https://github.com/libvips/libvips/issues/1543
2020-01-31 15:51:44 +00:00
John Cupitt
e4db74746a
fix a deadlock with --vips-leak
...
We were usingh a global lock for metadata changes, but some functions
triggered from callbacks in the metadata hash table could also attempt
to acquire the same mutex, leading to deadlock.
This patch gives metadata change it's own lock. Thanks DarthSim.
See https://github.com/libvips/libvips/issues/1542
2020-01-31 15:25:05 +00:00
John Cupitt
acabd2dc08
add gifload_source
2020-01-30 22:15:48 +00:00
John Cupitt
81fa983121
oop, dropped an "else"
2020-01-29 18:12:37 +00:00
John Cupitt
165a3a3855
Merge branch '8.9'
2020-01-28 13:36:46 +00:00
John Cupitt
42930e8d87
add "depth" param to tiffsave
...
Add a "depth" param to tiffsave to set pyramid depth, just like the
"depth" param on dzsave.
See https://github.com/libvips/libvips/issues/1485
2020-01-26 18:39:47 +00:00
John Cupitt
f8c7f9dac9
interpret \ as an escape char in break_token
...
So:
vips_break_token( "hello\ world", " " )
Sees a single token, `"hello world"`.
This means you can now do things like:
$ vips arrayjoin "k\ 2.jpg" x.png
Where "k 2.jpg" is a filename containing a space.
See https://github.com/libvips/libvips/issues/1493
2020-01-26 13:59:04 +00:00
John Cupitt
c14d7c254b
add max and min to region_shrink
...
Add max and min to region_shrink. Useful with tiffsave and dzsave when
the image is (for example) line art. Thanks rgluskin.
See: https://github.com/libvips/libvips/issues/1490
2020-01-24 17:55:11 +00:00
John Cupitt
df6ff62cde
add @id arg to dzsave
...
So you can now set the base of the id property in info.json in IIIF
output. Thanks regisrob.
See https://github.com/libvips/libvips/issues/1531
2020-01-24 17:12:46 +00:00
John Cupitt
767c87d6e6
better iiif json
...
Change "scalefactor" to "scaleFactor", thanks regisrob.
See https://github.com/libvips/libvips/issues/1530
2020-01-24 16:28:52 +00:00
John Cupitt
53407206cf
start 8.10 cycle
2020-01-24 16:26:28 +00:00
John Cupitt
fda5e5c402
lock for metadata changes
...
Another attempt at fixing crashes on metadata chenage in highly threaded
applications.
Global lock around set, remove and copy metadata. This is crude, but
simple, the performance impact should be small, and ought to resolve the
problem.
We'll do something better for the next version.
see https://github.com/lovell/sharp/issues/1986
2020-01-21 08:29:59 +00:00
John Cupitt
fc9edfe593
improve imagemagick init
...
graphicsmagick, in some configurations, needs to be told to init the
various loaders.
Thanks @LebronCurry
See https://github.com/libvips/libvips/issues/1528
2020-01-15 14:42:58 +00:00
John Cupitt
8752a76e66
fix a race in tiled tiffload and pdfload
...
We weer minimising sources in the ::minimise handler, but this is called
outside the lock that protects _generate. This patch removes minimise in
this case.
See https://github.com/kleisauke/net-vips/issues/53
2020-01-14 18:06:12 +00:00
John Cupitt
8c1c8b6c9f
fix a warning from magicksave on some platforms
...
we were leaving delay_gvalue as {0} then unsetting it, which will
produce a warning with some versions of glib.
Thanks chregu.
See https://github.com/libvips/libvips/issues/1524
2020-01-13 16:23:58 +00:00
John Cupitt
34fcd1fe69
fix autorot in thumbnail
...
`vips_thumbnail()` was not taking a private copy of the image before
modifying metadata during auto-rotate.
Thanks janko.
See https://github.com/libvips/libvips/issues/1523
2020-01-12 14:24:23 +00:00
John Cupitt
51fc2ff64e
don't use new source API for new_from_file etc.
...
We were attempting to load images in new_from_file using the new source
API first, then only falling back to the file loaders if that failed.
However, this meant that we did not respect the priority ordering on
loaders, so openslide iamges (for example) were being loaded by the tiff
loader.
2020-01-09 14:47:14 +00:00
John Cupitt
06b52da52a
update ChangeLog for stream rename
2019-12-29 21:48:14 +00:00
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