| Modifier and Type | Field and Description |
|---|---|
| pack-priv final int | alphabetSize
The total number of codes (uniform for each table). |
| private final int[][] | codeBases
An array of values for each Huffman table that must be subtracted from the numerical value of a Huffman code of a given bit length to give its canonical code index. |
| private final int[][] | codeLimits
An array of values for each Huffman table that gives the highest numerical value of a Huffman code of a given bit length. |
| private final int[][] | codeSymbols
A mapping for each Huffman table from canonical code index to output symbol. |
| pack-priv int | |
| pack-priv int | |
| pack-priv int | |
| pack-priv int | |
| private int | currentTable
The Huffman table for the current group. |
| private int | groupIndex
The index of the current group within the selectors array. |
| private int | groupPosition
The byte position within the current group. |
| private final int[] | minimumLengths
The minimum code length for each Huffman table. |
| pack-priv boolean | |
| private final Bzip2BitReader | reader
A reader that provides bit-level reads. |
| pack-priv byte[] | selectors
The Huffman table number to use for each group of 50 symbols. |
| pack-priv final byte[][] | tableCodeLengths
The Canonical Huffman code lengths for each table. |
| pack-priv final Bzip2MoveToFrontTable | tableMTF
Table for Move To Front transformations. |
| pack-priv final int | totalTables
Total number of used Huffman tables in range 2..6. |
| Access | Constructor and Description |
|---|---|
| pack-priv | Bzip2HuffmanStageDecoder(final Bzip2BitReader reader, final int totalTables, final int alphabetSize)
|
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void | createHuffmanDecodingTables()
Constructs Huffman decoding tables from lists of Canonical Huffman code lengths. |
| pack-priv int |
| alphabetSize | back to summary |
|---|---|
| pack-priv final int alphabetSize The total number of codes (uniform for each table). | |
| codeBases | back to summary |
|---|---|
| private final int[][] codeBases An array of values for each Huffman table that must be subtracted from the numerical value of a Huffman code of a given bit length to give its canonical code index. | |
| codeLimits | back to summary |
|---|---|
| private final int[][] codeLimits An array of values for each Huffman table that gives the highest numerical value of a Huffman code of a given bit length. | |
| codeSymbols | back to summary |
|---|---|
| private final int[][] codeSymbols A mapping for each Huffman table from canonical code index to output symbol. | |
| currentAlpha | back to summary |
|---|---|
| pack-priv int currentAlpha | |
| currentGroup | back to summary |
|---|---|
| pack-priv int currentGroup | |
| currentLength | back to summary |
|---|---|
| pack-priv int currentLength | |
| currentSelector | back to summary |
|---|---|
| pack-priv int currentSelector | |
| currentTable | back to summary |
|---|---|
| private int currentTable The Huffman table for the current group. | |
| groupIndex | back to summary |
|---|---|
| private int groupIndex The index of the current group within the selectors array. | |
| groupPosition | back to summary |
|---|---|
| private int groupPosition The byte position within the current group. A new group is selected every 50 decoded bytes. | |
| minimumLengths | back to summary |
|---|---|
| private final int[] minimumLengths The minimum code length for each Huffman table. | |
| modifyLength | back to summary |
|---|---|
| pack-priv boolean modifyLength | |
| reader | back to summary |
|---|---|
| private final Bzip2BitReader reader A reader that provides bit-level reads. | |
| selectors | back to summary |
|---|---|
| pack-priv byte[] selectors The Huffman table number to use for each group of 50 symbols. | |
| tableCodeLengths | back to summary |
|---|---|
| pack-priv final byte[][] tableCodeLengths The Canonical Huffman code lengths for each table. | |
| tableMTF | back to summary |
|---|---|
| pack-priv final Bzip2MoveToFrontTable tableMTF Table for Move To Front transformations. | |
| totalTables | back to summary |
|---|---|
| pack-priv final int totalTables Total number of used Huffman tables in range 2..6. | |
| Bzip2HuffmanStageDecoder | back to summary |
|---|---|
| pack-priv Bzip2HuffmanStageDecoder(final Bzip2BitReader reader, final int totalTables, final int alphabetSize) | |
| createHuffmanDecodingTables | back to summary |
|---|---|
| pack-priv void createHuffmanDecodingTables() Constructs Huffman decoding tables from lists of Canonical Huffman code lengths. | |
| nextSymbol | back to summary |
|---|---|
| pack-priv int nextSymbol() Decodes and returns the next symbol.
| |