COMPVARS 结构 (vfw.h)
COMPVARS 结构描述了 ICCompressorChoose、ICSeqCompressFrame 和 ICCompressorFree 等功能的压缩器设置。
语法
typedef struct {
LONG cbSize;
DWORD dwFlags;
HIC hic;
DWORD fccType;
DWORD fccHandler;
LPBITMAPINFO lpbiIn;
LPBITMAPINFO lpbiOut;
LPVOID lpBitsOut;
LPVOID lpBitsPrev;
LONG lFrame;
LONG lKey;
LONG lDataRate;
LONG lQ;
LONG lKeyCount;
LPVOID lpState;
LONG cbState;
} COMPVARS, *PCOMPVARS;
成员
cbSize
此结构的大小(以字节为单位)。 在使用此结构调用任何函数之前,必须设置此成员以验证结构。
dwFlags
适用的标志。 定义了以下值:
名称 | 说明 |
---|---|
|
此结构中的数据有效且已手动输入。 如果手动填充此结构,请在调用任何函数之前设置此标志。 如果让 ICCompressorChoose 初始化此结构,请不要设置此标志。 |
hic
要使用的压缩器的句柄。 可以使用 ICOpen 函数打开压缩器并获取它的句柄。 还可以使用 ICCompressorChoose 选择压缩器。 ICCompressorChoose 打开所选的压缩器,并返回此成员中压缩器的句柄。 可以使用 ICCompressorFree 关闭压缩器。
fccType
使用的压缩器类型。 目前仅支持 ICTYPE_VIDEO (VIDC) 。 此成员可以设置为零。
fccHandler
压缩器四字符代码。 指定 NULL 以指示不重新压缩数据。 指定“DIB”以指示数据是未压缩的全帧。 可以使用此成员指定在显示对话框时默认选择的压缩器。
lpbiIn
保留值;请勿使用。
lpbiOut
指向包含图像输出格式的 BITMAPINFO 结构的指针。 可以指定要使用的特定格式,也可以指定 NULL 以使用与输入格式关联的默认压缩器。 还可以使用 ICCompressorChoose 设置图像输出格式。
lpBitsOut
保留值;请勿使用。
lpBitsPrev
保留值;请勿使用。
lFrame
保留值;请勿使用。
lKey
关键帧速率。 指定一个整数以指示关键帧在压缩序列中发生的频率,或指定零以不使用关键帧。 还可以让 ICCompressorChoose 设置对话框中选择的关键帧速率。 ICSeqCompressFrameStart 函数使用此成员的值来生成关键帧。
lDataRate
数据速率,以千字节/秒为单位。 ICCompressorChoose 将所选数据速率从对话框复制到此成员。
lQ
质量设置。 将质量设置指定为 1 到 10,000,或指定 ICQUALITY_DEFAULT 以使用默认质量设置。 还可以让 ICCompressorChoose 设置对话框中选择的质量值。 ICSeqCompressFrameStart 使用此成员的值作为其质量设置。
lKeyCount
保留值;请勿使用。
lpState
保留值;请勿使用。
cbState
保留值;请勿使用。
注解
可以让 ICCompressorChoose 填充此结构的内容,也可以手动执行此操作。 如果手动填充结构,则必须为以下成员提供信息: cbSize、 hic、 lpbiOut、 lKey 和 lQ。 此外,必须在 dwFlags 成员中设置 ICMF_COMPVARS_VALID 标志。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | vfw.h |
另请参阅
视频压缩管理器