#[doc(hidden)]
pub mod analysis;
mod api;
mod arithmetic;
#[doc(hidden)]
pub mod config;
#[cfg(all(test, feature = "__expert"))]
mod config_expert_tests;
#[doc(hidden)]
pub mod cost;
pub(crate) mod fast_math;
pub(crate) mod psy;
#[doc(hidden)]
pub mod quantize;
mod residual_cost;
#[doc(hidden)]
pub mod tables;
mod trellis;
pub mod validation;
mod vec_writer;
#[doc(hidden)]
pub mod vp8;
#[doc(hidden)]
pub mod vp8l;
#[doc(hidden)]
pub mod zensim_target;
#[doc(hidden)]
pub mod picker;
pub use analysis::{ClassifierDiag, ImageContentType};
pub(crate) use api::EncoderParams;
pub use api::{
CostModel, EncodeError, EncodeProgress, EncodeRequest, EncodeResult, EncodeStats,
ImageMetadata, NoProgress, PixelLayout, Preset,
};
pub use config::{EncoderConfig, LosslessConfig, LossyConfig};
#[cfg(feature = "__expert")]
pub use config::{InternalParams, SharpYuvSetting};
pub use validation::ValidationError;
#[doc(hidden)]
pub use vp8l::{Vp8lConfig, Vp8lQuality, encode_vp8l};
#[cfg(feature = "ablation")]
pub use zensim_target::{AblationToggles, set_toggles as set_ablation_toggles};
pub use zensim_target::{ZensimEncodeMetrics, ZensimTarget};
pub(crate) use api::{chunk_size, encode_alpha_lossless, encode_frame_lossless, write_chunk};
pub(crate) use vec_writer::VecWriter;