| Modifier and Type | Class and Description |
|---|---|
| private static class | |
| private class | MMRDecompressor.
A class encapsulating the compressed raw data. |
| Modifier and Type | Field and Description |
|---|---|
| private static MMRDecompressor. | |
| private MMRDecompressor. | |
| private static final int | |
| private static final int | |
| private int | |
| private static MMRDecompressor. | |
| private static final int | |
| private static final int | |
| private static MMRDecompressor. | |
| private int |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private static MMRDecompressor. | createLittleEndianTable(int[][] codes)
For little endian, the tables are structured like this:
v--------v length = FIRST_LEVEL_TABLE_LENGTH
v-----v length = SECOND_LEVEL_TABLE_LENGTH
A code word which fits into the first level table (length=3)
[Cccvvvvv]
A code word which needs the second level table also (length=10)
[Cccccccc] -> [ccvvv]
"C" denotes the first code word bit
"c" denotes a code word bit
"v" denotes a variant bit
|
| private void | |
| private void | |
| private static final synchronized void | |
| public Bitmap | |
| private final int | |
| private final int | uncompress2D(MMRDecompressor.
|
| blackTable | back to summary |
|---|---|
| private static MMRDecompressor. | |
| data | back to summary |
|---|---|
| private MMRDecompressor. | |
| FIRST_LEVEL_TABLE_MASK | back to summary |
|---|---|
| private static final int FIRST_LEVEL_TABLE_MASK | |
| FIRST_LEVEL_TABLE_SIZE | back to summary |
|---|---|
| private static final int FIRST_LEVEL_TABLE_SIZE | |
| height | back to summary |
|---|---|
| private int height | |
| modeTable | back to summary |
|---|---|
| private static MMRDecompressor. | |
| SECOND_LEVEL_TABLE_MASK | back to summary |
|---|---|
| private static final int SECOND_LEVEL_TABLE_MASK | |
| SECOND_LEVEL_TABLE_SIZE | back to summary |
|---|---|
| private static final int SECOND_LEVEL_TABLE_SIZE | |
| whiteTable | back to summary |
|---|---|
| private static MMRDecompressor. | |
| width | back to summary |
|---|---|
| private int width | |
| MMRDecompressor | back to summary |
|---|---|
| public MMRDecompressor(int width, int height, ImageInputStream stream) | |
| createLittleEndianTable | back to summary |
|---|---|
| private static MMRDecompressor. For little endian, the tables are structured like this:
v--------v length = FIRST_LEVEL_TABLE_LENGTH
v-----v length = SECOND_LEVEL_TABLE_LENGTH
A code word which fits into the first level table (length=3)
[Cccvvvvv]
A code word which needs the second level table also (length=10)
[Cccccccc] -> [ccvvv]
"C" denotes the first code word bit
"c" denotes a code word bit
"v" denotes a variant bit
| |
| detectAndSkipEOL | back to summary |
|---|---|
| private void detectAndSkipEOL() | |
| fillBitmap | back to summary |
|---|---|
| private void fillBitmap(Bitmap result, int line, int[] currentOffsets, int count) | |
| initTables | back to summary |
|---|---|
| private static final synchronized void initTables() | |
| uncompress | back to summary |
|---|---|
| public Bitmap uncompress() | |
| uncompress1D | back to summary |
|---|---|
| private final int uncompress1D(MMRDecompressor. | |
| uncompress2D | back to summary |
|---|---|
| private final int uncompress2D(MMRDecompressor. | |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv final int | |
| pack-priv final int | |
| pack-priv final int | |
| pack-priv MMRDecompressor. |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | equals(Object
the reference object with which to compare. obj)Overrides java. Indicates whether some other object is "equal to" this one. |
| public String |
| bitLength | back to summary |
|---|---|
| pack-priv final int bitLength | |
| codeWord | back to summary |
|---|---|
| pack-priv final int codeWord | |
| runLength | back to summary |
|---|---|
| pack-priv final int runLength | |
| subTable | back to summary |
|---|---|
| pack-priv MMRDecompressor. | |
| Code | back to summary |
|---|---|
| pack-priv Code(int[] codeData) | |
| equals | back to summary |
|---|---|
| public boolean equals(Object obj) Overrides java. Doc from java. Indicates whether some other object is "equal to" this one.
The
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non-
| |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv byte[] | |
| pack-priv int | |
| pack-priv int | |
| private static final int | |
| pack-priv int | |
| pack-priv int | |
| private static final int | |
| private static final int | |
| pack-priv int | |
| pack-priv ImageInputStream | stream
Compressed data stream. |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| private void | |
| private void | |
| private final MMRDecompressor. | |
| private final MMRDecompressor. | |
| private final int |
| buffer | back to summary |
|---|---|
| pack-priv byte[] buffer | |
| bufferBase | back to summary |
|---|---|
| pack-priv int bufferBase | |
| bufferTop | back to summary |
|---|---|
| pack-priv int bufferTop | |
| CODE_OFFSET | back to summary |
|---|---|
| private static final int CODE_OFFSET | |
| lastCode | back to summary |
|---|---|
| pack-priv int lastCode | |
| lastOffset | back to summary |
|---|---|
| pack-priv int lastOffset | |
| MAX_RUN_DATA_BUFFER | back to summary |
|---|---|
| private static final int MAX_RUN_DATA_BUFFER | |
| MIN_RUN_DATA_BUFFER | back to summary |
|---|---|
| private static final int MIN_RUN_DATA_BUFFER | |
| offset | back to summary |
|---|---|
| pack-priv int offset | |
| stream | back to summary |
|---|---|
| pack-priv ImageInputStream stream Compressed data stream. | |
| RunData | back to summary |
|---|---|
| pack-priv RunData(ImageInputStream stream) | |
| align | back to summary |
|---|---|
| private void align() Skip to next byte | |
| fillBuffer | back to summary |
|---|---|
| private void fillBuffer(int byteOffset) throws IOException | |
| uncompressGetCode | back to summary |
|---|---|
| private final MMRDecompressor. | |
| uncompressGetCodeLittleEndian | back to summary |
|---|---|
| private final MMRDecompressor. | |
| uncompressGetNextCodeLittleEndian | back to summary |
|---|---|
| private final int uncompressGetNextCodeLittleEndian() Fill up the code word in little endian mode. This is a hotspot, therefore the algorithm is heavily optimised.
For the frequent cases (i.e. short words) we try to get away with as little work as possible. | |