Reference

This section is a reference to the messages and data structures provided by Windows 95 for use by video compression and decompression drivers. There are separate sections for messages and data structures.

Windows communicates with video compression and decompression drivers through messages sent to the driver. The driver processes these messages with its DriverProc entry-point function.

A message consists of three parts: a message number and two DWORD parameters. Message numbers are identified by predefined message names. The two DWORD parameters contain message-dependent values.

The following messages are used by video compression and decompression drivers for compressing data:

Functionality

Messages and Structures to Use

Open a video compression and decompression driver

DRV_OPEN, ICOPEN

Configure driver state

ICM_CONFIGURE, ICM_GETSTATE, ICM_SETSTATE

Interrogate driver

ICM_ABOUT, ICM_GETINFO, ICINFO

Configure compression quality

ICM_GETDEFAULTQUALITY, ICM_GETINFO, ICM_GETQUALITY, ICM_SETQUALITY

Determine key frame rate and buffer queue requirements

ICM_GETDEFAULTKEYFRAMERATE, ICM_COMPRESS_KEYFRAME, ICM_GETBUFFERSWANTED

Specify decompression input format and determine decompression format

ICM_DECOMPRESS_GET_FORMAT,ICM_DECOMPRESS_QUERY, ICM_DECOMPRESS_GET_PALETTE

Decompress data

ICM_DECOMPRESS, ICM_DECOMPRESS_BEGIN, ICM_DECOMPRESS_END, ICDECOMPRESS

Decompress using extended decompression messages

ICM_DECOMPRESSEX, ICM_DECOMPRESSEX_BEGIN, ICM_DECOMPRESSEX_END,ICM_DECOMPRESSEX_QUERY, ICDECOMPRESSEX

Specify compression input format and determine compressed format

ICM_COMPRESS_GET_FORMAT, ICM_COMPRESS_QUERY, ICM_COMPRESS_GET_SIZE

Compress data

ICM_COMPRESS, ICM_COMPRESS_BEGIN, ICM_COMPRESS_END, ICCOMPRESS

Specify decompression input/output formats for drawing data

ICM_DRAW_QUERY, ICM_DRAW_SUGGESTFORMAT, ICDRAWSUGGEST

Decompress data for drawing directly to screen

ICM_DRAW, ICM_DRAW_BEGIN, ICM_DRAW_END, ICDRAW, ICDRAWBEGIN

Rendering data directly to screen

ICM_DRAW_CHANGEPALETTE, ICM_DRAW_GETTIME, ICM_DRAW_SETTIME, ICM_DRAW_START, ICM_DRAW_STOP, ICM_DRAW_FLUSH, ICM_DRAW_RENDERBUFFER, ICM_DRAW_UPDATE, ICM_DRAW_WINDOW

Notify applications of compression/decompression status

ICM_SET_STATUS_PROC, ICSETSTATUSPROC