Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | lzw: Optimisation: Pre-multiply relative offsets by struct size.tlsa/lzw-optimise | Michael Drake | 2021-09-26 | 1 | -6/+19 |
| | |||||
* | lzw: Use relative offset to next output entry, rather than absolute. | Michael Drake | 2021-09-24 | 1 | -13/+8 |
| | |||||
* | test: Print filename of any gif that errors. | Michael Drake | 2021-09-24 | 1 | -0/+1 |
| | |||||
* | gif: Optimise opaque gifs on the complex decode path. | Michael Drake | 2021-09-24 | 1 | -6/+14 |
| | |||||
* | lzw: Optimise mapped output for frames without transparency. | Michael Drake | 2021-09-24 | 1 | -6/+14 |
| | |||||
* | lzw: Rework API for separate init for map/non-map decode functions. | Michael Drake | 2021-09-24 | 3 | -158/+214 |
| | |||||
* | lzw: Decode until end of space in output buffer. | Michael Drake | 2021-09-24 | 1 | -1/+1 |
| | |||||
* | gif: Whitespace fixes. | Michael Drake | 2021-04-24 | 1 | -1110/+1109 |
| | | | | Tabs for indent, spaces for alignment. | ||||
* | lzw: Remove unused one-code-at-a-time API. | Michael Drake | 2021-04-24 | 2 | -28/+2 |
| | |||||
* | lzw: Reduce overhead for clear code handling. | Michael Drake | 2021-04-24 | 1 | -27/+57 |
| | |||||
* | lzw: Detect invalid code after clear code. | Michael Drake | 2021-04-22 | 1 | -2/+6 |
| | |||||
* | lzw: Always read three bytes on fast path to avoid swtich. | Michael Drake | 2021-04-18 | 1 | -15/+13 |
| | |||||
* | lzw: Restrict pointers through code reader. | Michael Drake | 2021-04-18 | 1 | -4/+4 |
| | |||||
* | lzw: Constify table pointers in writer functions. | Michael Drake | 2021-04-18 | 1 | -6/+6 |
| | |||||
* | gif: Switch complex decoder over to continuous lzw API. | Michael Drake | 2021-04-18 | 1 | -1/+1 |
| | |||||
* | lzw: Direct output into frame data, avoiding stack. | Michael Drake | 2021-04-18 | 3 | -3/+195 |
| | | | | | 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. | ||||
* | gif: Handle any uncompressed output before exiting due to error. | Michael Drake | 2021-04-18 | 1 | -2/+2 |
| | |||||
* | lzw: Add function for decoding multiple LZW codes at a time. | Michael Drake | 2021-04-18 | 2 | -0/+41 |
| | |||||
* | lzw: Add support for resumable output of a single code. | Michael Drake | 2021-04-06 | 1 | -35/+77 |
| | | | | This allows handling of insufficient output buffer space. | ||||
* | lzw: Return output array from decode function instead of init. | Michael Drake | 2021-04-06 | 3 | -31/+50 |
| | |||||
* | gif: Frame decoding: Rearrange for readability. | Michael Drake | 2021-04-06 | 1 | -18/+16 |
| | |||||
* | gif: Frame decoding: Simplify transparency check. | Michael Drake | 2021-04-06 | 1 | -4/+10 |
| | |||||
* | lzw: Remove written member from context. | Michael Drake | 2021-04-06 | 1 | -12/+7 |
| | | | | Not needed now that clear codes are handled normally. | ||||
* | lzw: Adapt main code handling to handle clear codes too. | Michael Drake | 2021-04-06 | 1 | -54/+26 |
| | |||||
* | lzw: Output values in picture order. | Michael Drake | 2021-04-06 | 3 | -49/+41 |
| | |||||
* | lzw: Store code's value count in table. | Michael Drake | 2021-04-06 | 1 | -0/+6 |
| | |||||
* | gif: Split out gif frame data decode. | Michael Drake | 2021-04-06 | 1 | -59/+82 |
| | |||||
* | lzw: Rename a bunch of structures, functions and variables. | Michael Drake | 2021-04-06 | 1 | -67/+65 |
| | | | | | | | | | | | | | 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 | ||||
* | lzw: Split out output writing. | Michael Drake | 2021-04-06 | 1 | -15/+32 |
| | |||||
* | lzw: Rename minimum_code_size to match what it's called in spec. | Michael Drake | 2021-04-06 | 2 | -7/+7 |
| | |||||
* | lzw: Slight simplification of clear code handling. | Michael Drake | 2021-04-06 | 1 | -4/+4 |
| | |||||
* | lzw: Avoid code size increment check when dictionary is full. | Michael Drake | 2021-04-06 | 1 | -4/+3 |
| | |||||
* | lzw: Split out dictionary augmentation. | Michael Drake | 2021-04-06 | 1 | -14/+21 |
| | |||||
* | lzw: Create #define for number of dictionary entry slots. | Michael Drake | 2021-04-06 | 1 | -3/+5 |
| | |||||
* | lzw: Simplify new code handling. | Michael Drake | 2021-04-05 | 1 | -11/+6 |
| | | | | | The tiny overhead of an extra time through the output loop is worth the simpler code. | ||||
* | test decode: Skip frames that are not meant for display. | Michael Drake | 2021-04-05 | 1 | -0/+4 |
| | |||||
* | Delay bitmap allocation until needed for frame decode. | John Cupitt | 2021-04-05 | 1 | -33/+16 |
| | | | | Gives the client a chance to detect memory bombs. | ||||
* | libnsgif: Fix LZW Minimum Code Size check. | Michael Drake | 2021-03-29 | 1 | -1/+1 |
| | | | | | The passed value is now checked for validity in lzw_decode_init() too, but checking here allows an early exit. | ||||
* | lzw: Reject bad LZW Minimum Code Size. | Michael Drake | 2021-03-29 | 1 | -0/+4 |
| | | | | | The libnsgif.c code was checking this incorrectly, so safest to check it in the lzw.c code. | ||||
* | lzw: Remove surplus semicolon. | Michael Drake | 2021-03-29 | 1 | -1/+1 |
| | |||||
* | fix libnsgif restore/record ordering | John Cupitt | 2021-03-08 | 1 | -5/+6 |
| | |||||
* | Fix allocation size comparison in previous frame recorder. | Michael Drake | 2020-07-06 | 1 | -1/+1 |
| | |||||
* | Disposal Method: Handle Restore to previous with saved image. | Michael Drake | 2020-07-06 | 2 | -21/+89 |
| | | | | | | | | | | | Previously we decoded a previous frame over the current frame data to handle resoration. However, the previous frame depended on its own previous frame state for correct decode. Now we just make a copy of the previous frame data and copy it back to handle the GIF_FRAME_RESTORE case. See: https://github.com/libvips/libvips/issues/1084#issuecomment-653497200 | ||||
* | Update component version for releaserelease/0.2.1 | Vincent Sanders | 2018-08-28 | 1 | -1/+1 |
| | |||||
* | Clean up in test suite to satisfy sanitizers | Daniel Silverstone | 2018-07-28 | 1 | -0/+2 |
| | |||||
* | LZW decoder: Tiny optimisation. | Michael Drake | 2018-06-18 | 1 | -1/+1 |
| | | | | | | | When the next code fits exactly in what's left of the current sub-block, we can use the fast path. Spotted by Adrian Lees. | ||||
* | Squash GCC7 -Wimplicit-fallthrough warnings. | Michael Drake | 2017-10-22 | 1 | -2/+2 |
| | |||||
* | Update component version for 0.2.0 releaserelease/0.2.0 | Vincent Sanders | 2017-10-13 | 1 | -1/+1 |
| | |||||
* | LZW decoder: Slight code clarity and comment improvement. | Michael Drake | 2017-04-06 | 1 | -2/+4 |
| | |||||
* | LZW decoder: Squash scan-build error by adding assert. | Michael Drake | 2017-04-05 | 1 | -0/+3 |
| | | | | | | | Note, for scan-build to correctly interpret the assert, the library must be built in debug mode: $ scan-build-4.0 make VARIANT=debug |