SVC_UncompressRL*

構文

#include <nitro/os/common/systemCall.h>

void SVC_UncompressRL8( const void* srcp, void* destp );
s32 SVC_UncompressRL16FromDevice( const void* srcp,
                   void* destp,
                   const void* paramp,
                   ReadStreamCallbacks *callbacks );

引数

srcp ランレングス圧縮データが格納されているソースアドレス
destp 展開するディスティネーションアドレス
paramp MIReadStreamCallbacks 構造体の initStream関数へ渡すパラメータのアドレス
callbacks MIReadStreamCallbacks 構造体のアドレス

返り値

SVC_UncompressRL8() の返り値はありません。

SVC_UncompressRL16FromDevice() の返り値は 0以上ならば展開したサイズで、0以下ならエラーです。

説明

ランレングス圧縮データを展開し、指定のメモリ領域に書き込みます。
ソースアドレス src は4byte境界に合わせてください。
圧縮データのサイズが4の倍数にならなかった場合は出来るだけ0で詰めて調整してください。

SVC_UncompressRL8() は 8bit単位で書き込みます。
VRAMに直接展開することは出来ません。

SVC_UncompressRL16FromDevice()は、16bit単位で書き込みます。
メモリマッピングされていないデバイス上の圧縮データをテンポラリバッファを使わずに直接展開することが出来ます。

参照

MI_UncompressRL*, SVC_UncompressLZ*, SVC_UncompressHuffmanFromDevice

履歴

2004/07/22 初版