SVC_UncompressRL*

Syntax

#include <nitro/os/common/systemCall.h>

void SVC_UncompressRL8( const void* srcp, void* destp );
s32 SVC_UncompressRL16FromDevice( const void* srcp,
void* destp,
const void* paramp,
ReadStreamCallbacks *callbacks );

Arguments

srcp The source address where run length compressed data is stored.
destp Destination address for decompression.
paramp Parameter address that is handed to the initStream function of the MIReadStreamCallBacks structure.
callbacks Address of the MIReadStreamCallbacks socket.

Return Values

There is no return value for SVC_UncompressRL8().
If the return value for SVC_UncompressRL16FromDevice() is greater than 0, it is the decompressed size. If it is less than 0, it is an error.

Description

This function decompresses run length compressed data and writes the data to the specified region of memory. Match the source address src to the 4-byte boundary. If the size of the compressed data is not a multiple of 4, make adjustments by paring the size back using 0.

The SVC_UncompressRL8() function can be written in 8-bit units. You cannot decompress directly to VRAM().
The SVC_UncompressRL16FromDevice() function can be written in 16-bit units. Compressed data on devices that are not memory mapped can be decompressed directly without using a temporary buffer.

See Also

MI_UncompressRL*, SVC_UncompressLZ*, SVC_UncompressHuffmanFromDevice

Revision History

2004/07/22 Initial version.


CONFIDENTIAL