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

#88 in Compression

Download history 262369/week @ 2024-01-02 261503/week @ 2024-01-09 247986/week @ 2024-01-16 236851/week @ 2024-01-23 248732/week @ 2024-01-30 257064/week @ 2024-02-06 260218/week @ 2024-02-13 251929/week @ 2024-02-20 291220/week @ 2024-02-27 292661/week @ 2024-03-05 280410/week @ 2024-03-12 294874/week @ 2024-03-19 286682/week @ 2024-03-26 284798/week @ 2024-04-02 266582/week @ 2024-04-09 241594/week @ 2024-04-16

1,128,996 downloads per month
Used in 2,510 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