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:
·Setting the driver state
·Specifying the input format
·Preparing to decompress video
·Decompressing the video
·Ending decompression
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.