The client application sends a series of messages to your driver to coordinate decompressing video data. The coordination involves the following activities:
·Setting the driver state
·Specifying the input format and determining the decompression format
·Preparing to decompress video
·Decompressing the video
·Ending decompression
The following messages are used by video compression and decompression drivers for these decompression activities.
Message | Description |
ICM_DECOMPRESSEX | Decompresses a frame of data into a buffer provided by the client application. |
ICM_DECOMPRESSEX_BEGIN | Prepares a driver for decompressing data. |
ICM_DECOMPRESSEX_END | Cleans up after decompressing. |
ICM_DECOMPRESS_GET_FORMAT | Obtains a suggestion for a good format for the decompressed data. |
ICM_DECOMPRESSEX_QUERY | Determines if a driver can decompress a specific input format. |
ICM_DECOMPRESS_GET_PALETTE | Returns the color table of the output data structure. |
The video decompressed with these messages is returned to the client application, which handles the display of data. If you want your driver to control the video timing or directly update the display, use the ICM_DRAW messages. If you return the decompressed video to the client application, your driver can decompress data using either software or hardware with the ICM_DECOMPRESS messages.