Skip to content

StreamingDecoder streaming ext data#218

Merged
197g merged 2 commits intomasterfrom
ext
Nov 11, 2025
Merged

StreamingDecoder streaming ext data#218
197g merged 2 commits intomasterfrom
ext

Conversation

@kornelski
Copy link
Contributor

I was wrong about the subblock lengths, the GIF spec requires them to have specific lengths.

This removes collecting whole extension data into ext.data. The data now holds only a single subblock at a time, so it never reallocates. The StreamingDecoder is streaming the extensions.

Parsing of extensions is moved to the higher-level Decoder. Thanks to this, it doesn't have to copy/reallocate XMP or ICC data, and skips other extensions without allocating any memory.

@197g 197g mentioned this pull request Oct 28, 2025
@197g 197g merged commit 94c8f9b into master Nov 11, 2025
13 checks passed
@197g 197g deleted the ext branch November 11, 2025 20:20
@197g 197g mentioned this pull request Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants