ICDecompressBegin(3mms) — Subroutines
Name
ICDecompressBegin --- Prepare a decompressor for decompressing data
Syntax
#include <mme/mme_api.h>
MMRESULT ICDecompressBegin(HIC hic,
LPBITMAPINFOHEADER lpbiInput,
LPBITMAPINFOHEADER lpbiOutput);
Arguments
HIC hic
Specifies a handle to a decompressor.
LPBITMAPINFOHEADER lpbiInput
Specifies a pointer to a BITMAPINFOHEADER data structure indicating the format of the input data.
The BITMAPINFOHEADER data structure must be allocated with the mmeAllocMem function before being passed to the ICDecompressBegin function.
See the mmeAllocMem(3mms) reference page for more information about allocating memory for data structures.
LPBITMAPINFOHEADER lpbiOutput
Specifies a pointer to a BITMAPINFOHEADER data structure indicating the format of the output data.
The BITMAPINFOHEADER data structure must be allocated with the mmeAllocMem function before being passed to the ICDecompressBegin function.
See the mmeAllocMem(3mms) reference page for more information about allocating memory for data structures.
Description
The ICDecompressBegin function prepares a decompressor for decompressing data. Call this function before calling the ICDecompress function.
The ICDecompressBegin function returns the ICERR_ERROR error code when attempting to decompress to 8-bit X image format and the palette has not been negotiated with the ICDecompressGetPalette function. A palette is not required for 24-bit X image or YUV format.
For bitstreaming CODECs (Software H.261 CODEC), this function starts decompression. There is no need to call the ICDecompress function; instead, call the mmeProcessCallbacks function to continue decompression. Before calling the ICDecompressBegin function, there must be an initial call with the ICAddBuffer function.
Extensions
None.
Return Values
Returns ICERR_OK if the specified decompression is supported; otherwise, it returns one of the following error codes:
ICERR_BADHANDLE@T{ The hic argument is invalid, the decompressor is not open, or the decompressor is not open for decompression. T} ICERR_BADFORMAT@T{ The lpbiInput and lpbiOutput arguments are not acceptable formats. T} ICERR_BADPARAM@T{ The lpbiInput argument, lpbiOutput argument, or both are NULL. T} ICERR_ERROR@T{ A palette has not been negotiated. T}
See Also
ICAddBuffer(3mms), ICCompressBegin(3mms), ICDecompress(3mms), ICDecompressEnd(3mms)