ICCOMPRESS
typedef struct {
DWORD dwFlags;
LPBITMAPINFOHEADER lpbiOutput;
LPVOID lpOutput;
LPBITMAPINFOHEADER lpbiInput;
LPVOID lpInput;
LPDWORD lpckid;
LPDWORD lpdwFlags;
LONG lFrameNum;
DWORD dwFrameSize;
DWORD dwQuality; // Quality setting
LPBITMAPINFOHEADER lpbiPrev;
LPVOID lpPrev;
} ICCOMPRESS;
Contains compression parameters used with the ICM_COMPRESS message.
Members
- dwFlags
- Flags used for compression. The following value is defined:
ICCOMPRESS_KEYFRAME |
Indicates the input data should be treated as a key frame. |
- lpbiOutput
- Address of a BITMAPINFOHEADER structure containing the output (compressed) format. The biSizeImage member must contain the size of the compressed data.
- lpOutput
- Address of the buffer where the driver should write the compressed data.
- lpbiInput
- Address of a BITMAPINFOHEADER structure containing the format of the input (uncompressed) data.
- lpInput
- Address of the buffer containing input data.
- lpckid
- Address of a doubleword to return the chunk identifier for data in the AVI file. If the value of this member is not NULL, the driver should specify a two-character code for the chunk identifier corresponding to the chunk identifier used in the AVI file.
- lpdwFlags
- Address of a doubleword to return flags for the AVI index. If the returned frame is a key frame, the driver should set the AVIIF_KEYFRAME flag.
- lFrameNum
- Number of the frame to compress.
- dwFrameSize
- Desired maximum size, in bytes, for compressing this frame. The size value is used for compression methods that can make tradeoffs between compressed image size and image quality. Specify zero for this member to use the default setting.
- dwQuality
- Quality setting, if supported by the compression driver. Quality values range from 0 to 10,000.
- lpbiPrev
- Address of a BITMAPINFOHEADER structure containing the format of the previous frame, which is normally the same as the input format.
- lpPrev
- Address of the buffer containing input data of the previous frame.
Drivers that perform temporal compression use data from the previous frame (found in the lpbiPrev and lpPrev members) to prune redundant data from the current frame.