

#include <nitro/mi/uncomp_stream.h>
s32 MI_ReadUncompRL8( MIUncompContextRL *context, const u8* data, u32 len );
s32 MI_ReadUncompRL16( MIUncompContextRL *context, const u8* data, u32 len );
| context | ランレングス圧縮されたデータの展開用コンテキスト構造体へのポインタです。 |
| data | 展開するデータの一部へのポインタです。 |
| len | 渡されたデータのデータサイズです。 |
展開されるデータの残りバイト数が返されます。
すべてのデータを展開し終えた場合には0となります。
ランレングス圧縮されたデータを与えられたデータサイズ分だけ順次ストリーミング展開し、
MI_InitUncompContextRL()で設定されたバッファへコピーします。
展開速度は、MI_UncompressRL*関数で一度に展開する場合に比べると低速です。
MI_ReadUncompRL8() は、8bit単位で書き込みます。
NITROではVRAMに直接展開することはできません。TWLでは展開できますが速度はかなり低速です。
MI_ReadUncompRL16()は、16bit単位で書き込みます。
NITRO/TWL共にVRAMにも直接展開できます。ただし、通常のメモリに比べると低速です。
システムコール、DMAは使用せずCPUだけで処理します。
MI_UncompressRL*, MI_InitUncompContextRL, MIUncompContextRL,MI_ReadUncompLZ*, MI_ReadUncompHuffman, MI_CompressRL
2008/12/05 TWLについての記述を追加
2004/11/30 初版