MI_ReadUncompLZ*

C Specification

#include <nitro/mi/uncomp_stream.h>

s32 MI_ReadUncompLZ8( MIUncompContextLZ *context,  
                                   const u8* data,
                                   u32 len );
s32 MI_ReadUncompLZ16( MIUncompContextLZ *context,
                                     const u8* data,
                                     u32 len );

Arguments

context   Pointer to the context structure for uncompression of LZ77-compressed data.
data Pointer to a portion of the data to be uncompressed.
len Size of the data provided in the 2nd argument.

Return Values

Returns the number of remaining bytes of data being uncompressed. If all of the data is finished being uncompressed, the function returns 0.

Description

Performs streaming uncompression of LZ77-compressed data, doing just the data size given, and copying it to the buffer specified by the MI_InitUncompContextLZ function. This function is slow compared to the MI_UncompressLZ* function, which uncompresses all the data at once.

MI_ReadUncompLZ8() writes in units of 8 bits. You cannot decompress directly to VRAM().
MI_ReadUncompLZ16() writes in units of 16 bits. Data can be directly uncompressed to VRAM, but this operates more slowly than MI_ReadUncompLZ8(). For compressed data, allow for a 2-byte lead when searching for matching strings.

Internal Operation

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

See Also

MI_UncompressLZ*, MI_InitUncompContextLZ, MIUncompContextLZ,MI_ReadUncompRL*, MI_ReadUncompHuffman, MI_CompressLZ, MI_CompressLZFast

Revision History

11/30/2004 Initial version.