No description
Find a file
2022-01-03 14:25:40 +03:00
.github/workflows Add GitHub Actions CI config 2022-01-03 14:25:40 +03:00
assets Add assets for tests and reference checks 2021-12-29 20:56:07 +03:00
doc Add qoi format specification pdf to the repo 2022-01-03 14:25:40 +03:00
ext (Update the upstream qoi submodule) 2021-12-29 20:56:30 +03:00
fuzz Update fuzz targets 2022-01-03 14:25:40 +03:00
qoi-bench Update tests and benches to the new encoder API 2022-01-03 01:11:16 +03:00
src Clean up header struct/mod, add docstrings 2022-01-03 14:25:40 +03:00
tests Update tests and benches to the new encoder API 2022-01-03 01:11:16 +03:00
.gitignore (Update .gitignore - ignore bench suite pngs) 2021-12-31 02:01:24 +03:00
.gitmodules Add reference implementation as a submodule 2021-11-29 04:21:09 +00:00
Cargo.toml Update Cargo.toml 2022-01-03 14:25:40 +03:00
LICENSE-APACHE Add license files 2022-01-03 14:25:40 +03:00
LICENSE-MIT Add license files 2022-01-03 14:25:40 +03:00
README.md Update the readme with the benchmark timings 2022-01-03 14:25:40 +03:00
rustfmt.toml Initial working version (but lots of temp stuff) 2021-11-28 16:20:24 +00:00

qoi-fast

VERY fast encoder/decoder for QOI image format, implemented in pure Rust.

Build Latest Version Documentation Apache 2.0 MIT

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::io streams directly.
  • 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            4408.43      5529.64        282.3        225.1
qoi-fast         3202.04      4666.84        388.7        266.7

License

Dual-licensed under the terms of both the MIT license and the Apache License (Version 2.0)