# MI_UnpackBits

## Syntax

  `#include <nitro/mi.h>`
  `void MI_UnpackBits( const void* srcp, void* destp, MIUnpackBitsParam *paramp );`

## Arguments

srcp | Source address where compressed data is stored.
destp | Destination address for decompression.
paramp | `MIUnpackBitsParam` structure address.

## Return Values

None.

## Description

This function decompresses data that was packed as 0 fixed bits. The destination address must be aligned to a 4-byte boundary.
The `MI_UnpackBitsParam` structure comprises the following. Source data byte count `(u16)`.
Bit count for the "1" source data `(u16:8)`.
Bit count for the "1" destination data `(u16:8)`.
The offset to be added to the source data `(u32:31)`.
A flag that indicates whether to add an offset to the "0" data `(u32:1)`.

## Internal Operation

This processes with the CPU without using a system call or DMA.

## See Also

`MI_UncompressLZ, MI_UncompressHuffman, MI_UncompressRL, SVC_UnpackBits`

## Revision History

`MI_UnpackBitsPram` is changed to `MIUnpackBitsParam`.
2004/05/28 Fixed description in Internal Operation.
2004/02/10 Initial version.

CONFIDENTIAL