Bug: 69061459

Clone this repo:
  1. 5997a12 Remove SampleGenerator and zlib dependencies am: 9caaca88df by Amin Hassani · 8 weeks ago master
  2. 04fac2d Remove ignore_deflate_size flag am: 2d51d2b779 am: adb85ca313 by Amin Hassani · 10 weeks ago
  3. 5349745 Use Puffer (instead of zlib library) to find deflate locations am: 8d0ec65a3d by Amin Hassani · 10 weeks ago
  4. 8370aa8 Fix some naming issues in the unittest am: dd24d5c8b7 am: ad84f6ae5b by Amin Hassani · 10 weeks ago
  5. adb85ca Remove ignore_deflate_size flag am: 2d51d2b779 by Amin Hassani · 10 weeks ago

Puffin

Source code for Puffin: A utility for deterministic DEFLATE recompression.

TODO(ahassani): Describe the directory structure and how-tos.

Glossary

  • Alphabet A value that occurs in the input stream. It can be either a literal:[0..255], and end of block sign [256], a length[257..285], or a distance [0..29].

  • Huffman code A variable length code representing the Huffman encoded of an alphabet. Huffman codes can be created uniquely using Huffman code length array.

  • Huffman code array An array which an array index identifies a Huffman code and the array element in that index represents the corresponding alphabet. Throughout the code, Huffman code arrays are identified by vectors with postfix hcodes_.

  • Huffman reverse code array An array which an array index identifies an alphabet and the array element in that index contains the Huffman code of the alphabet. Throughout the code, The Huffman reverse code arrays are identified by vectors with postfix rcodes_.

  • Huffman code length The number of bits in a Huffman code.

  • Huffman code length array An array of Huffman code lengths with the array index as the alphabet. Throughout the code, Huffman code length arrays are identified by vectors with postfix lens_.