Fix Animated WebP Support: Canvas Size Detection and Alpha Channel Handling #146
+108
−9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This pull request addresses two key issues related to handling animated WebP files in the Piexif library:
Canvas Size Detection:
VP8X
chunk dimensions were incorrectly set based on the last frame encountered, which could result in canvas dimensions being too small when frames of varying sizes were present.VP8X
chunk accurately reflects the overall canvas size.Alpha Channel Detection for Animated Frames:
VP8X
chunk for animated WebP files whereALPH
chunks were nested withinANMF
chunks._get_sub_chunks_from_anmf
, has been introduced to recursively examine sub-chunks withinANMF
chunks while preventing excessive recursion through a depth limit.Testing