rustdesk/vendor/fdeflate
2024-10-11 18:43:02 +03:00
..
src Performed vendorization 2024-10-11 18:43:02 +03:00
.cargo-checksum.json Performed vendorization 2024-10-11 18:43:02 +03:00
Cargo.toml Performed vendorization 2024-10-11 18:43:02 +03:00
LICENSE-APACHE Performed vendorization 2024-10-11 18:43:02 +03:00
LICENSE-MIT Performed vendorization 2024-10-11 18:43:02 +03:00
README.md Performed vendorization 2024-10-11 18:43:02 +03:00

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: