#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.
CONFIDENTIAL