ICDraw
The ICDraw function decompresses an image for drawing.
DWORD ICDraw(
HIC hic,
DWORD dwFlags,
LPVOID lpFormat,
LPVOID lpData,
DWORD cbData,
LONG lTime
);
Parameters
hic
Handle to an decompressor.
dwFlags
Decompression flags. The following values are defined.
Value | Meaning |
ICDRAW_HURRYUP | Data is buffered and not drawn to the screen. Use this flag for fastest decompression. |
ICDRAW_NOTKEYFRAME | Current frame is not a key frame. |
ICDRAW_NULLFRAME | Current frame does not contain any data and the previous frame should be redrawn. |
ICDRAW_PREROLL | Current frame of video occurs before playback should start. For example, if playback will begin on frame 10, and frame 0 is the nearest previous key frame, frames 0 through 9 are sent to the driver with the ICDRAW_PREROLL flag set. The driver needs this data to display frame 10 properly. |
ICDRAW_UPDATE | Updates the screen based on previously received data. Set lpData to NULL when this flag is used. |
lpFormat
Pointer to a BITMAPINFOHEADER structure containing the input format of the data.
lpData
Pointer to the input data.
cbData
Size of the input data, in bytes.
lTime
Time, in samples, to draw this frame. The units for video data are frames. For a definition of the playback rate, see the dwRate and dwScale members of the ICDRAWBEGIN structure.
Return Values
Returns ICERR_OK if successful or an error otherwise.
Remarks
You can initiate drawing the frames by sending the ICM_DRAW_START message (or by using the ICDrawStart macro). The application should be sure to buffer the required number of frames before drawing is started. Send the KM_GETBUFFERSWANTED message (or use the ICGetBuffersWanted macro) to obtain this value.
Requirements
** Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
** Windows 95/98/Me:** Included in Windows 95 and later.
** Header:** Declared in Vfw.h.
** Library:** Use Vfw32.lib.
See Also
Video Compression Manager, Video Compression Functions, BITMAPINFOHEADER, ICDRAWBEGIN, ICM_DRAW_START