#include <nitro/mi.h>void MI_UnfilterDiff8( const void* srcp, void* destp );void MI_UnfilterDiff16( const void* srcp, void* destp );void MI_UnfilterDiff32( const void* srcp, void* destp );| srcp | 差分フィルタがかけられたデータの格納されているソースアドレス |
| destp | 展開するディスティネーションアドレス。ソースアドレスと同じ領域でも構いません。 |
なし。
差分フィルタがかけられたデータを展開し、指定のメモリ領域に書き込みます。
ソースアドレスは4byte 境界に合わせてください。
圧縮データのサイズが4の倍数にならなかった場合は出来るだけ0で詰めて調整してください。
ソースアドレスとデスティネーションアドレスに同じ領域へのポインタを渡しても構いません。
MI_UnfilterDiff8() は、8bit単位で書き込みます。
NITROではVRAMに直接展開することは出来ません。TWLでは可能ですが速度はかなり低速です。
MI_UnfilterDiff16()は、16bit単位で書き込みます。
DTCMやVRAMにも展開できます。
MI_UnfilterDiff32()は、32bit単位で書き込みます。
MI_UnfilterDiff8()・MI_UnfilterDiff16()よりも高速に動作します。
DTCMやVRAMにも展開できます。
システムコール、DMAは使用せずCPUだけで処理します。
MI_FilterDiff, MI_UncompressHuffman, MI_UncompressRL*, MI_UncompressLZ*
2008/07/02 32bit版追加。内部動作に関する記述修正
2004/11/15 初版