#include <nitro/mi.h>
u32 MI_CompressLZ( const u8 *srcp, u32 size, u8 *dstp );
srcp | The source address where the data to compress is stored. |
size |
The data size of the source to compress. |
dstp | Needs a pointer to the compression destination buffer and a region greater than the source data size. Needs a 4-byte alignment. |
Returns the size of the compressed data. If the data after compression is larger than the source file, no compression will be performed and a zero will be returned.
Performs LZ77 compression on the data, then writes it to a specified memory region. A region of the same size as the source data must be prepared in the compression destination buffer. This carries out a simple search on the slide dictionary, so this process may take some time to complete, depending on the source data.
Use of the MI_CompressLZFast
function allows compression at several times the speed in exchange for requiring a work buffer.
The function writes in 8-bit units, so an address in VRAM cannot be specified in dstp
. An address in VRAM can be specified in srcp
.
Processing only takes place on the CPU, without the use of a system call or DMA.
MI_CompressLZFast, MI_UncompressLZ*
, MI_ReadUncompLZ, MI_CompressRL, MI_CompressHuffman
02/01/2005 Initial version.