NameDateSize

..10-Aug-201812 KiB

.clang-format10-Aug-201823

Android.bp10-Aug-20182.3 KiB

libpuffdiff.pc10-Aug-2018152

libpuffpatch.pc10-Aug-2018153

LICENSE10-Aug-20181.5 KiB

Makefile10-Aug-20181.3 KiB

OWNERS10-Aug-201849

PRESUBMIT.cfg10-Aug-2018140

PREUPLOAD.cfg10-Aug-201836

puffin/10-Aug-20184 KiB

puffin.gyp10-Aug-20184.7 KiB

README.md10-Aug-20181.3 KiB

scripts/10-Aug-20184 KiB

src/10-Aug-20184 KiB

README.md

1# Puffin
2
3Source code for Puffin: A utility for deterministic DEFLATE recompression.
4
5TODO(ahassani): Describe the directory structure and how-tos.
6
7## Glossary
8
9* __Alphabet__ A value that occurs in the input stream. It can be either a
10    literal:[0..255], and end of block sign [256], a length[257..285], or a
11    distance [0..29].
12
13* __Huffman code__ A variable length code representing the Huffman encoded of an
14    alphabet. Huffman codes can be created uniquely using Huffman code length
15    array.
16* __Huffman code array__ An array which an array index identifies a Huffman code
17    and the array element in that index represents the corresponding
18    alphabet. Throughout the code, Huffman code arrays are identified by
19    vectors with postfix `hcodes_`.
20* __Huffman reverse code array__ An array which an array index identifies an
21    alphabet and the array element in that index contains the Huffman code of
22    the alphabet. Throughout the code, The Huffman reverse code arrays are
23    identified by vectors with postfix `rcodes_`.
24* __Huffman code length__ The number of bits in a Huffman code.
25* __Huffman code length array__ An array of Huffman code lengths with the array
26    index as the alphabet. Throughout the code, Huffman code length arrays
27    are identified by vectors with postfix `lens_`.
28