Share via


AVISTREAMINFOW 構造体 (vfw.h)

AVISTREAMINFO 構造体には、1 つのストリームの情報が含まれています。

構文

typedef struct _AVISTREAMINFOW {
  DWORD fccType;
  DWORD fccHandler;
  DWORD dwFlags;
  DWORD dwCaps;
  WORD  wPriority;
  WORD  wLanguage;
  DWORD dwScale;
  DWORD dwRate;
  DWORD dwStart;
  DWORD dwLength;
  DWORD dwInitialFrames;
  DWORD dwSuggestedBufferSize;
  DWORD dwQuality;
  DWORD dwSampleSize;
  RECT  rcFrame;
  DWORD dwEditCount;
  DWORD dwFormatChangeCount;
  WCHAR szName[64];
} AVISTREAMINFOW, *LPAVISTREAMINFOW;

メンバー

fccType

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

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

fccHandler

保存時にこのビデオ ストリームを圧縮する圧縮ハンドラーの 4 文字のコード (たとえば、 mmioFOURCC ('M','S','V','C'))。 このメンバーは、オーディオ ストリームには使用されません。

dwFlags

ストリームに適用できるフラグ。 これらのフラグの上位ワードのビットは、ストリームに含まれるデータの種類に固有です。 次のフラグが定義されています。

名前 説明
AVISTREAMINFO_DISABLED
ユーザーが明示的に有効にしたときに、このストリームをレンダリングする必要があることを示します。
AVISTREAMINFO_FORMATCHANGES
このビデオ ストリームにパレットの変更が含まれていることを示します。 このフラグは、パレットをアニメーション化する必要があることを再生ソフトウェアに警告します。

dwCaps

機能フラグ。現在使用されていません。

wPriority

ストリームの優先度。

wLanguage

ストリームの言語。

dwScale

ストリームに適用できる時間スケール。 dwRatedwScale で除算すると、再生速度は 1 秒あたりのサンプル数で示されます。

ビデオ ストリームの場合、このレートはフレーム レートである必要があります。 オーディオ ストリームの場合、このレートはオーディオ ブロック サイズ (WAVEFORMAT または PCMWAVEFORMAT 構造体の nBlockAlign メンバー) に対応する必要があります。これは、PCM (パルス コード変調) オーディオの場合、サンプル レートまで低下します。

dwRate

整数形式のレート。 1 秒あたりのサンプル数の割合を取得するには、この値を dwScale の値で除算します。

dwStart

AVI ファイルの最初のフレームのサンプル番号。 単位は dwRate と dwScale によって定義されます。 通常、これは 0 ですが、ファイルと同時に開始されないストリームの遅延時間を指定できます。

AVI ツールの 1.0 リリースでは、0 以外の開始時刻はサポートされていません。

dwLength

このストリームの長さ。 単位は dwRatedwScale によって定義されます。

dwInitialFrames

オーディオ スキュー。 このメンバーは、インターリーブされたファイル内のビデオ フレームの前にオーディオ データをスキューする量を指定します。 通常、これは約 0.75 秒です。

dwSuggestedBufferSize

ストリームに推奨されるバッファー サイズ (バイト単位)。 通常、このメンバーには、ストリーム内の最大チャンクに対応する値が含まれます。 正しいバッファー サイズを使用すると、再生がより効率的になります。 正しいバッファー サイズがわからない場合は、0 を使用します。

dwQuality

ストリーム内のビデオ データの品質インジケーター。 品質は、0 から 10,000 までの数値として表されます。 圧縮データの場合、これは通常、圧縮ソフトウェアに渡される品質パラメーターの値を表します。 –1 に設定すると、ドライバーは既定の品質値を使用します。

dwSampleSize

1 つのデータ サンプルのサイズ (バイト単位)。 このメンバーの値が 0 の場合、サンプルのサイズは異なる可能性があり、各データ サンプル (ビデオ フレームなど) は個別のチャンクに含まれている必要があります。 0 以外の値は、データの複数のサンプルをファイル内の 1 つのチャンクにグループ化できることを示します。

ビデオ ストリームの場合、この数値は通常 0 ですが、すべてのビデオ フレームが同じサイズの場合は 0 以外の場合があります。 オーディオ ストリームの場合、この数値は、オーディオを記述する WAVEFORMAT または WAVEFORMATEX 構造体の nBlockAlign メンバーと同じである必要があります。

rcFrame

ビデオの変換先の四角形の寸法。 値は、左上隅の座標、高さ、四角形の幅を表します。

dwEditCount

ストリームが編集された回数。 ストリーム ハンドラーはこの数を保持します。

dwFormatChangeCount

ストリーム形式が変更された回数。 ストリーム ハンドラーはこの数を保持します。

szName[64]

ストリームの説明を含む Null で終わる文字列。

解説

注意

vfw.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして AVISTREAMINFO を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header vfw.h

関連項目

AVIFile 関数とマクロ

AVIFile 構造体

PCMWAVEFORMAT

WAVEFORMAT

WAVEFORMATEX

mmioFOURCC