Skip to main content

ithmb_core/
lib.rs

1#![warn(missing_docs)]
2//! # ithmb-core
3//!
4//! Pure Rust decoder for Apple `.ithmb` thumbnail cache files — the format used
5//! by iPod Classic/Nano/Photo/Video, iPhone 2G, and iPod Touch to store photo
6//! and album art thumbnails.
7//!
8//! This is the canonical reference implementation. All decoder logic lives here;
9//! language-specific wrappers (C# FFI, WASM, Python bindings) call into this core.
10// When compiled with `--cfg test` (bench/test targets), divan is available as a
11// dev-dependency but unused by the library itself — suppress the lint.
12#![cfg_attr(test, allow(unused_crate_dependencies))]
13#[cfg(feature = "cache")]
14pub mod cache;
15#[cfg(feature = "metrics")]
16pub mod metrics;
17
18pub mod cl;
19pub mod clcl;
20pub mod decoder_helpers;
21pub mod device_profiles;
22pub mod enc;
23pub mod error;
24pub mod jpeg;
25pub mod photodb;
26pub mod pixel_utils;
27pub mod profile;
28pub mod profile_db;
29pub mod profile_parser;
30pub mod reordered_rgb555;
31pub mod rgb555;
32pub mod rgb565;
33pub mod simd;
34pub mod uyvy;
35pub mod yuv;
36
37pub mod ycbcr420;
38/// Re-export error types for convenience.
39pub use error::{DecodeError, DecodedImage};
40pub mod pipeline;
41/// Re-export the primary decoding pipeline functions for convenience.
42pub use pipeline::{decode_ithmb, open_ithmb};