(vfw.h) 的 AVICOMPRESSOPTIONS 結構

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

Interleave Factor for intersperspersing stream data with data from the first stream. 只有在設定AVICOMPRESSF_INTERLEAVE旗標時才使用。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 vfw.h

另請參閱

AVIFile 函式和宏

AVIFile 結構

AVIMakeCompressedStream

AVISave

AVISaveOptions

mmioFOURCC