AVICOMPRESSOPTIONS 结构 (vfw.h)

AVICOMPRESSOPTIONS 结构包含有关流及其压缩和保存方式的信息。 此结构将数据传递到 AVIMakeCompressedStream 函数 (或 AVISave 函数,后者使用 AVIMakeCompressedStream) 。

语法

typedef struct {
  DWORD  fccType;
  DWORD  fccHandler;
  DWORD  dwKeyFrameEvery;
  DWORD  dwQuality;
  DWORD  dwBytesPerSecond;
  DWORD  dwFlags;
  LPVOID lpFormat;
  DWORD  cbFormat;
  LPVOID lpParms;
  DWORD  cbParms;
  DWORD  dwInterleaveEvery;
} AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS;

成员

fccType

指示流类型的四个字符代码。 已为 AVI 流中常见的数据定义了以下常量:

一直 说明
streamtypeAUDIO
指示音频流。
streamtypeMIDI
指示 MIDI 流。
streamtypeTEXT
指示文本流。
streamtypeVIDEO
指示视频流。

fccHandler

压缩器处理程序的四个字符代码,在保存此视频流 (例如 ,mmioFOURCC ('M','S','V','C') ) 。 此成员不用于音频流。

dwKeyFrameEvery

视频关键帧之间的最大时间段。 仅当设置了AVICOMPRESSF_KEYFRAMES标志时,才使用此成员;否则,每个视频帧都是关键帧。

dwQuality

传递给视频压缩器的质量值。 此成员不用于音频压缩器。

dwBytesPerSecond

视频压缩器数据速率。 仅当设置了AVICOMPRESSF_DATARATE标志时,才使用此成员。

dwFlags

用于压缩的标志。 定义了以下值:

名称 说明
AVICOMPRESSF_DATARATE
使用 dwBytesPerSecond 中指定的数据速率压缩此视频流。
AVICOMPRESSF_INTERLEAVE
与第一个流相关的每个 dwInterleaveEvery 帧交错此流。
AVICOMPRESSF_KEYFRAMES
使用关键帧保存此视频流,至少每个 dwKeyFrameEvery 帧。 默认情况下,每个帧都是关键帧。
AVICOMPRESSF_VALID
使用此结构中的数据设置 AVISaveOptions 的默认压缩值。 如果传递了空结构并且未设置此标志,则会选择一些默认值。

lpFormat

指向定义数据格式的结构的指针。 对于音频流,这是 一个 LPWAVEFORMAT 结构。

cbFormat

lpFormat 引用的数据的大小(以字节为单位)。

lpParms

视频压缩器特定的数据;在内部使用。

cbParms

lpParms 引用的数据的大小(以字节为单位)

dwInterleaveEvery

交错因子,用于将流数据与第一个流中的数据交错。 仅当设置了AVICOMPRESSF_INTERLEAVE标志时才使用。

要求

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

另请参阅

AVIFile 函数和宏

AVIFile 结构

AVIMakeCompressedStream

AVISave

AVISaveOptions

mmioFOURCC