Decompressing Directly to Video Hardware

Drivers that can render video directly to hardware should support the ICM_DRAW messages in addition to the ICM_DECOMPRESS messages. The ICM_DRAW messages decompress data directly to hardware rather than into a data buffer returned to the client-application by the decompression driver.

Your driver will receive a series of messages from the client-application to coordinate the following activities to decompress a video sequence:

The following ICM_DRAW messages are used by video decompression drivers for these decompression activities:

Message Description
ICM_DRAW Decompresses a frame of data and draws it.
ICM_DRAW_BEGIN Prepares to draw data.
ICM_DRAW_END Clean up after decompressing an image to the screen.
ICM_DRAW_REALIZE Realizes a palette.
ICM_DRAW_QUERY Determines if the driver can render data in a specific format.
ICM_DRAW_SUGGESTFORMAT Has the driver suggest and output format.

The video decompressed with the ICM_DRAW messages is retained by your driver and it handles the display of data. These messages control only the decompression process. The messages used to control the drawing are described separately. Your driver will receive the ICM_DRAW messages only if it sets the VIDCF_DRAW flag when it responds to the ICM_GETINFO message.