diff options
author | Valentin Popov <valentin@popov.link> | 2024-01-08 00:21:28 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2024-01-08 00:21:28 +0300 |
commit | 1b6a04ca5504955c571d1c97504fb45ea0befee4 (patch) | |
tree | 7579f518b23313e8a9748a88ab6173d5e030b227 /vendor/fdeflate/README.md | |
parent | 5ecd8cf2cba827454317368b68571df0d13d7842 (diff) | |
download | fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.tar.xz fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.zip |
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'vendor/fdeflate/README.md')
-rw-r--r-- | vendor/fdeflate/README.md | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/vendor/fdeflate/README.md b/vendor/fdeflate/README.md new file mode 100644 index 0000000..a92a494 --- /dev/null +++ b/vendor/fdeflate/README.md @@ -0,0 +1,26 @@ +# fdeflate + +[![crates.io](https://img.shields.io/crates/v/fdeflate.svg)](https://crates.io/crates/fdeflate) +[![Documentation](https://docs.rs/fdeflate/badge.svg)](https://docs.rs/fdeflate) +[![Build Status](https://img.shields.io/github/actions/workflow/status/image-rs/fdeflate/rust.yml?label=Rust%20CI)](https://github.com/image-rs/fdeflate/actions) + +A fast deflate implementation. + +This crate contains an optimized implementation of the deflate algorithm tuned to compress PNG +images. It is compatible with standard zlib, but make a bunch of simplifying assumptions that +drastically improve encoding performance: + +- Exactly one block per deflate stream. +- No distance codes except for run length encoding of zeros. +- A single fixed huffman tree trained on a large corpus of PNG images. +- All huffman codes are <= 12 bits. + +It also contains a fast decompressor that supports arbitrary zlib streams but does especially +well on streams that meet the above assumptions. + +### Inspiration + +The algorithms in this crate take inspiration from multiple sources: +* [fpnge](https://github.com/veluca93/fpnge) +* [zune-inflate](https://github.com/etemesi254/zune-image/tree/main/zune-inflate) +* [RealTime Data Compression blog](https://fastcompression.blogspot.com/2015/10/huffman-revisited-part-4-multi-bytes.html) |