#include <nitro/mi.h>void MI_FilterDiff8( const void *srcp, void *destp, u32 size, BOOL bitsize );void MI_FilterDiff16( const void *srcp, void *destp, u32 size, BOOL bitsize );void MI_FilterDiff32( const void *srcp, void *destp, u32 size, BOOL bitsize );| srcp | 差分フィルタがかけられたデータの格納されているソースアドレス |
| destp | 展開するディスティネーションアドレス。ソースアドレスと同じ領域でも構いません。 |
| size | ソースアドレスのサイズ。単位はbyteです。 |
| bitsize | 差分フィルタのビット深度。TRUEの場合16bitで、FALSEの場合8bit。 |
なし。
データを差分フィルタで符号化し、指定のメモリ領域に書き込みます。
ソースアドレスは4byte 境界に合わせてください。
圧縮データのサイズが4の倍数にならなかった場合は出来るだけ0で詰めて調整してください。
ソースアドレスとデスティネーションアドレスに同じ領域へのポインタを渡しても構いません。
MI_FilterDiff8() は、8bit単位で書き込みます。
NITROではVRAMに直接展開することは出来ません。
MI_FilterDiff16()は、16bit単位で書き込みます。
DTCMやVRAMにも展開できます。
MI_FilterDiff32()は、32bit単位で書き込みます。
MI_FilterDiff8()・MI_FilterDiff16()よりも高速に動作します。
DTCMやVRAMにも展開できます。
システムコール、DMAは使用せずCPUだけで処理します。
MI_UnfilterDiff,
MI_CompressRL,
MI_CompressHuffman
2008/07/02 初版