|
XenevaOS
|
Public Attributes | |
| const uint8_t *restrict | data |
| size_t | data_len |
| size_t | data_sb_next |
| const uint8_t * | sb_data |
| size_t | sb_bit |
| uint32_t | sb_bit_count |
Context for reading LZW data.
LZW data is split over multiple sub-blocks. Each sub-block has a byte at the start, which says the sub-block size, and then the data. Zero-size sub-blocks have no data, and the biggest sub-block size is 255, which means there are 255 bytes of data following the sub-block size entry.
Note that an individual LZW code can be split over up to three sub-blocks.
| const uint8_t* restrict lzw_read_ctx::data |
Pointer to start of input data
| size_t lzw_read_ctx::data_len |
Input data length
| size_t lzw_read_ctx::data_sb_next |
Offset to sub-block size
| size_t lzw_read_ctx::sb_bit |
Current bit offset in sub-block
| uint32_t lzw_read_ctx::sb_bit_count |
Bit count in sub-block
| const uint8_t* lzw_read_ctx::sb_data |
Pointer to current sub-block in data