MI_CompressRL

構文

#include <nitro/mi.h>

u32 MI_CompressRL( const u8 *srcp, u32 size, u8 *dstp );

引数

srcp 圧縮するデータが格納されているソースアドレス。
size 圧縮するソースデータサイズ。
dstp 圧縮先バッファへのポインタ、ソースデータサイズ以上の領域が必要です。要4バイトアライン。

返り値

圧縮データのサイズを返します。
もしも圧縮後のデータがソースファイルよりも大きくなる場合には、圧縮を行なわずに0を返します。

説明

データをランレングス圧縮し、指定のメモリ領域に書き込みます。
圧縮先のバッファにはソースデータと同じサイズの領域を用意する必要があります。

8bit単位で書き込みますので、NITROの場合はdstpにVRAM上のアドレスを指定することはできません。
srcpにはNITRO/TWL共にVRAM上のアドレスを指定することが可能です。

内部動作

システムコール、DMAは使用せずCPUだけで処理します。

参照

MI_UncompressRL*, MI_ReadUncompRL , MI_CompressLZ*, MI_CompressHuffman

履歴

2008/12/05 TWLに関する記述を追加

2005/02/01 初版