27#define TINY_DEFLATE_WINDOW 32768u
49#define TINY_DEFLATE_FAST_BITS 11u
58#define TINY_DEFLATE_MAX_READ (TINY_DEFLATE_WINDOW - 258u)
153 TinyInflate* state,
const uint8_t* data,
size_t size,
int zlib
192 const uint8_t* data,
size_t size,
int zlib,
TinyWriter* out
TinyDeflateLevel
How hard the compressor should look for matches.
Definition deflate.h:205
@ TINYIMG_DEFLATE_FAST
One hash chain probe per position, no lazy matching.
Definition deflate.h:217
@ TINYIMG_DEFLATE_BEST
A long chain walk, for when output size matters more than time.
Definition deflate.h:225
@ TINYIMG_DEFLATE_HUFFMAN
Entropy code the input without searching for matches at all.
Definition deflate.h:213
@ TINYIMG_DEFLATE_DEFAULT
A bounded chain walk with lazy matching, which is the default.
Definition deflate.h:221
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:49
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:570
A canonical Huffman decode table.
Definition deflate.h:66
uint16_t counts[16]
Definition deflate.h:68
uint16_t fast[1u<< TINY_DEFLATE_FAST_BITS]
Definition deflate.h:73
uint16_t symbols[288]
Definition deflate.h:70
A DEFLATE stream being read.
Definition deflate.h:88
uint32_t adler_a
Definition deflate.h:129
int inside
Definition deflate.h:119
int zlib
Definition deflate.h:127
uint32_t adler_b
Definition deflate.h:131
int mode
Definition deflate.h:123
size_t produced
Definition deflate.h:109
size_t stored
Definition deflate.h:125
size_t head
Definition deflate.h:95
uint8_t * window
Definition deflate.h:93
TinyHuffman * distances
Definition deflate.h:114
size_t tail
Definition deflate.h:99
TinyHuffman * literals
Definition deflate.h:112
int error
Definition deflate.h:133
int done
Definition deflate.h:117
size_t pending
Definition deflate.h:97
TinyBitReader bits
Definition deflate.h:90
A grow on demand byte sink.
Definition util.h:412
Umbrella header, version and error codes.
Math shims, lookup table builders, checksums and bit level IO.