Commit Graph

7241 Commits

Author SHA1 Message Date
John Cupitt
07e73475c1 make a patch for the libnsgif alloc delay 2021-04-02 12:00:50 +01:00
John Cupitt
9e10f4bf0f Merge branch 'libnsgif-delay-alloc' 2021-04-02 11:59:44 +01:00
John Cupitt
c8363d4e61
Merge pull request #2179 from lovell/nsgifload-limit-dimensions
nsgifload: enforce maximum GIF dimensions of 16383
2021-04-02 11:44:30 +01:00
Lovell Fuller
701dcc7500 nsgifload: enforce maximum GIF dimensions of 16383
The GIF spec allows dimensions up to 65535 (16-bit unsigned),
but this equates to 17GB/frame.

A common task is to convert animated GIF to animated WebP,
and the latter supports dimensions up to 16383 (14-bit unsigned),
so that seems like a sensible limit and equates to 1GB/frame.

Also makes the error message consistent with other loaders.
2021-04-01 19:26:32 +01:00
John Cupitt
9bdf5e8cda try delaying libnsgif alloc until read frame
gives the caller a chance to detect memory bombs
2021-04-01 12:53:57 +01:00
John Cupitt
e4453f8b18 update libnsgif
pick up a couple of patches
2021-03-29 11:56:58 +01:00
John Cupitt
9f15567f2c fix fuzzer error
see https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32638
2021-03-29 09:19:14 +01:00
John Cupitt
77ccd04cbe
Merge pull request #2168 from lovell/nsgifload-sanity-check-dimensions
nsgifload: check dimensions before memory allocation
2021-03-28 22:42:29 +01:00
Lovell Fuller
744e42edd1 nsgifload: check dimensions before memory allocation
GIF dimensions are 16-bit unsigned
Initialise memory to zero as image may be truncated
2021-03-28 19:59:21 +01:00
John Cupitt
0054c7dafa add some more gifload tests 2021-03-28 13:49:34 +01:00
John Cupitt
b2cfe6a0a0 nsgifload was not setting filename 2021-03-28 13:38:41 +01:00
John Cupitt
89c12b0e62 fix nsgifload metadata
various issues pointed out by @lovell
2021-03-28 13:33:16 +01:00
John Cupitt
cb660b32fe
Merge pull request #2156 from libvips/add-openjpeg
Add JPEG2000 support
2021-03-27 17:10:42 +00:00
John Cupitt
09c6074014 ... and quantise 2021-03-27 16:18:56 +00:00
John Cupitt
32fca6f21b ... and two pdfloads 2021-03-27 16:09:41 +00: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
595f5a1b71 make autosubsample more consistent
always disable subsample for Q>=90, and update docs too
2021-03-27 15:16:38 +00:00
John Cupitt
9cbb4c2cd1
Merge pull request #1709 from libvips/add-libnsgif
Add libnsgif support
2021-03-27 15:10:30 +00:00
John Cupitt
9589a51f09 fix a compiler warning 2021-03-27 11:35:07 +00:00
John Cupitt
8c4486327e heifsave defaults to AV1 for .avif suffix 2021-03-26 09:50:17 +00:00
John Cupitt
4e60a3072f
Merge pull request #2159 from der-eismann/fix-heifsave-filename-argument
Set correct description for heifsave argument
2021-03-24 22:45:52 +00:00
Philipp Trulson
13a4d9f7ea
Set correct description for heifsave argument 2021-03-24 22:57:06 +01: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
a16c0c0d78 set mct more carefully 2021-03-23 18:50:39 +00:00
John Cupitt
40c020ccd2 more jp2k tests 2021-03-23 17:15:02 +00:00
John Cupitt
d69512c8b0 fix lossless save, ycc load 2021-03-23 16:43:09 +00:00
John Cupitt
0f86453f76
Merge pull request #2144 from kleisauke/ensure-composite-alignment
Ensure max_band vector is aligned on a 16-byte boundary
2021-03-23 16:15:02 +00:00
Kleis Auke Wolthuizen
305714c978 Move max_band_vec to first position 2021-03-23 16:47:53 +01:00
John Cupitt
1936ca05ee add ycc load/save and chroma subsample 2021-03-23 14:01:17 +00:00
John Cupitt
58facca758
Merge pull request #2158 from ffontaine/master
drop last remnant of dmalloc
2021-03-23 02:34:51 +00:00
Fabrice Fontaine
1b002cc32b drop last remnant of dmalloc
Drop last remnant of dmalloc which was removed in version 7.28.0 with
ae8faf6597

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-03-22 23:49:54 +01:00
John Cupitt
24f230b67d add ycc and upsample support 2021-03-21 19:34:02 +00:00
John Cupitt
fb6891d02b typo in header 2021-03-20 14:22:06 +00:00
John Cupitt
cedc3f1f1d disable threading for older openjpegs 2021-03-20 14:14:08 +00:00
John Cupitt
5f0be5d3dc remove obsolete doxy tag 2021-03-20 14:02:12 +00:00
John Cupitt
02163e7810 add openjpeg to CI 2021-03-20 13:00:42 +00:00
John Cupitt
76b7cddba1 better rounding in tile calcs 2021-03-20 12:54:32 +00:00
John Cupitt
7a900e0a4e add vipsthumbnail support for jp2k
It'll use the jp2k pyramid, if possible.
2021-03-20 12:33:38 +00:00
John Cupitt
28cbdcc65d revise doc comments 2021-03-20 12:23:00 +00:00
John Cupitt
2575d963bd add jp2k tests
and buffer load/save
2021-03-20 12:16:10 +00:00
John Cupitt
74d2472966 add jp2k quality options 2021-03-20 11:55:42 +00:00
Kleis Auke Wolthuizen
e7faebf6af Tell the compiler that v4f is aligned
It's guaranteed that this is now aligned on a 16-byte boundary.
2021-03-20 11:33:37 +01:00
John Cupitt
40ece64ff7 added 32-bit support
issues remaining:

- params for compression ratio, chrominance subsampling, etc. ...  imagemagick
  jp2 files are half the size of ours https://imagemagick.org/script/jp2.php

- metadata, eg. icc profile etc.

- alpha channels do not seem to be tagged correctly

- tests
2021-03-19 14:37:52 +00:00
John Cupitt
454f448c5b add jp2ksave
works, but not quite done
2021-03-19 11:49:07 +00:00
John Cupitt
1bcaab00a6 use "page" param for jp2k pyr layers
should make it easy for thumbnail etc.
2021-03-18 16:16:46 +00:00
John Cupitt
7d69f6bc84 small fix to openexr load 2021-03-18 12:47:03 +00:00
John Cupitt
197239727d add shrink on load
though openjpeg seems very unreliable if you actually use this
2021-03-18 12:46:30 +00:00
John Cupitt
52e32dec19 fix tiled read 2021-03-18 09:52:38 +00:00