zune_core/lib.rs
1/*
2 * Copyright (c) 2023.
3 *
4 * This software is free software; You can redistribute it or modify it under terms of the MIT, Apache License or Zlib license
5 */
6
7//! Core routines shared by all libraries
8//!
9//! This crate provides a set of core routines shared
10//! by the decoders and encoders under `zune` umbrella
11//!
12//! It currently contains
13//!
14//! - A bytestream reader and writer with endian aware reads and writes
15//! - Colorspace and bit depth information shared by images
16//! - Image decoder and encoder options
17//! - A simple enum type to hold image decoding results.
18//!
19//! This library is `#[no_std]` with `alloc` feature needed for defining `Vec`
20//! which we need for storing decoded bytes.
21//!
22//!
23//! # Features
24//! - `no_std`: Enables `#[no_std]` compilation support.
25//!
26//! - `serde`: Enables serializing of some of the data structures
27//! present in the crate
28//!
29#![cfg_attr(not(feature = "std"), no_std)]
30#![macro_use]
31extern crate alloc;
32
33#[cfg(not(feature = "log"))]
34pub mod log;
35
36#[cfg(feature = "log")]
37pub use log;
38
39pub mod bit_depth;
40pub mod bytestream;
41pub mod colorspace;
42pub mod options;
43pub mod result;
44mod serde;