# MI_UnpackBits

## C Specification

      #include <nitro/mi.h>

      void MI_UnpackBits(
                  const void*    srcp,
                        void*    destp,
          MI_UnpackBitsParam*    paramp );

## Description

This function expands data that has been packed with 0-fixed bits. The destination address must be aligned to a 4-byte boundary.

This is the `MI_UnpackBitsParam` structure.

The number of source data bytes `u16`.
The number of bits in one source data `(u16:8)`.
The number of bits in one destination data `(u16:8)`.
The offset that is to be added to the source data `(u32:31)`.
A flag that indicates whether to add an offset to 0 data `(u32:1)`.

## Internal Operation

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

## Arguments

`srcp` | The source address where compressed data is stored
`destp` | The destination address for expansion
`paramp` | The address for `MI_UnpackBitsParam` structure data

## Return Values

None

## See Also

`MI_UncompressLZ, MI_UncompressHuffman, MI_UncompressRL, SVC_UnpackBits`

## Revision History

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