Commit Graph

7550 Commits

Author SHA1 Message Date
Michael Drake a373fd766e lzw: Always read three bytes on fast path to avoid swtich. 2021-04-18 17:50:42 +01:00
Michael Drake 98e8673dbc lzw: Restrict pointers through code reader. 2021-04-18 17:50:42 +01:00
Michael Drake 71eb67ba7c lzw: Constify table pointers in writer functions. 2021-04-18 17:50:42 +01:00
Michael Drake 020fc32108 gif: Switch complex decoder over to continuous lzw API. 2021-04-18 17:50:42 +01:00
Michael Drake 05fddf49e3 lzw: Direct output into frame data, avoiding stack.
If the frame is non-interlaced, and has the same rowstride as the
full image, then we can decode lzw directly into the output image.
2021-04-18 17:50:42 +01:00
Michael Drake 0d394487c1 gif: Handle any uncompressed output before exiting due to error. 2021-04-18 17:50:42 +01:00
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