#include <revolution/cx/CXStreamingUncompression.h>
typedef struct { u8* destp; // 4B s32 destCount; // 4B u32 freq9[ 0x200 ]; // 2048B u32 low_cnt9[ 0x200 ]; // 2048B u32 freq12[ 0x1000 ]; // 16384B u32 low_cnt12[ 0x1000 ]; // 16384B u32 total9; // 4B u32 total12; // 4B u32 range; // 4B u32 code; // 4B u32 low; // 4B u32 carry_cnt; // 4B u8 carry; // 1B u8 codeLen; // 1B u16 length; // 2B u32 headerSize; // 4B // Total 36904B } CXUncompContextLRC;
This is the context structure where the status of data uncompression is stored when LRC-compressed data is undergoing streaming uncompression while being read from the Card.
The context is initialized by the CXInitUncompContextLRC function and used by the CXReadUncompLRC function to store the uncompression status.
| destp | Pointer to the region where uncompressed data will be written |
| destCount | Remaining write size |
| destTmp | For storing data while writing |
| destTmpCnt | For storing data size while writing |
| flags | For storing compression flag data |
| flagIndex | For storing the current index of flag data |
| length | For storing the size of the continuous write |
| lengthFlg | For storing whether or not offset information spanning 2 bytes is currently being read |
| headerSize | For storing the compressed header size while reading |
CXInitUncompContextLRC, CXReadUncompLRC, CXUncompContextRL,CXUncompContextHuffman
2007/11/01 Initial version.
CONFIDENTIAL