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 ] |
31 | extern crate alloc; |
32 | |
33 | #[cfg (not(feature = "log" ))] |
34 | pub mod log; |
35 | |
36 | #[cfg (feature = "log" )] |
37 | pub use log; |
38 | |
39 | pub mod bit_depth; |
40 | pub mod bytestream; |
41 | pub mod colorspace; |
42 | pub mod options; |
43 | pub mod result; |
44 | mod serde; |
45 | |