#include <revolution/cx/CXStreamingUncompression.h>
typedef struct { u8* destp; // 4B s32 destCount; // 4B u16 huffTable9[ 0x400 ]; // 2048B u16 huffTable12[ 0x40 ]; // 128B u16* nodep; // 4B s32 tableSize9; // 4B s32 tableSize12; // 4B u32 tableIdx; // 4B u32 stream; // 4B u32 stream_len; // 4B u32 headerSize; // 4B u16 length; // 2B s8 offset_bits; // 1B u8 padding_[1]; // 1B // Total 2216B } CXUncompContextLH;
Context structure where the status of data uncompression is stored when LH-compressed data is undergoing streaming uncompression while being read from the Card.
The context is initialized by the CXInitUncompContextLH function and used by the CXReadUncompLH function to store the uncompression status.
| destp | Pointer to destination region where uncompressed data will be written. |
|---|---|
| destCount | Remaining write size. |
| forceDestCount | Decompression size. |
| huffTable9 | For backing up the Huffman encoding table for data and current pointer. |
| huffTable12 | For backing up the Huffman encoding table for offset and current pointer. |
| nodep | Node being searched for in the Huffman table. |
| tableSize9 | Table size for data being loaded. |
| tableSize12 | Table size for offset being loaded. |
| tableIdx | Table load position index. |
| stream | Bitstream for loading. |
| stream_len | Number of active bits in stream for loading. |
| length | LZ compression capture length. |
| offset_bits | Bit length of offset information. |
| headerSize | Size of header being read. |
CXInitUncompContextLH
CXReadUncompLH
CXUncompContextRL
CXUncompContextHuffman
2009/01/28 Initial version.
CONFIDENTIAL