#include <nitro/mi.h>
u32 MI_CompressHuffman( const u8 *srcp, u32 size, u8 *dstp, u8 huffBitSize, 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. |
huffBitSize | The bit size (4 or 8) to Huffman encode. |
work | The work buffer used in Huffman compression. Requires the size of MI_HUFFMAN_COMPRESS_WORK_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.
This function performs Huffman compression and writes to a designated memory region. A region of the same size as the source data must be prepared in the compression destination 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_UncompressHuffman, MI_ReadUncompHuffman, MI_CompressLZ, MI_CompressLZFast, MI_CompressRL
06/28/2005 Added work
to C Specification.
02/01/2005 Initial version.