ICCOMPRESS

typedef struct {
    DWORD dwFlags;
    LPBITMAPINFOHEADER lpbiOutput;
    LPVOID lpOutput;
    LPBITMAPINFOHEADER lpbiInput;
    LPVOID lpInput;
    LPDWORD lpckid;
    LPDWORD lpdwFlags;
    LONG lFrameNum;
    DWORD dwFrameSize;
    DWORD dwQuality;
    LPBITMAPINFOHEADER lpbiPrev;
    LPVOID lpPrev;
} ICCOMPRESS;

The ICCOMPRESS structure is used with the ICM_COMPRESS message to specify compression parameters.

Members
dwFlags
Specifies flags used for compression. At present, only the ICCOMPRESS_KEYFRAME flag is defined and indicates that the input data should be treated as a key frame.
lpbiOutput
Specifies a pointer to a BITMAPINFOHEADER structure containing the output (compressed) format. The biSizeImage member of the BITMAPINFOHEADER structure must be filled in with the size of the compressed data.
lpOutput
Specifies a pointer to the buffer where the driver should write the compressed data.
lpbiInput
Specifies a pointer to a BITMAPINFOHEADER structure containing the input format.
lpInput
Specifies a pointer to the buffer containing input data.
lpckid
Specifies a pointer to a buffer used to return the chunk ID for data in the AVI file.
lpdwFlags
Specifies a pointer to a buffer used to return flags for the AVI index.
lFrameNum
Specifies the frame number of the frame to compress.
dwFrameSize
Specifies zero, or the desired maximum size (in bytes) for compressing this frame.
dwQuality
Specifies the compression quality.
lpbiPrev
Specifies a pointer to a BITMAPINFOHEADER structure containing the format of the previous frame. Normally, this is the same as the input format.
lpPrev
Specifies a pointer to the buffer containing the previous frame.