![]() |
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. |