LZ out window. More...
#include "common.h"Data Structures | |
| struct | lzma_dict |
| struct | lzma_lz_options |
| struct | lzma_lz_decoder |
Defines | |
| #define | LZMA_LZ_DECODER_INIT |
Functions | |
| lzma_ret | lzma_lz_decoder_init (lzma_next_coder *next, lzma_allocator *allocator, const lzma_filter_info *filters, lzma_ret(*lz_init)(lzma_lz_decoder *lz, lzma_allocator *allocator, const void *options, lzma_lz_options *lz_options)) |
| uint64_t | lzma_lz_decoder_memusage (size_t dictionary_size) |
| void | lzma_lz_decoder_uncompressed (lzma_coder *coder, lzma_vli uncompressed_size) |
| static uint8_t | dict_get (const lzma_dict *const dict, const uint32_t distance) |
| Get a byte from the history buffer. | |
| static bool | dict_is_empty (const lzma_dict *const dict) |
| Test if dictionary is empty. | |
| static bool | dict_is_distance_valid (const lzma_dict *const dict, const size_t distance) |
| Validate the match distance. | |
| static bool | dict_repeat (lzma_dict *dict, uint32_t distance, uint32_t *len) |
| Repeat *len bytes at distance. | |
| static bool | dict_put (lzma_dict *dict, uint8_t byte) |
| static void | dict_write (lzma_dict *restrict dict, const uint8_t *restrict in, size_t *restrict in_pos, size_t in_size, size_t *restrict left) |
| Copies arbitrary amount of data into the dictionary. | |
| static void | dict_reset (lzma_dict *dict) |
LZ out window.
| #define LZMA_LZ_DECODER_INIT |
(lzma_lz_decoder){ \ .coder = NULL, \ .code = NULL, \ .reset = NULL, \ .set_uncompressed = NULL, \ .end = NULL, \ }
| static uint8_t dict_get | ( | const lzma_dict *const | dict, | |
| const uint32_t | distance | |||
| ) | [inline, static] |
Get a byte from the history buffer.
References lzma_dict::buf, lzma_dict::pos, and lzma_dict::size.
Referenced by dict_repeat().
| static bool dict_is_empty | ( | const lzma_dict *const | dict | ) | [inline, static] |
Test if dictionary is empty.
References lzma_dict::full.
| static bool dict_is_distance_valid | ( | const lzma_dict *const | dict, | |
| const size_t | distance | |||
| ) | [inline, static] |
Validate the match distance.
References lzma_dict::full.
| static bool dict_repeat | ( | lzma_dict * | dict, | |
| uint32_t | distance, | |||
| uint32_t * | len | |||
| ) | [inline, static] |
Repeat *len bytes at distance.
References lzma_dict::buf, dict_get(), lzma_dict::full, lzma_dict::limit, lzma_dict::pos, and lzma_dict::size.
| static bool dict_put | ( | lzma_dict * | dict, | |
| uint8_t | byte | |||
| ) | [inline, static] |
Puts one byte into the dictionary. Returns true if the dictionary was already full and the byte couldn't be added.
References lzma_dict::buf, lzma_dict::full, lzma_dict::limit, and lzma_dict::pos.
| static void dict_write | ( | lzma_dict *restrict | dict, | |
| const uint8_t *restrict | in, | |||
| size_t *restrict | in_pos, | |||
| size_t | in_size, | |||
| size_t *restrict | left | |||
| ) | [inline, static] |
Copies arbitrary amount of data into the dictionary.
1.7.1