#include <nitro/mi.h>
u32 MI_CompressLZFast( const u8 *srcp, u32 size, u8 *dstp, u8* work );
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. |
work | Temporary work buffer used for compression. The number of bytes given by MI_HUFFMAN_COMPRESS_WORK_SIZE is required. |
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. Processing is performed several times faster than when using MI_CompressLZ
due to the use of a work buffer while searching the slide dictionary.
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_CompressLZ, MI_UncompressLZ*
, MI_ReadUncompLZ, MI_CompressRL, MI_CompressHuffman
11/29/2005 Initial version.