MIUncompContextLZ

定義

#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 初版