Commit Graph

2193 Commits

Author SHA1 Message Date
John Cupitt
ee865253a6 not jp2k pyr fix in changelog 2021-07-03 11:17:33 +01:00
John Cupitt
70182e4eac don't load modules if they are built in
Only load modules if libvips has been built as a set of modules.
Otherwise can can end up loading operations twice.
2021-07-03 11:14:58 +01:00
John Cupitt
ec1d1abf50 Merge branch '8.11' 2021-07-02 12:35:24 +01:00
John Cupitt
ad40d881dd remi's libdir patch, plus version bump to 8.11.2 2021-06-29 17:41:08 +01:00
John Cupitt
ea5972055f Merge branch '8.11' 2021-06-28 20:33:51 +01:00
John Cupitt
95bf1367ba fix jpeg tiff pyramid save
we were not copying the quant tables on lower pyr levels correctly

add a test too
2021-06-28 20:24:00 +01:00
John Cupitt
fc9e7ad2b3 Note static patch in changelog 2021-06-28 18:31:14 +01:00
John Cupitt
1b3dda5b24 enable strip chopping on TIFF load
see https://github.com/libvips/libvips/discussions/2322

thanks DavidStorm
2021-06-28 12:30:04 +01:00
John Cupitt
7512e410ca add svgload_string
simple convenience function for C
2021-06-28 11:45:56 +01:00
John Cupitt
706c2a112d Merge branch '8.11' 2021-06-23 12:25:43 +01:00
John Cupitt
b9034bf731 more startup debug output
if VIPS_INFO is set
2021-06-22 15:28:21 +01:00
John Cupitt
78c08650d3 revise win32 support in configure
update LT_INIT with new dll option
2021-06-22 11:48:06 +01:00
John Cupitt
4ee19edd46 add another C example
see https://github.com/libvips/libvips/issues/1167
2021-06-18 11:39:00 +01:00
John Cupitt
dc56a5aa65 all install programs support --version
and a version bump to 8.12 for the new dev cycle
2021-06-15 10:33:42 +01:00
John Cupitt
a0e0c4e45b note new threading model in changelog 2021-05-08 18:58:54 +01:00
John Cupitt
a2e5717e82 Merge branch '8.10' 2021-05-05 17:32:25 +01:00
John Cupitt
e19acd5148 fix load of large PPM images from a pipe
large PPM images loaded over pipes could cause a crash, thanks ewelot

see https://github.com/libvips/libvips/issues/2240
2021-05-05 17:29:50 +01:00
John Cupitt
70d76117bd Merge branch 'master' of github.com:libvips/libvips 2021-05-02 18:47:02 +01:00
John Cupitt
03f76b73b4 add "premultiply" param to tiffsave
Some programs, like indesign, only work with premultiplied alpha in TIFF. To
make TIFFs which are compatible with these programs, we'll need an extra
TIFF save flag (perhaps premultiply?) to premultiply alpha and save as
EXTRASAMPLE_ASSOCALPHA.

see https://github.com/libvips/libvips/issues/2192
2021-05-01 20:08:06 +01:00
John Cupitt
56e0b2c2c8 Merge branch '8.10' 2021-04-30 08:27:32 +01:00
John Cupitt
a560d7df50 better vips7 compat
revise the vips7 PNG wrapper to work with libspng, though performance
may be poor

thanks SkyDiverCool

https://github.com/libvips/libvips/issues/2233
2021-04-30 08:20:19 +01:00
John Cupitt
edcdf8af70 rebase add-jp2ktiff on master 2021-04-26 15:16:20 +01:00
John Cupitt
e5405c8ef3 udpate changelog 2021-04-26 09:11:02 +01:00
John Cupitt
e8cfc6b5a2
Merge branch 'master' into add-jxl 2021-04-21 14:00:06 +01:00
John Cupitt
693bc3ccbf
Merge branch 'master' into add-black-point-compensation 2021-04-19 18:53:35 +01:00
John Cupitt
4483a2edbc Merge branch 'master' into add-jxl 2021-04-14 15:08:46 +01:00
John Cupitt
f53959b824 switch font rendering to pangocairo
to make colour font rendering work
2021-04-12 15:11:18 +01:00
John Cupitt
209f2c5144 tidy up 2021-04-03 18:40:21 +01:00
John Cupitt
005360dba7 add support for lcms black point compensation
Add a --black-point-compensation flag.

See https://github.com/libvips/libvips/discussions/2169
2021-03-29 12:41:02 +01:00
John Cupitt
fd56067f54 oop, left gifload.c in the merge 2021-03-27 15:39:29 +00:00
John Cupitt
69fcf1b9e9
Merge branch 'master' into add-openjpeg 2021-03-27 15:22:13 +00:00
John Cupitt
6ab30ca732 Merge branch '8.10' 2021-03-23 23:18:48 +00:00
John Cupitt
2df5768d99 note vector fix in changelog 2021-03-23 20:53:06 +00:00
John Cupitt
2575d963bd add jp2k tests
and buffer load/save
2021-03-20 12:16:10 +00:00
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