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 |