Imaging: implement JPEG2000 codec adapter #40
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Implement J2K/JP2 encode/decode behavior through the imaging codec boundary.
Deliverables
Validation
Prerequisite
Types and StructuredData are implemented and the global API/test gates are complete.
Project constraints
Implemented and pushed in commit
16501f2.Implementation:
jpeg2000feature with a safe Rust codec API and a private, bounded OpenJPEG 2.5.4+ ABI adapter; default crates do not discover or link OpenJPEG.Verification:
cargo test -p libremetaverse-imaging --features jpeg2000: 15 passed, including an exact 16-bit OpenJPEG 2.5.4 golden, J2K/JP2 lossless round trips, lossy encode/decode, alpha, discard, bounds, and malformed inputs.cargo test -p libremetaverse --features jpeg2000 j2k: 3 passed for the pinned C# creator/interleaved/block-source behavior.