2151 Commits

Author SHA1 Message Date
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