AVICOMPRESSOPTIONS 構造体 (vfw.h)

AVICOMPRESSOPTIONS 構造体には、ストリームとその圧縮方法と保存方法に関する情報が含まれています。 この構造体は、AVIMakeCompressedStream 関数 (または AVIMakeCompressedStream を使用する AVISave 関数) にデータを渡します。

構文

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

ストリームの種類を示す 4 文字のコード。 AVI ストリームでよく見られるデータには、次の定数が定義されています。

常時 説明
streamtypeAUDIO
オーディオ ストリームを示します。
streamtypeMIDI
MIDI ストリームを示します。
streamtypeTEXT
テキスト ストリームを示します。
streamtypeVIDEO
ビデオ ストリームを示します。

fccHandler

保存時にこのビデオ ストリームを圧縮するコンプレッサー ハンドラーの 4 文字のコード (例: 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 [デスクトップ アプリのみ]
Header vfw.h

こちらもご覧ください

AVIFile 関数とマクロ

AVIFile 構造体

AVIMakeCompressedStream

AVISave

AVISaveOptions

mmioFOURCC