Expand description
JPEG 2000 / HTJ2K codec APIs for the Rust programming language, including inspect, decode, encode, recode, and GPU-aware backend dispatch.
This is the public j2k facade crate. CPU JPEG 2000 / HTJ2K decode and
encode APIs live here, while CUDA and Apple Metal GPU adapters use the
backend traits and encode-stage contracts re-exported by this crate.
Re-exports§
pub use context::J2kContext;pub use error::J2kError;pub use scratch::J2kScratchPool;pub use view::J2kCodec;pub use view::J2kDecoder;pub use view::J2kRowDecodeOptions;pub use view::J2kView;
Modules§
- adapter
- Adapter-facing planning APIs shared with GPU crates.
- context
- Reusable JPEG 2000 decode context.
- error
- JPEG 2000 error type.
- scratch
- Caller-owned JPEG 2000 scratch pool.
- view
- Borrowed view and decoder entry points.
Structs§
- Decode
Outcome - Successful decode metadata plus non-fatal warnings.
- Decoder
Context - Wrapper that owns codec context state for repeated decode calls.
- Encoded
J2k - Encoded JPEG 2000 lossless codestream and encode metadata.
- Encoded
Lossy J2k - Encoded JPEG 2000 lossy codestream and encode metadata.
- J2kLossless
Encode Options - Options controlling JPEG 2000 lossless encoding.
- J2kLossless
Samples - Borrowed interleaved samples and image geometry for lossless encoding.
- J2kLossy
Encode Options - Options controlling stable lossy JPEG 2000 encoding.
- J2kLossy
Encode Report - Metrics reported by stable lossy JPEG 2000 encoding.
- J2kLossy
Samples - Borrowed interleaved samples and image geometry for lossy encoding.
- J2kQuality
Layer - One cumulative lossy quality layer request.
- J2kTo
Htj2k Options - Options for classic JPEG 2000 reversible 5/3 to HTJ2K lossless recoding.
- J2kTo
Htj2k Report - Metadata describing a J2K/JP2 to HTJ2K recode.
- Passthrough
Candidate - A borrowed compressed frame/tile that may be copied unchanged.
- Passthrough
Requirements - Destination requirements for copying compressed bytes unchanged.
- Rect
- Rectangle in source pixel coordinates.
- Reencoded
Htj2k - HTJ2K codestream bytes and recode metadata.
- Tile
Batch Options - Worker configuration for CPU tile batches.
Enums§
- Backend
Kind - Runtime backend that executes codec work.
- Backend
Request - Caller preference for backend selection.
- Buffer
Error - Buffer validation and copy errors.
- Compressed
Payload Kind - Encapsulation shape of the compressed bytes.
- Compressed
Transfer Syntax - Compressed syntax carried by a source frame or accepted by a destination.
- CpuDecode
Parallelism - CPU parallelism policy for JPEG 2000 decode.
- Decode
Rows Error - Error wrapper used by row-streaming decode when either the codec or the caller-provided row sink can fail.
- Downscale
- Power-of-two downscale requested during decode.
- Encode
Backend Preference - Backend preference for JPEG 2000 lossless encoding.
- J2kBlock
Coding Mode - Supported code-block coding modes for the lossless encode facade.
- J2kEncode
Validation - Validation policy for the lossless encode facade.
- J2kMarker
Segment - Optional JPEG 2000 marker segment requested for lossy encode output.
- J2kProgression
Order - Supported JPEG 2000 progression orders for the lossless encode facade.
- J2kRate
Target - Rate target for stable lossy JPEG 2000 encoding.
- J2kTo
Htj2k Mode - Recode path used for a J2K/JP2 to HTJ2K request.
- Passthrough
Decision - Result of a passthrough eligibility check.
- Passthrough
Reject Reason - First reason a compressed payload was rejected for byte-preserving copy.
- Pixel
Format - Concrete interleaved pixel format.
- Reversible
Transform - Reversible transform profile for lossless JPEG 2000 output.
Traits§
- Codec
Error - Shared error classification used by facade traits.
- Image
Codec - Common associated types shared by image codecs.
- Image
Decode - Borrowed-image decode API for codecs that parse compressed bytes directly.
- Image
Decode Rows - Row-streaming decode API for large images or stripe-oriented callers.
- RowSink
- Destination for row-streaming decode output.
- Tile
Batch Decode - Stateless tile-batch decode helpers that reuse caller-owned context.
Functions§
- decode_
tile_ into_ in_ context - One-shot parse-plus-decode of an independent J2K/HTJ2K tile into the
caller’s buffer, reusing both caller-owned
DecoderContextand caller-ownedJ2kScratchPool. - decode_
tile_ region_ into_ in_ context - One-shot parse-plus-ROI-decode of an independent J2K/HTJ2K tile into the
caller’s buffer, reusing both caller-owned
DecoderContextand caller-ownedJ2kScratchPool. - decode_
tile_ region_ scaled_ into_ in_ context - One-shot parse-plus-ROI-scaled-decode of an independent J2K/HTJ2K tile
into the caller’s buffer, reusing both caller-owned
DecoderContextand caller-ownedJ2kScratchPool. - decode_
tile_ scaled_ into_ in_ context - One-shot parse-plus-scaled-decode of an independent J2K/HTJ2K tile into the
caller’s buffer, reusing both caller-owned
DecoderContextand caller-ownedJ2kScratchPool. - decode_
tiles_ into - Decode independent J2K/HTJ2K tiles into caller-owned output buffers using a scoped CPU worker pool.
- decode_
tiles_ region_ into - Decode independent J2K/HTJ2K tile regions into caller-owned output buffers using a scoped CPU worker pool.
- decode_
tiles_ region_ scaled_ into - Decode independent J2K/HTJ2K tile regions at reduced resolution into caller-owned output buffers using a scoped CPU worker pool.
- decode_
tiles_ scaled_ into - Decode independent J2K/HTJ2K tiles at reduced resolution into caller-owned output buffers using a scoped CPU worker pool.
- encode_
j2k_ lossless - Encode interleaved samples into a raw JPEG 2000 lossless codestream.
- encode_
j2k_ lossless_ with_ accelerator - Encode interleaved samples with an optional device encode-stage accelerator.
- encode_
j2k_ lossy - Encode interleaved samples into a raw JPEG 2000 lossy codestream.
- encode_
j2k_ lossy_ with_ accelerator - Encode interleaved lossy samples with an optional device encode-stage accelerator.
- j2k_
lossless_ decomposition_ levels - Return the default lossless decomposition level policy used by the facade.
- j2k_
lossless_ decomposition_ levels_ for_ options - Return the effective lossless decomposition level policy for encode options.
- j2k_
lossless_ decomposition_ levels_ for_ progression - Return the default lossless decomposition level policy for a progression.
- recode_
j2k_ to_ htj2k_ lossless - Recode a classic JPEG 2000 reversible 5/3 J2K/JP2 input to lossless HTJ2K.
Type Aliases§
- Tile
Batch Error - Error returned by J2K CPU tile batches, annotated with the first failing tile index from the caller’s input order.
- Tile
Decode Job - One full-tile decode request for
decode_tiles_into. - Tile
Region Decode Job - One ROI tile decode request for
decode_tiles_region_into. - Tile
Region Scaled Decode Job - One ROI+scaled tile decode request for
decode_tiles_region_scaled_into. - Tile
Scaled Decode Job - One scaled tile decode request for
decode_tiles_scaled_into.