![]() |
libdragon
|
Data Structures | |
| struct | shrinkler_asm_state_t |
| Decompressor state (for assembly) More... | |
| struct | shrinkler_ctx_t |
| Decompressor state (for C) More... | |
Macros | |
| #define | ADJUST_SHIFT 4 |
| Shift amount for context probability adjustment. | |
| #define | NUM_SINGLE_CONTEXTS 1 |
| Number of single contexts. | |
| #define | NUM_CONTEXT_GROUPS 4 |
| Number of context groups | |
| #define | CONTEXT_GROUP_SIZE 256 |
| Size of each context group. | |
| #define | NUM_CONTEXTS (NUM_SINGLE_CONTEXTS + NUM_CONTEXT_GROUPS * CONTEXT_GROUP_SIZE) |
| Total number of contexts. | |
| #define | CONTEXT_KIND 0 |
| Context kind index. | |
| #define | CONTEXT_REPEATED -1 |
| Context repeated index. | |
| #define | CONTEXT_GROUP_LIT 0 |
| Context group for literals. | |
| #define | CONTEXT_GROUP_OFFSET 2 |
| Context group for offsets. | |
| #define | CONTEXT_GROUP_LENGTH 3 |
| Context group for lengths. | |
Functions | |
| void * | decompress_shrinkler_full (const char *fn, int fd, size_t cmp_size, size_t size) |
| Decompress a full Shrinkler-compressed file into a buffer. | |
| struct shrinkler_asm_state_t |
Decompressor state (for assembly)
| Data Fields | ||
|---|---|---|
| uint16_t | contexts[NUM_CONTEXTS] | Probability contexts. |
| struct shrinkler_ctx_t |
Decompressor state (for C)
| Data Fields | ||
|---|---|---|
| uint16_t | contexts[NUM_CONTEXTS] | Probability contexts. |
| unsigned | intervalsize | Current interval size. |
| uint64_t | intervalvalue | Current interval value. |
| uint8_t * | src | Pointer to the input data. |
| int | bits_left | Number of bits left in the interval. |
| void * decompress_shrinkler_full | ( | const char * | fn, |
| int | fd, | ||
| size_t | cmp_size, | ||
| size_t | size | ||
| ) |
Decompress a full Shrinkler-compressed file into a buffer.
| fn | Filename of the file to decompress |
| fd | File descriptor to read compressed data from. |
| cmp_size | Size of the compressed data. |
| size | Size of the decompressed data. |