ICCOMPRESS
The ICCOMPRESS
structure contains compression parameters used with the ICM_COMPRESS
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;
Members
dwFlags
Flags used
for compression. The following value is defined:
ICCOMPRESS_KEYFRAME
Input data
should be treated as a key frame.
lpbiOutput
Address of a BITMAPINFOHEADER
lpOutput
Address of
the buffer where the driver should write the compressed data.
lpbiInput
Address of a BITMAPINFOHEADER
lpInput
Address of the
buffer containing input data.
lpckid
Address to
contain 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 to
contain 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.
lpbiPrev
Address of a BITMAPINFOHEADER
lpPrev
Address of
the buffer containing input data of the previous frame.
Remarks
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.
See Also