9 releases

0.3.4 Jan 17, 2024
0.3.3 Dec 26, 2023
0.3.1 Nov 1, 2023
0.3.0 Mar 17, 2023
0.1.1 Dec 23, 2022

#79 in Compression

Download history 238736/week @ 2024-01-22 242737/week @ 2024-01-29 262651/week @ 2024-02-05 263476/week @ 2024-02-12 243754/week @ 2024-02-19 290330/week @ 2024-02-26 287876/week @ 2024-03-04 281968/week @ 2024-03-11 292200/week @ 2024-03-18 289793/week @ 2024-03-25 290731/week @ 2024-04-01 259081/week @ 2024-04-08 288138/week @ 2024-04-15 288694/week @ 2024-04-22 287382/week @ 2024-04-29 281003/week @ 2024-05-06

1,168,805 downloads per month
Used in 2,549 crates (2 directly)

MIT/Apache

120KB
2K SLoC

fdeflate

crates.io Documentation Build Status

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:

Dependencies