#include <nitro/mi/uncomp_stream.h>
s32 MI_ReadUncompRL8( MIUncompContextRL *context, const u8* data, u32 len );
s32 MI_ReadUncompRL16( MIUncompContextRL *context, const u8* data, u32 len );
context | Pointer to the context structure for uncompression of RL-compressed data. |
data | Pointer to a portion of the data to be uncompressed. |
len | Size of the data provided in the second argument. |
Returns the number of remaining bytes of data being uncompressed. If all of the data is finished being uncompressed, the function returns 0.
Performs streaming uncompression of run-length compressed data, doing just the data size given, and copying it to the buffer specified by the MI_InitUncompContextRL
function. This function is slow compared to the MI_UncompressRL*
function, which uncompresses all the data at once.
The MI_ReadUncompRL8
function writes in units of 8 bits. On NITRO, you cannot decompress directly to VRAM. On TWL, this is possible, but it is quite slow.
The MI_ReadUncompRL16
function writes in units of 16 bits. On both NITRO and TWL, you can also decompress directly to VRAM. However, the process is slower compared to normal memory.
Processing takes place only on the CPU, without the use of a system call or DMA.
MI_UncompressRL*
MI_InitUncompContextRL
MIUncompContextRL
MI_ReadUncompLZ*
MI_ReadUncompHuffman
MI_CompressRL
2008/12/05 Added description related to TWL.
2004/11/30 Initial version.
CONFIDENTIAL