Rendering 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 render data directly to hardware rather than into a data buffer returned to the client application by the decompression driver.

Your driver receives a series of messages from the client application to coordinate the following activities to render a video sequence:

The following ICM_DRAW messages are used by renderers 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

Cleans 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 an output format.

The video decompressed with the ICM_DRAW messages is retained by your driver, which 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.