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 をインクルードすること。

参照