XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
lzw_read_ctx Struct Reference

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
 

Detailed Description

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.

Member Data Documentation

◆ data

const uint8_t* restrict lzw_read_ctx::data

Pointer to start of input data

◆ data_len

size_t lzw_read_ctx::data_len

Input data length

◆ data_sb_next

size_t lzw_read_ctx::data_sb_next

Offset to sub-block size

◆ sb_bit

size_t lzw_read_ctx::sb_bit

Current bit offset in sub-block

◆ sb_bit_count

uint32_t lzw_read_ctx::sb_bit_count

Bit count in sub-block

◆ sb_data

const uint8_t* lzw_read_ctx::sb_data

Pointer to current sub-block in data


The documentation for this struct was generated from the following file: