summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* GIF: Bitmaps: Encapsulate bitmap handling.Michael Drake2021-11-031-78/+134
|
* GIF: Unify frame clearing functions.Michael Drake2021-11-031-42/+29
|
* GIF: Align disposal methods with spec.Michael Drake2021-11-031-13/+16
|
* GIF: Clear can't fail.Michael Drake2021-11-031-9/+4
|
* GIF: Helper to get the frame structure for given frame index.Michael Drake2021-11-031-35/+44
| | | | Removes weird special casing of first frame.
* GIF: Store transparancy index on the frame.Michael Drake2021-11-031-7/+2
| | | | If the frame has no transparency, it is set to an invalid value.
* GIF: Pass frame index into frame initialiser.Michael Drake2021-11-031-25/+23
|
* GIF: Move frame parameter extraction into decode wrapper.Michael Drake2021-11-031-22/+12
|
* GIF: Clear: Don't need to decode the previous frame metadata now.Michael Drake2021-11-021-48/+1
|
* GIF: Unify calculation of transparency index.Michael Drake2021-11-021-22/+23
|
* GIF: Change background colour handling.Michael Drake2021-11-021-13/+16
| | | | | | | | | | | We used to memset a colour we looked up in the colour table when clearing the previous frame. This didn't make sense, because the colour is four bytes wide. Now we write the actual colour in properly. Also, the background color comes from the global colour table (if one exists), rather than from the local colour table. If there is no colour table, black is used.
* GIF: Rename frame record/recover functions.Michael Drake2021-11-021-4/+4
| | | | Calling it "previous" frame doesn't really make sense.
* GIF: Decode: Split out bitmap wipe to transparent.Michael Drake2021-11-021-9/+16
|
* GIF: Decode: Clean up frame clearing/restoration.Michael Drake2021-11-021-23/+22
|
* GIF: Decode: Avoid indexing to frame structue.Michael Drake2021-11-021-21/+24
|
* GIF: Rename frame to frame_idx through decode function.Michael Drake2021-11-021-27/+27
|
* 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: Optimise mapped output for frames without transparency.Michael Drake2021-09-241-6/+14
|
* lzw: Rework API for separate init for map/non-map decode functions.Michael Drake2021-09-243-158/+214
|
* lzw: Decode until end of space in output buffer.Michael Drake2021-09-241-1/+1
|
* gif: Whitespace fixes.Michael Drake2021-04-241-1110/+1109
| | | | Tabs for indent, spaces for alignment.