No description
| .github/workflows | ||
| assets | ||
| bench | ||
| doc | ||
| ext | ||
| fuzz | ||
| src | ||
| tests | ||
| .gitignore | ||
| .gitmodules | ||
| Cargo.toml | ||
| LICENSE-APACHE | ||
| LICENSE-MIT | ||
| README.md | ||
| rustfmt.toml | ||
qoi-fast
Fast encoder/decoder for QOI image format, implemented in pure and safe Rust.
Quick summary:
- One of the fastest QOI encoders/decoders out there.
- Compliant with the latest QOI format specification.
- Zero unsafe code.
- Supports decoding from / encoding to
std::iostreams directly. no_stdsupport.- Roundtrip-tested vs the reference C implementation; fuzz-tested.
Examples
todo!();
Benchmarks
Comparison to the reference C implementation (as of 00e34217), benchmarks timings collected on Apple M1 (1782 images, 1187 MB total):
codec decode:ms encode:ms decode:mp/s encode:mp/s
qoi-c 4389.75 5524.18 283.5 225.3
qoi-fast 3026.68 4304.26 411.2 289.2
no_std
This crate supports no_std mode. By default, std is enabled via the std
feature. You can deactivate the default-features to target core instead.
In that case anything related to std::io, std::error::Error and heap
allocations is disabled. There is an additional alloc feature that can
be activated to bring back the support for heap allocations.
License
This project is dual-licensed under MIT and Apache 2.0.