Bug: 69061459

Clone this repo:
  1. 5238843 Mark ab/6881855 as merged by Xin Li · 9 weeks ago master
  2. 31ca633 puffin: use unversioned libchrome libraray. am: 1e4473b3a0 by Qijiang Fan · 3 months ago
  3. 1e4473b puffin: use unversioned libchrome libraray. by Qijiang Fan · 3 months ago
  4. 030a0b2 Skip ab/6749736 in stage. by Xin Li · 4 months ago
  5. 3874a80 Merge "Remove cyclic symlink" am: 26f650ce37 am: 932998b9cd am: 511ad80280 am: e549fd6c75 by Elliott Hughes · 4 months 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_.