12 releases

new 0.3.7 Dec 6, 2024
0.3.6 Oct 28, 2024
0.3.5 Sep 25, 2024
0.3.4 Jan 17, 2024
0.2.1 Dec 31, 2022

#57 in Compression

Download history 394627/week @ 2024-08-21 341701/week @ 2024-08-28 376883/week @ 2024-09-04 345897/week @ 2024-09-11 350261/week @ 2024-09-18 414564/week @ 2024-09-25 431484/week @ 2024-10-02 397628/week @ 2024-10-09 415793/week @ 2024-10-16 405831/week @ 2024-10-23 405909/week @ 2024-10-30 396184/week @ 2024-11-06 442299/week @ 2024-11-13 419864/week @ 2024-11-20 382092/week @ 2024-11-27 380352/week @ 2024-12-04

1,690,400 downloads per month
Used in 2,983 crates (2 directly)

MIT/Apache

93KB
2K SLoC

fdeflate

crates.io Documentation Build Status

A fast and safe deflate implementation for PNG.

This crate contains an optimized implementation of the deflate algorithm tuned for PNG images.

At least on PNG data, our decoder rivals the performance of zlib-ng and zlib-rs without using any unsafe code.

When compressing it makes a bunch of simplifying assumptions that drastically improve encoding speed while still being compatible with zlib:

  • 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.

Inspiration

The algorithms in this crate take inspiration from multiple sources:

Dependencies