#![no_std]
#![forbid(unsafe_code)]
extern crate alloc;
whereat::define_at_crate_info!();
mod capabilities;
mod color;
mod cost;
mod detect;
mod error;
pub mod estimate;
pub mod exif;
mod extensions;
mod fidelity;
mod format;
pub mod gainmap;
pub mod helpers;
pub mod icc;
mod info;
mod limits;
mod metadata;
mod negotiate;
mod orientation;
mod output;
mod policy;
mod sink;
mod traits;
pub use color::{
CicpEmission, ColorEmitFields, ColorEmitPlan, ColorEmitPolicy, IccDisposition,
resolve_color_emit,
};
pub use exif::{Exif, ExifPolicy, Retention, TextEncoding};
pub use extensions::Extensions;
pub use format::{ImageFormat, ImageFormatDefinition, ImageFormatRegistry};
pub use gainmap::{
GainMapChannel, GainMapDirection, GainMapInfo, GainMapParams, GainMapPresence, GainMapRender,
ISO_21496_1_PRIMARY_APP2_BODY, ISO_21496_1_URN, Iso21496Format,
};
#[allow(deprecated)]
pub use icc::icc_extract_cicp;
pub use info::{
Cicp, ContentLightLevel, ImageInfo, ImageSequence, MasteringDisplay, Resolution,
ResolutionUnit, SourceColor, Supplements,
};
pub use limits::{AllocPreference, LimitExceeded, ResourceLimits, ThreadingPolicy};
pub use metadata::{IccRetention, Metadata, MetadataFields, MetadataPolicy};
pub use orientation::{Orientation, OrientationHint};
pub use output::{AnimationFrame, OwnedAnimationFrame};
pub use zenpixels::ColorAuthority;
pub use capabilities::UnsupportedOperation;
pub use detect::SourceEncodingDetails;
pub use error::{CodecErrorExt, find_cause};
pub use traits::Unsupported;
pub use almost_enough::StopToken;
pub use enough;
pub use enough::Unstoppable;
pub(crate) use capabilities::{DecodeCapabilities, EncodeCapabilities};
pub(crate) use cost::OutputInfo;
pub(crate) use output::{DecodeOutput, EncodeOutput};
pub(crate) use policy::{DecodePolicy, EncodePolicy};
pub(crate) use sink::DecodeRowSink;
pub mod encode {
pub use crate::traits::{AnimationFrameEncoder, EncodeJob, Encoder, EncoderConfig};
pub use crate::traits::{
BoxedError, DynAnimationFrameEncoder, DynEncodeJob, DynEncoder, DynEncoderConfig,
};
pub use crate::capabilities::EncodeCapabilities;
pub use crate::fidelity::{Fidelity, LossyTarget};
pub use crate::negotiate::best_encode_format;
pub use crate::output::EncodeOutput;
pub use crate::policy::EncodePolicy;
}
pub mod decode {
pub use crate::traits::{
AnimationFrameDecoder, Decode, DecodeJob, DecoderConfig, StreamingDecode,
};
pub use crate::traits::{
BoxedError, DynAnimationFrameDecoder, DynDecodeJob, DynDecoder, DynDecoderConfig,
DynStreamingDecoder,
};
pub use crate::capabilities::DecodeCapabilities;
pub use crate::cost::OutputInfo;
pub use crate::output::{AnimationFrame, DecodeOutput, OwnedAnimationFrame};
pub use crate::policy::DecodePolicy;
pub use crate::sink::{DecodeRowSink, SinkError};
pub use crate::negotiate::{is_format_available, negotiate_pixel_format};
pub use crate::detect::SourceEncodingDetails;
pub use crate::info::{EmbeddedMetadata, SourceColor};
pub use crate::gainmap::{DecodedGainMap, GainMapRender};
}