Image-Data
Decompression
Your
application uses a series of ICDecompressEx
Select a
decompressor.
Prepare the
decompressor.
Decompress the
data.
End
decompression.
Your
application handles decompression similarly to the way it handles compression,
except that the input format is a compressed format and the output format is a
displayable format. The input format for decompression is usually obtained from
the stream header. After determining the input format, your application can use
the ICLocate
The ICDecompressEx
Decompressor and Decompression Format Selection
If you want
to decompress data and your application requires a specific output format, you
can use the ICDecompressExQuery
If the output
format is not important in your application, you need only find a decompressor
that can handle the input format. To determine if a decompressor can handle the
input format, use ICDecompressExQuery and specify NULL for the lpbiDst
parameter. Your application can determine the buffer size needed for the data
specifying the decompression format by sending the ICM_DECOMPRESS_GET_FORMAT
Because your
application allocates the memory required for decompression, it needs to
determine the maximum memory the decompressor can require for the output
format. The ICM_DECOMPRESS_GET_FORMAT message obtains the number of bytes the
decompressor uses for the default format.
If your
application defines its own format by using ICDecompressExQuery
Decompressor Initialization
After
your application selects a decompressor that can handle the input and output
formats it needs, you can initialize the decompressor by using the ICDecompressExBegin
Data Decompression
You can use
the ICDecompressEx
If
your video stream lags behind other components (such as audio) during playback,
your application can specify the ICDECOMPRESS_HURRYUP flag to speed
decompression. To do this, a decompressor might extract only the information it
needs to decompress the next frame and not fully decompress the current frame.
Therefore, your application should not try to draw the decompressed data when
it uses this flag.
After
your application has decompressed the data, it can send the ICM_DECOMPRESSEX_END