Uh oh!
There was an error while loading. Please reload this page.
v4 : Add Full Metadata Parsing for WEBP Animations - #3001
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds comprehensive metadata parsing support for WebP animated images, addressing issues #2992 and #2988. The changes enable full frame metadata extraction during the Identify operation for animated WebP files, bringing animation metadata handling to parity with full decode operations.
Key Changes:
- Implemented
Identifymethod inWebpAnimationDecoderto extract frame metadata without full image decoding - Enhanced segment integrity handling with configurable validation for EXIF/XMP chunks
- Added resolution metadata extraction from EXIF profiles during WebP decoding
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| WebpDecoderTests.cs | Added test cases to verify frame metadata extraction via Identify for both lossless and lossy animated WebP images |
| WebpImageInfo.cs | Added DataSize property to track encoded image data size |
| WebpDecoderCore.cs | Integrated animation decoder into Identify path and added configurable segment integrity handling |
| WebpChunkParsingUtils.cs | Enhanced optional chunk parsing with EXIF resolution extraction and segment integrity validation |
| WebpAnimationDecoder.cs | Implemented new Identify method and added ReadFrameInfo helper for metadata-only parsing |
| PngFrameMetadata.cs | Fixed documentation error: changed "hundredths" to "seconds" for frame delay description |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Prerequisites
Description
Fixes#2992
Fixes#2988 (I wasn't using up my LFS budget for a separate run)