Commit Graph

7494 Commits

Author SHA1 Message Date
Michael Drake
5426e9b81a lzw: Add function for decoding multiple LZW codes at a time. 2021-04-18 17:50:42 +01:00
Michael Drake
ed3363b899 lzw: Add support for resumable output of a single code.
This allows handling of insufficient output buffer space.
2021-04-18 17:50:42 +01:00
Michael Drake
abd8619bef lzw: Return output array from decode function instead of init. 2021-04-18 17:50:42 +01:00
Michael Drake
01fde32f99 gif: Frame decoding: Rearrange for readability. 2021-04-18 17:50:42 +01:00
Michael Drake
7426c3d500 gif: Frame decoding: Simplify transparency check. 2021-04-18 17:50:42 +01:00
Michael Drake
663bf07aac lzw: Remove written member from context.
Not needed now that clear codes are handled normally.
2021-04-18 17:50:42 +01:00
Michael Drake
64ddf20599 lzw: Adapt main code handling to handle clear codes too. 2021-04-18 17:50:42 +01:00
Michael Drake
367f64c5bc lzw: Output values in picture order. 2021-04-18 17:50:42 +01:00
Michael Drake
06443e64e9 lzw: Store code's value count in table. 2021-04-18 17:50:42 +01:00
Michael Drake
8d8aa0dd46 gif: Split out gif frame data decode. 2021-04-18 17:50:42 +01:00
Michael Drake
c9a639d2bd lzw: Rename a bunch of structures, functions and variables.
new_code              -> code
    last_value            -> value
    first_value           -> first
    previous_entry        -> extends
    current_entry         -> table_size
    previous_code         -> prev_code
    previous_code_first   -> prev_code_first
    current_code_size     -> code_size
    current_code_size_max -> code_max
    lzw__next_code        -> lzw_read_code
2021-04-18 17:50:42 +01:00
Michael Drake
26c83999cc lzw: Split out output writing. 2021-04-18 17:50:42 +01:00
Michael Drake
92d53337d8 lzw: Rename minimum_code_size to match what it's called in spec. 2021-04-18 17:50:42 +01:00
Michael Drake
ac2d57c288 lzw: Slight simplification of clear code handling. 2021-04-18 17:50:42 +01:00
Michael Drake
eb07e204e7 lzw: Avoid code size increment check when dictionary is full. 2021-04-18 17:50:42 +01:00
Michael Drake
1714cf6c3a lzw: Split out dictionary augmentation. 2021-04-18 17:50:42 +01:00
Michael Drake
47a441f86b lzw: Create #define for number of dictionary entry slots. 2021-04-18 17:50:42 +01:00
Michael Drake
f66e20e017 lzw: Simplify new code handling.
The tiny overhead of an extra time through the output loop
is worth the simpler code.
2021-04-18 17:50:42 +01:00
John Cupitt
b1abb2d824 comment spelling 2021-04-15 12:55:14 +01:00
John Cupitt
2a51cf23a3 better Q computation
stolen from cjxl.cc
2021-04-14 17:34:30 +01:00
John Cupitt
c48a82d937 cleanups 2021-04-14 16:39:57 +01:00
John Cupitt
4483a2edbc Merge branch 'master' into add-jxl 2021-04-14 15:08:46 +01:00
John Cupitt
f4046a95f1 more dbg output for jxlsave 2021-04-14 12:50:09 +01:00
John Cupitt
633d35f4ae add Q param to jxl save
for convenience
2021-04-14 12:29:38 +01:00
John Cupitt
21c565d5d6 improve comment 2021-04-14 11:32:08 +01:00
John Cupitt
da6fe210b4
Merge pull request #2195 from libvips/text-colour-rendering
Text colour rendering
2021-04-13 08:42:14 +01:00
John Cupitt
cc04449dc5 remove extraeous "brew upgrade" 2021-04-12 20:40:00 +01:00
John Cupitt
31fe274626 fix mono rendering
always render RGBA, then in mono mode just use the alpha
2021-04-12 17:29:54 +01:00
John Cupitt
b27a10c547 ask brew to update/upgrade
might help CI failures on macOS
2021-04-12 16:55:01 +01:00
John Cupitt
b4fe2c7b8b Note pagocairo dep in README 2021-04-12 16:52:14 +01:00
John Cupitt
985a3e2282 reenable fontfile 2021-04-12 15:46:56 +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
8412b8233c start adding colour text rendering
try eg.

	vips text x.png 😀 --rgba --dpi 300

But it's not working :( need to tyweak something else?
2021-04-12 10:59:50 +01:00
John Cupitt
db22eb4d4f add p3.icm to makefile.am
and fix make dist
2021-04-08 10:53:15 +01:00
John Cupitt
a2147d64be
Merge pull request #2190 from lovell/add-icc-profile-p3
colour: add a fallback for the increasingly-common P3 profile
2021-04-08 09:42:37 +01:00
Lovell Fuller
d56a47829b colour: add a fallback for the increasingly-common P3 profile
Uses the CC0-licensed 'magic' compatibility profile from
https://github.com/saucecontrol/Compact-ICC-Profiles#display-p3
2021-04-07 21:44:33 +01:00
John Cupitt
930078a6f9 note jp2k support in README 2021-04-03 18:50:18 +01:00
John Cupitt
209f2c5144 tidy up 2021-04-03 18:40:21 +01:00
John Cupitt
70078e3774 add jxl encoder options
though they don't seem to affect file size, curiously
2021-04-03 18:11:38 +01:00
John Cupitt
55e634a0d2 add support for native jxl decode
map jxl native formats to libvips iamge formats
2021-04-03 17:50:47 +01:00
John Cupitt
234c468489 comment fix 2021-04-03 16:32:23 +01:00
John Cupitt
b82ca537e7 set basic jxl image metadata from vips 2021-04-03 16:32:02 +01:00
John Cupitt
e93d0ab83c jxlsave works
at a basic level, anyway
2021-04-03 15:03:43 +01:00
John Cupitt
f726edb7f7 remove stray bitmap_create call
missed this one in the delay gif alloc patch
2021-04-03 12:28:41 +01:00
John Cupitt
10a0c5a4bb start adding jxlsave 2021-04-03 11:57:11 +01:00
John Cupitt
9b8f308d9e jxl load sort-of works 2021-04-02 18:35:35 +01:00
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