SVC_UncompressHuffmanFromDevice

構文

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

s32 SVC_UncompressHuffmanFromDevice( const void* srcp,
                       void* destp,
                       u8* tableBufp,
                       const MIReadStreamCallbacks *callbacks );

引数

srcp ハフマン圧縮データの格納されているソースアドレス
destp 展開するディスティネーションアドレス
tableBufp ツリーテーブル格納バッファ(最大512バイト)
MIReadStreamCallbacks構造体の initStream 関数へパラメータを渡したい場合、このバッファを経由して渡すことが出来ます。ただし、initStream 関数呼び出し跡はツリーテーブルで上書きされます。
callbacks MIReadStreamCallbacks 構造体のアドレス

返り値

0以上ならば展開したサイズで、0以下ならエラーです。

説明

ハフマン圧縮データを展開し、指定のメモリ領域に32bit単位で書き込みます。
ソースアドレス src は4byte 境界に合わせてください。
圧縮データのサイズが4の倍数にならなかった場合は出来るだけ0で詰めて調整してください。
メモリマッピングされていないデバイス上の圧縮データをテンポラリバッファを使わずに直接展開することが出来ます。

参照

MI_UncompressHuffman, SVC_UncompressLZ*, SVC_UncompressRL*

履歴

2004/07/22 初版