COMPVARS 结构 (vfw.h)

COMPVARS 结构描述了 ICCompressorChooseICSeqCompressFrameICCompressorFree 等功能的压缩器设置。

语法

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

适用的标志。 定义了以下值:

名称 说明
ICMF_COMPVARS_VALID
此结构中的数据有效且已手动输入。 如果手动填充此结构,请在调用任何函数之前设置此标志。 如果让 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 填充此结构的内容,也可以手动执行此操作。 如果手动填充结构,则必须为以下成员提供信息: cbSizehiclpbiOutlKeylQ。 此外,必须在 dwFlags 成员中设置 ICMF_COMPVARS_VALID 标志。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 vfw.h

另请参阅

ICCompressorChoose

ICCompressorFree

ICSeqCompressFrame

ICSeqCompressFrameStart

视频压缩管理器

视频压缩结构