

#include <nitro/mi/uncomp_stream.h>
typedef struct { u8* destp; // 4B s32 destCount; // 4B u16 destTmp; // 2B u8 destTmpCnt; // 1B u8 flags; // 1B u8 flagIndex; // 1B u8 length; // 1B u8 lengthFlg; // 1B u8 _padding[1]; // 1B // 計 16B } MIUncompContextLZ;
LZ77圧縮されたデータをカードから読み込みながら順次ストリーミング展開をおこなう際に、
データ展開状況を保存しておくためのコンテキスト構造体です。
MI_InitUncompContextLZ()でコンテキストの初期化をおこない、MI_ReadUncompLZ*()でこのコンテキストを使用して展開状況を保管します。
| destp | 展開したデータの書き込み先領域へのポインタ |
| destCount | 残り書き込みサイズ |
| destTmp | 書き込み途中のデータ退避用 |
| destTmpCnt | 書き込み途中のデータサイズ退避用 |
| flags | 圧縮フラグデータ退避用 |
| flagIndex | フラグデータのカレントインデックス退避用 |
| length | 連続書き込みサイズ退避用 |
| lengthFlg | 2バイトにまたがるoffset情報のリード途中であるかどうかの退避用 |
MI_InitUncompContextLZ, MI_ReadUncompLZ*, MIUncompContextRL,MIUncompContextHuffman
2004/11/30 初版