# MI_UnfilterDiff**

## C Specification

      #include <nitro/mi.h>

      void MI_UnfilterDiff8(
          const void*     srcp,
                void*     destp );

      void MI_UnfilterDiff16(
          const void*     srcp,
                void*     destp );

## Description

This function expands the data to which the difference filter was applied and writes it to the specified memory region. The source address must be aligned to a 4-byte boundary.

When the size of the compressed data is not a multiple of four, you must adjust the data size by padding it with zeros. The pointers to the source and destination addresses may point to the same region.

`MI_UnfilterDiff8` writes in 8-bit units. You cannot expand the data directly in VRAM.

`MI_UnfilterDiff16` writes in 16-bit units. Although you can expand the data in DTCM or main memory, this function is slower than `MI_UnfilterDiff8`.

## Internal Operations

This function uses the CPU for the process without using system calls or DMA.

## Arguments

`srcp` | The source address where difference filtered-data is stored.
`destp` | The destination address where the data is expanded. Can be the same region as the source address.

## Return Values

None.

## See Also

`MI_UncompressHuffman, MI_UncompressRL*, SVC_UncompressLZ*`

## Revision History

11/15/2004 Initial version.