#![deny(missing_docs)]
extern crate alloc;
mod backend;
mod batch;
mod decode;
mod encode;
mod parallelism;
mod recode;
pub mod context;
pub use context::J2kContext;
pub mod error;
pub use error::J2kError;
pub mod scratch;
pub use scratch::J2kScratchPool;
pub mod adapter;
pub mod view;
pub use view::{J2kCodec, J2kDecoder, J2kRowDecodeOptions, J2kView};
pub use batch::{
decode_tile_into_in_context, decode_tile_region_into_in_context,
decode_tile_region_scaled_into_in_context, decode_tile_scaled_into_in_context,
decode_tiles_into, decode_tiles_region_into, decode_tiles_region_scaled_into,
decode_tiles_scaled_into, TileBatchError, TileBatchOptions, TileDecodeJob, TileRegionDecodeJob,
TileRegionScaledDecodeJob, TileScaledDecodeJob,
};
pub use parallelism::CpuDecodeParallelism;
pub use encode::{
encode_j2k_lossless, encode_j2k_lossless_with_accelerator, encode_j2k_lossy,
encode_j2k_lossy_with_accelerator, j2k_lossless_decomposition_levels,
j2k_lossless_decomposition_levels_for_options,
j2k_lossless_decomposition_levels_for_progression, EncodeBackendPreference, EncodedJ2k,
EncodedLossyJ2k, J2kBlockCodingMode, J2kEncodeValidation, J2kLosslessEncodeOptions,
J2kLosslessSamples, J2kLossyEncodeOptions, J2kLossyEncodeReport, J2kLossySamples,
J2kMarkerSegment, J2kProgressionOrder, J2kQualityLayer, J2kRateTarget, ReversibleTransform,
};
pub use recode::{
recode_j2k_to_htj2k_lossless, J2kToHtj2kMode, J2kToHtj2kOptions, J2kToHtj2kReport,
ReencodedHtj2k,
};
pub use j2k_core::{
BackendKind, BackendRequest, BufferError, CodecError, CompressedPayloadKind,
CompressedTransferSyntax, DecodeOutcome, DecodeRowsError, DecoderContext, Downscale,
ImageCodec, ImageDecode, ImageDecodeRows, PassthroughCandidate, PassthroughDecision,
PassthroughRejectReason, PassthroughRequirements, PixelFormat, Rect, RowSink, TileBatchDecode,
};
pub(crate) mod parse;