# MI_UnpackBits

## 構文

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

## 引数

srcp | 圧縮データの格納されているソースアドレス
destp | 展開するディスティネーションアドレス
paramp | `MIUnpackBitsParam`構造体データのアドレス

## 返り値

なし。

## 説明

0固定のビットを詰めたデータを展開します。
デスティネーションアドレスは 4byte境界に合わせて下さい。
`MIUnpackBitsParam`構造体は、
・ソースデータバイト数(u16)
・1ソースデータ・ビット数(u16:8)
・1ディスティネーションデータ・ビット数(u16:8)
・ソースデータに加算するオフセット(u32:31)
・0のデータにオフセットを加算するかどうかのフラグ(u32:1)
となっています。

## 内部動作

システムコールや DMA は使用せず CPU だけで処理します。

## 参照

`MI_UncompressLZ*, MI_UncompressHuffman, MI_UncompressRL*, SVC_UnpackBits
`

## 履歴

2004/07/20 MI_UnpackBitsPram -> MIUnpackBitsParam
2004/05/28 内部動作記述修正
2004/02/10 初版