Commit Graph

6914 Commits

Author SHA1 Message Date
John Cupitt 158e9e153a add some more ppm tests 2020-12-26 18:35:11 +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 86fa9277e7 note PDFium build in README 2020-12-24 05:44:07 +00:00
John Cupitt 94ecb8d38d version bump
and fix changelog dates
2020-12-22 14:28:55 +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 782c0b2f7e
Merge pull request #1938 from kleisauke/ensure-memory-source
Avoid seeking on bad file descriptors
2020-12-22 12:52:20 +00:00
Kleis Auke Wolthuizen e437805fc1 Move descriptor test to vips_source_seek_real
Since subclasses could override the seek method without setting the file descriptor.
2020-12-22 13:34:14 +01:00
Kleis Auke Wolthuizen 2eeeedc957 Avoid seeking on bad file descriptors 2020-12-22 11:20:03 +01:00
Kleis Auke Wolthuizen cc8f93a3ff Ensure memory source is non-null 2020-12-22 11:19:52 +01:00
John Cupitt 230f5924cf duplicate "svgload" operation 2020-12-18 11:30:03 +00:00
John Cupitt 460efa73fa bump version for animated webp load fix 2020-12-18 10:12:26 +00:00
John Cupitt 787c4ebd88
Merge pull request #1935 from lovell/webpload-blend-pixel-prevent-div-zero
webpload: prevent divide-by-zero when blending pixels
2020-12-18 10:08:07 +00:00
Lovell Fuller 45fd740130 webpload: prevent divide-by-zero when blending pixels
Adds a test case to prevent regression - see commit 6eaf1ed
2020-12-17 20:23:06 +00:00
John Cupitt ff3c4acbb2 allow spng.pc and libspng.ps for libspng discovery 2020-12-14 10:24:25 +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 31a4d1419c fix spng detection
This patch was dropped from 8.10.3 release 1, annoyingly.
2020-12-14 09:17:38 +00:00
John Cupitt 5e26f1ec16 improve website link in docs
it was being rewritten by the export script

see https://github.com/libvips/libvips/issues/1928
2020-12-14 09:08:27 +00:00
John Cupitt c12730748d forgot changelog update 2020-12-13 03:43:03 +00:00
John Cupitt cb9b0a4318 note HEIC fix in changelog
see https://github.com/libvips/libvips/pull/1921
2020-12-12 15:10:42 +00:00
Daniel Dennedy 21f37037fa fix heif load fails with 0 length metadata
fixes #1901
2020-12-12 15:09:33 +00:00
John Cupitt a54cec93ac
Merge pull request #1872 from kleisauke/fix-rounding-reduce
Resolve rounding issues in reduce
2020-12-12 14:51:15 +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 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 aa9906184a
Merge pull request #1918 from lovell/webpload-single-frame-noblend
webpload: ensure first frame is not blended
2020-12-04 13:14:29 +00:00
Lovell Fuller f9dc3177c7 webpload: ensure first frame is not blended 2020-12-04 11:50:58 +00:00
John Cupitt 1f71c7ae07 n comment 2020-12-03 13:34:21 +00:00
John Cupitt 587a7c2d63 note ppmload fix 2020-12-02 21:03:44 +00:00
John Cupitt 4c1aeaacd9 add is_a_source to ppmload
ppmload_source was missing an ia_a test

see https://github.com/libvips/libvips/issues/1915
2020-12-02 21:02:05 +00:00
John Cupitt f99da5f3e1 docs clarification
https://github.com/libvips/libvips/issues/1912
2020-12-01 18:33:40 +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 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 eddc99e6d8
Merge pull request #1899 from kleisauke/byteswap-vipsload
Ensure vipsload only byte swaps if necessary
2020-11-23 14:07:23 +00:00
Kleis Auke Wolthuizen ea53660a6b Port Ruby test case to Python 2020-11-23 14:40:59 +01:00
Kleis Auke Wolthuizen 77de1c473a Determine endianness at compile time 2020-11-23 14:39:06 +01:00
Kleis Auke Wolthuizen d9dec2c027 Simplify MSB-ordered image check 2020-11-23 14:35:03 +01:00
Kleis Auke Wolthuizen 9bb86119e3 Ensure vipsload only byte swaps if necessary
Prior to this commit, MSB-ordered vips images were always byte swapped
on both little- and big endian systems. And LSB-ordered vips images
were loaded without a byte swap. This works correctly on little endian
systems, but will not work on big endian systems where the byte swap
must be done vice versa.

This commit ensures that the byte swap only takes place when needed.

See https://github.com/libvips/libvips/issues/1847.
2020-11-23 14:32:36 +01: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 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 a446f2d6d9 oops typo in magick7 load 2020-11-22 06:33:11 +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 1e5ac06f84 fix a possible read loop for truncated gifs 2020-11-20 13:46:24 +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 98641ba153 add read loops to gifload
and check for error in ppnmload.
2020-11-12 13:21:33 +00:00
John Cupitt a09027b2a5 forgot to advance the buffer pointers
thanks kleis

see https://github.com/kleisauke/net-vips/issues/101#issuecomment-726046152
2020-11-12 12:32:51 +00:00
John Cupitt 2dd6fc1f36 note read fixes in changelog 2020-11-12 12:18:22 +00:00
John Cupitt ff450497ff add read loops to heif and ppm as well
We were not looping on vips_source_read() in these loaders, so they
could fail when reading from very slow pipes.

See https://github.com/kleisauke/net-vips/issues/101
2020-11-12 12:11:35 +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
Kleis Auke Wolthuizen 0a91e2d8c7 Ensure that streams are properly read in spngload 2020-11-11 21:17:07 +00:00