MI_UnfilterDiff*

Syntax

#include <nitro/mi.h>

void MI_UnfilterDiff8( const void* srcp, void* destp );
void MI_UnfilterDiff16( const void* srcp, void* destp );
void MI_UnfilterDiff32( const void* srcp, void* destp );

Arguments

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.

Return Values

None.

Description

This function expands the data to which the difference filter was applied and writes it to the 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_UnfilterDiff8 writes in 8-bit units. On NITRO, you cannot decompress directly to VRAM. On TWL, this is possible, but it is quite slow.

MI_UnfilterDiff16 writes in 16-bit units. It is also possible to decompress to DTCM or VRAM.


MI_UnfilterDiff32() writes in 32-bit units.
It operates at a higher speed than both the MI_UnfilterDiff8 and MI_UnfilterDiff16 functions.
It is also possible to decompress to DTCM or VRAM.

Internal Operation

Processing only takes place on the CPU, without the use of a system call or DMA.

See Also

MI_FilterDiff
MI_UncompressHuffman
MI_UncompressRL*
MI_UncompressLZ*

Revision History

2008/07/02 Added the 32-bit version. Revised the description of internal operations.
2004/11/15 Initial version.


CONFIDENTIAL