27#define TINY_DEFLATE_WINDOW 32768u
38#define TINY_DEFLATE_FAST_BITS 9u
47#define TINY_DEFLATE_MAX_READ (TINY_DEFLATE_WINDOW - 258u)
132 TinyInflate* state,
const uint8_t* data,
size_t size,
int zlib
171 const uint8_t* data,
size_t size,
int zlib,
TinyWriter* out
TinyDeflateLevel
How hard the compressor should look for matches.
Definition deflate.h:184
@ TINYIMG_DEFLATE_FAST
One hash chain probe per position, no lazy matching.
Definition deflate.h:196
@ TINYIMG_DEFLATE_BEST
A long chain walk, for when output size matters more than time.
Definition deflate.h:204
@ TINYIMG_DEFLATE_HUFFMAN
Entropy code the input without searching for matches at all.
Definition deflate.h:192
@ TINYIMG_DEFLATE_DEFAULT
A bounded chain walk with lazy matching, which is the default.
Definition deflate.h:200
int tiny_inflate_all(const uint8_t *data, size_t size, int zlib, TinyWriter *out)
Decompresses a whole stream into a growing sink.
int tiny_inflate_init(TinyInflate *state, const uint8_t *data, size_t size, int zlib)
Prepares a stream for reading.
#define TINY_DEFLATE_FAST_BITS
Bits the Huffman decoder resolves from one table lookup.
Definition deflate.h:38
long tiny_inflate_read(TinyInflate *state, uint8_t *out, size_t size)
Reads decompressed bytes, producing only as many as are asked for.
int tiny_deflate(const uint8_t *data, size_t size, TinyDeflateLevel level, int zlib, TinyWriter *out)
Compresses a buffer into a growing sink.
int tiny_inflate_finish(TinyInflate *state)
Checks the stream ended cleanly, including a zlib trailer if there was a header.
Reads a bitstream out of a byte buffer.
Definition util.h:547
A canonical Huffman decode table.
Definition deflate.h:55
uint16_t counts[16]
Definition deflate.h:57
uint16_t fast[1u<< TINY_DEFLATE_FAST_BITS]
Definition deflate.h:62
uint16_t symbols[288]
Definition deflate.h:59
A DEFLATE stream being read.
Definition deflate.h:77
uint32_t adler_a
Definition deflate.h:108
int inside
Definition deflate.h:98
int zlib
Definition deflate.h:106
uint32_t adler_b
Definition deflate.h:110
int mode
Definition deflate.h:102
size_t stored
Definition deflate.h:104
size_t head
Definition deflate.h:84
uint8_t * window
Definition deflate.h:82
TinyHuffman * distances
Definition deflate.h:93
size_t tail
Definition deflate.h:88
TinyHuffman * literals
Definition deflate.h:91
int error
Definition deflate.h:112
int done
Definition deflate.h:96
size_t pending
Definition deflate.h:86
TinyBitReader bits
Definition deflate.h:79
A grow on demand byte sink.
Definition util.h:389
Umbrella header, version and error codes.
Math shims, lookup table builders, checksums and bit level IO.