summaryrefslogtreecommitdiff
path: root/src/libnsgif.c
Commit message (Collapse)AuthorAgeFilesLines
...
* GIF: Clean up preparation for first frame.Michael Drake2021-11-021-7/+3
|
* GIF: Fix inconsistent function return value handling.Michael Drake2021-11-021-53/+52
| | | | | This uses the proper enum type, a consistent name for return values, and corects cleanup on error.
* GIF: Clear: Don't request bitmap again.Michael Drake2021-11-021-13/+7
|
* GIF: Clear: Pass frame structure instead of index.Michael Drake2021-11-021-22/+19
|
* GIF: Clear: Remove redundant disposal method check.Michael Drake2021-11-021-14/+14
|
* GIF: Remove special case for trailer after extension block.Michael Drake2021-11-021-8/+0
|
* GIF: Postpone initialisation of sprite until required.Michael Drake2021-11-021-8/+5
|
* GIF: Don't need to initialise sprite when clearing.Michael Drake2021-11-021-6/+0
|
* GIF: Rewrite extension parsing and skipping.Michael Drake2021-11-021-150/+144
| | | | New code is shared between initialisation and decoding.
* GIF: Minor style change to brace position.Michael Drake2021-11-021-1/+2
|
* GIF: Remove redundant buffer check.Michael Drake2021-11-021-16/+0
|
* GIF: Remove redundant buffer check.Michael Drake2021-11-021-8/+0
|
* GIF: Pass frame into extension parser.Michael Drake2021-11-021-11/+13
|
* GIF: Move image dimension check to image descriptor handler.Michael Drake2021-11-021-18/+16
|
* GIF: Move redraw-required check to extension handler.Michael Drake2021-11-021-7/+7
|
* GIF: Unify decode and skip.Michael Drake2021-11-021-87/+63
|
* GIF: Abstract colour table decoding.Michael Drake2021-11-021-29/+62
|
* GIF: Scope reduce colour_table_size veriable.Michael Drake2021-11-021-15/+12
|
* GIF: Change unsigned char to uint8_t.Michael Drake2021-11-021-16/+16
|
* GIF: Change unsigned int to uint32_t.Michael Drake2021-11-021-57/+57
|
* GIF: Split out image descriptor parsing.Michael Drake2021-11-021-41/+63
|
* GIF: Use cached frame details for clear disposal handling.Michael Drake2021-10-311-32/+5
|
* GIF: Move image descriptor parsing to frame initialisation.Michael Drake2021-10-311-34/+22
|
* GIF: Clean up block skipping in frame extension skip.Michael Drake2021-10-311-8/+4
|
* GIF: Remove redundant redraw box complexity.Michael Drake2021-10-311-29/+5
|
* GIF: Clean up ugly redundant assignment in comparison.Michael Drake2021-10-311-1/+1
|
* GIF: Reduce scope of block_size variable.Michael Drake2021-10-311-3/+1
|
* GIF: Split out handling of clear frame disposal method.Michael Drake2021-10-311-114/+249
|
* GIF: Don't call bitmap_modified after for clear frame disposal method.Michael Drake2021-10-221-13/+15
| | | | | | | | | | | | Due to recursion through gif_internal_decode_frame, the inner call through the function for the clear would call modified, but the outer call would already have done its get_buffer, and then do the the decode and call modified again. This would break cases where clients do any buffer data transformation, since the decode would be done on top of a client buffer representation rather than a libnsfb buffer representation.
* gif: Optimise opaque gifs on the complex decode path.Michael Drake2021-09-241-6/+14
|
* lzw: Rework API for separate init for map/non-map decode functions.Michael Drake2021-09-241-13/+13
|
* gif: Whitespace fixes.Michael Drake2021-04-241-1110/+1109
| | | | Tabs for indent, spaces for alignment.
* gif: Switch complex decoder over to continuous lzw API.Michael Drake2021-04-181-1/+1
|
* lzw: Direct output into frame data, avoiding stack.Michael Drake2021-04-181-2/+81
| | | | | 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 Drake2021-04-181-2/+2
|
* lzw: Return output array from decode function instead of init.Michael Drake2021-04-061-7/+5
|
* gif: Frame decoding: Rearrange for readability.Michael Drake2021-04-061-18/+16
|
* gif: Frame decoding: Simplify transparency check.Michael Drake2021-04-061-4/+10
|
* lzw: Output values in picture order.Michael Drake2021-04-061-10/+9
|
* gif: Split out gif frame data decode.Michael Drake2021-04-061-59/+82
|
* Delay bitmap allocation until needed for frame decode.John Cupitt2021-04-051-33/+16
| | | | Gives the client a chance to detect memory bombs.
* libnsgif: Fix LZW Minimum Code Size check.Michael Drake2021-03-291-1/+1
| | | | | The passed value is now checked for validity in lzw_decode_init() too, but checking here allows an early exit.
* fix libnsgif restore/record orderingJohn Cupitt2021-03-081-5/+6
|
* Fix allocation size comparison in previous frame recorder.Michael Drake2020-07-061-1/+1
|
* Disposal Method: Handle Restore to previous with saved image.Michael Drake2020-07-061-21/+80
| | | | | | | | | | | 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
* New LZW decoder: Real-world fix; continue after dictionary is full.Michael Drake2017-04-051-1/+0
|
* GIF decoding: Remove old LZW decoder and port library to new implementation.Michael Drake2017-04-051-325/+44
|
* Remove pointless current_error from API surface.Michael Drake2017-02-061-1/+0
|
* Don't pass gif structure into lzw decoder.Michael Drake2017-02-061-50/+78
|
* isolate LZW initialisationVincent Sanders2017-01-301-14/+25
|