Decompressing the Video

The client-application sends ICM_DECOMPRESS each time it has an image to decompress. The client-application uses the flags in the file index to ensure the initial frame in a decompression sequence is a key frame.

The ICDECOMPRESS data structure specified in dwParam1 contains the decompression parameters. The value specified in dwParam2 specifies the size of the structure.

The format of the input data is specified in a BITMAPINFOHEADER structure pointed to by the lpbiInput member of ICDECOMPRESS. The input data is in a buffer specified by lpInput member of ICDECOMPRESS. The lpbiOutput and lpOutput members of ICDECOMPRESS contain pointers to the format data and buffer used for the output data.

The client-application sets the ICDECOMPRESS_HURRYUP flag in the dwFlags member of ICDECOMPRESS if it wants your driver to try and decompress the data at a faster rate. The client-application will not display any data decompressed with this flag. This might let your driver avoid decompressing a frame or data, or let it minimally decompress when it needs information from this frame to prepare for decompressing a following frame.