-
Notifications
You must be signed in to change notification settings - Fork 144
Avif #674
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
… (and gif upgraded to 0.14)
…iven an opaque canvas color
…from a lossless format, even if lossless=None instead of Keep. . For lossy+transparent, choose avif>webp>png, for lossless, choose webp>png>avif. If jpeg disabled, try webp before avif/png/gif.
…re reading output buffers. Required for gif to write trailing segment.
…onToken; add instrumentation hooks in debug mode, and tests that test every possible cancellation point.
… ErrorKind::InternalError, "Maximum graph passes exceeded ({}>{}) instead
…e when given an opaque canvas color" This reverts commit 7da91c9.
…el presence (yes -> png etc, no -> jpeg etc)
…and allow versions of the engine.
…use png24 if there is no alpha.
…eg encoding, if a transparent matte color is provided, apply a final white matte.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds AVIF encoding support to imageflow, including a new AVIF encoder implementation, diagnostic data collection infrastructure, encoder finalization improvements, and comprehensive test coverage for format selection and AVIF encoding.
Key Changes:
- Implemented AVIF encoder with configurable quality, speed, and alpha quality parameters
- Added diagnostic data collection system for all encoders to track encoding parameters and results
- Enhanced encoder lifecycle with finalization support via
into_io()method - Improved format selection logic with preview and legacy modes
Reviewed changes
Copilot reviewed 37 out of 38 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| imageflow_types/src/lib.rs | Added AvifEncoderHints struct, Display traits for Color types, diagnostic_data field to EncodeResult, and enhanced BoolKeep resolution logic |
| imageflow_core/src/codecs/avif_encoder.rs | New AVIF encoder implementation using ravif library with quality/speed controls |
| imageflow_core/src/codecs/diagnostic_collector.rs | New diagnostic data collection utility for encoder telemetry |
| imageflow_core/src/codecs/mod.rs | Added into_io() method to Encoder trait and encoder finalization infrastructure |
| imageflow_riapi/src/ir4/encoder.rs | Updated allowed formats handling and added AVIF encoder hints mapping |
| imageflow_riapi/src/ir4/parsing.rs | Added AVIF-related IR4 keys and test coverage |
| imageflow_core/tests/smoke.rs | Comprehensive format selection integration tests with magic byte verification |
| imageflow_core/tests/visuals.rs | New AVIF encoding smoke tests and transparent canvas test |
| imageflow_tool/Cargo.toml | Updated zip dependency from 2.3.0 to 6.0.0 |
| Cargo.toml | Updated libwebp-sys patch and libpng-sys repository |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.