ICCOMPRESSFRAMES

typedef struct {

    DWORD dwFlags;

    LPBITMAPINFOHEADER lpbiOutput;

    LPARAM lOutput;

    LPBITMAPINFOHEADER lpbiInput;

    LPARAM lInput;

    LONG lStartFrame;

    LONG lFrameCount;

    LONG lQuality;

    LONG lDataRate;

    LONG lKeyRate;

    DWORD dwRate;

    DWORD dwScale;

    DWORD dwOverheadPerFrame;

    DWORD dwReserved2;

    LONG (CALLBACK* GetData) (LPARAM lInput, LONG lFrame, LPVOID lpBits,
     LONG len);

    LONG (CALLBACK* PutData) (LPARAM lOutput, LONG lFrame, LPVOID lpBits,
     LONG len);

} ICCOMPRESSFRAMES;

The ICCOMPRESSFRAMES structure is used with the ICM_COMPRESS_FRAMES_INFO message to specify compression parameters.

dwFlags

Specifies flags used for compression.  At present, only the ICDECOMPRESSFRAMES_PADDING flag is defined and indicates that padding is used with the frame.

lpbiOutput

Specifies a pointer to a BITMAPINFOHEADER structure containing the output format.

lOutput

Specifies a parameter returned by the function specified by the PutData member.

lpbiInput

Specifies a pointer to a BITMAPINFOHEADER structure containing the input format.

lInput

Specifies a parameter returned by the function specified by the GetData member.

lStartFrame

Specifies the starting frame number to be compressed.

lFrameCount

Specifies the number of frames to compress.

lQuality

Specifies the quality.

lDataRate

Specifies the maximum data rate in bytes per second.

lKeyRate

Specifies the maximum spacing, in frames, between key frames.

dwRate

Specifies the compression rate in an integer format. To obtain the rate in frames-per-second, divide this value by the value in dwScale.

dwScale

Specifies the value used to scale dwRate to frames-per-second.

dwOverheadPerFrame

Reserved.

dwReserved2

Reserved.

GetData

Specifies the callback function used get frames of data to compress. (Not used.)

PutData

Specifies the callback function used to send frames of compressed data. (Not used.)