Skip to content

Fast deflate implementation specialized for PNG image data

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

image-rs/fdeflate

Repository files navigation

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:

About

Fast deflate implementation specialized for PNG image data

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages