

#include <nitro/mi.h>u32 MI_CompressHuffman( const u8 *srcp, u32 size, u8 *dstp, u8 huffBitSize,
u8 *work);
| srcp | 圧縮するデータが格納されているソースアドレス。 |
| size | 圧縮するソースデータサイズ。 |
| dstp | 圧縮先バッファへのポインタ、ソースデータサイズ以上の領域が必要です。要4バイトアライン。 |
| huffBitSize | ハフマン符号化するビットサイズ(4 or 8) |
| work | ハフマン圧縮に使用するワークバッファ。MI_HUFFMAN_COMPRESS_WORK_SIZEのサイズが必要です。 要4バイトアライン。 |
圧縮データのサイズを返します。
もしも圧縮後のデータがソースファイルよりも大きくなる場合には、圧縮を行なわずに0を返します。
ハフマン圧縮し、指定のメモリ領域に書き込みます。
圧縮先のバッファにはソースデータと同じサイズの領域を用意する必要があります。
8bit単位で書き込みますので、NITROの場合はdstpにVRAM上のアドレスを指定することはできません。
srcpにはNITRO/TWL共にVRAM上のアドレスを指定することが可能です。
システムコール、DMAは使用せずCPUだけで処理します。
MI_UncompressHuffman,
MI_ReadUncompHuffman,
MI_CompressLZ*,
MI_CompressRL
2008/12/05 TWLに関する記述を追加した
2005/06/28 構文に work を追加した
2005/02/01 初版