#include <nitro/mi.h>
void MI_FilterDiff8( const void *srcp, void *destp, u32 size, BOOL bitsize );
void MI_FilterDiff16( const void *srcp, void *destp, u32 size, BOOL bitsize );
void MI_FilterDiff32( const void *srcp, void *destp, u32 size, BOOL bitsize );
srcp | The source address where difference filtered-data is stored. |
destp | The destination address where the data is expanded. Can be the same region as the source address. |
size | Size of the source address. It is expressed in bytes. |
bitsize | Bit depth of the difference filter. 16-bit if TRUE; 8-bit if FALSE. |
None.
Encodes data using a difference filter, then writes it to a specified memory region. The source address must be aligned to a 4-byte boundary. When the size of the compressed data is not a multiple of 4, adjust by padding it with zeros. The pointers to the source and destination addresses may point to the same region.
MI_FilterDiff8()
writes in 8-bit units. On NITRO, you cannot decompress directly to VRAM.
MI_FilterDiff16()
writes in 16-bit units. It is also possible to decompress to DTCM or VRAM.
MI_FilterDiff32()
writes in 32-bit units. It operates at a higher speed than both MI_FilterDiff8()
and MI_FilterDiff16()
. It is also possible to decompress to DTCM or VRAM.
Processing only takes place on the CPU, without the use of a system call or DMA.
MI_UnfilterDiff, MI_CompressRL, MI_CompressHuffman
2008/07/02 Initial version.
CONFIDENTIAL