AVIMAINHEADER 構造体
AVIMAINHEADER 構造体は、AVI ファイルに含まれるグローバル情報を定義する。
構文
typedef struct _avimainheader {
FOURCC fcc;
DWORD cb;
DWORD dwMicroSecPerFrame;
DWORD dwMaxBytesPerSec;
DWORD dwPaddingGranularity;
DWORD dwFlags;
DWORD dwTotalFrames;
DWORD dwInitialFrames;
DWORD dwStreams;
DWORD dwSuggestedBufferSize;
DWORD dwWidth;
DWORD dwHeight;
DWORD dwReserved[4];
} AVIMAINHEADER;
メンバ
fcc
FOURCC コードを指定する。値は avih でなければならない。
cb
構造体のサイズを指定する。最初の 8 バイト分を差し引いた値を指定する。
dwMicroSecPerFrame
フレーム間の間隔をマイクロ秒単位で指定する。この値はファイルの全体のタイミングを示す。
dwMaxBytesPerSec
ファイルの概算最大データ レートを指定する。この値は、メイン ヘッダーおよびストリーム ヘッダー チャンクに含まれる他のパラメータに従って AVI シーケンスを表示するために、システムが処理しなければならない毎秒のバイト数を示す。
dwPaddingGranularity
データのアライメントをバイト単位で指定する。この値の倍数にデータをパディングする。
dwFlags
次のフラグの 0 個以上のビットごとの組み合わせを格納する。
値説明
AVIF_HASINDEXAVI ファイルにインデックスがあることを示す。
AVIF_MUSTUSEINDEXデータのプレゼンテーションの順序を決定するために、ファイル内のチャンクの物理的な順序ではなく、インデックスをアプリケーションが使うことを示す。たとえば、このフラグを使用して、編集するフレームのリストを作成できる。
AVIF_ISINTERLEAVEDAVI ファイルがインターリーブされていることを示す。
AVIF_WASCAPTUREFILEAVI ファイルが、リアルタイム ビデオのキャプチャ用に特別に割り当てられたファイルであることを示す。アプリケーションは、このフラグが設定されたファイルをオーバーライドする前に、ユーザーに警告を発する必要がある。これは、ユーザーがこのファイルをデフラグメントしている可能性が高いからである。
AVIF_COPYRIGHTEDAVI ファイルに著作権のあるデータおよびソフトウェアが含まれていることを示す。このフラグが使われている場合、ソフトウェアはデータの複製を許可すべきではない。
dwTotalFrames
ファイル内のデータのフレームの総数を指定する。
dwInitialFrames
インターリーブされたファイルの開始フレームを指定する。インターリーブされたファイル以外では、0 を指定する。インターリーブされたファイルを作成する場合、ファイル内で AVI シーケンスの開始フレームより前にあるフレーム数を、このメンバに指定する。このメンバの内容に関する詳細については、『Video for Windows Programmer's Guide』の「Special Information for Interleaved Files」を参照すること。
dwStreams
ファイル内のストリーム数を指定する。たとえば、オーディオとビデオを含むファイルには 2 つのストリームがある。
dwSuggestedBufferSize
ファイルを読み取るためのバッファ サイズを指定する。一般に、このサイズはファイル内の最大のチャンクを格納するのに十分な大きさにする。0 に設定したり、小さすぎる値に設定した場合、再生ソフトウェアは再生中にメモリを再割り当てしなければならず、パフォーマンスが低下する。インターリーブされたファイルの場合、バッファ サイズはチャンクではなくレコード全体を読み取るのに十分な大きさでなければならない。
dwWidth
AVI ファイルの幅を指定する (ピクセル単位)。
dwHeight
AVI ファイルの高さを指定する (ピクセル単位)。
dwReserved
予約済み。この配列はゼロに設定する。
要件
Aviriff.h をインクルードすること。
参照