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

#71 in Compression

Download history 281691/week @ 2024-03-14 291190/week @ 2024-03-21 294608/week @ 2024-03-28 265308/week @ 2024-04-04 281397/week @ 2024-04-11 284253/week @ 2024-04-18 284450/week @ 2024-04-25 291407/week @ 2024-05-02 278322/week @ 2024-05-09 319279/week @ 2024-05-16 292900/week @ 2024-05-23 368517/week @ 2024-05-30 369088/week @ 2024-06-06 354976/week @ 2024-06-13 378127/week @ 2024-06-20 325411/week @ 2024-06-27

1,502,966 downloads per month
Used in 2,641 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