Microsoft DirectX 8.0

VIDEOINFOHEADER2 構造体

構造体

インターレース、コピー保護、およびピクセルのアスペクト比の情報を含む、ビデオ イメージのビットマップおよび色情報を記述する。

構文

typedef struct tagVIDEOINFOHEADER2 {
    RECT                rcSource;
    RECT                rcTarget;
    DWORD               dwBitRate;
    DWORD               dwBitErrorRate;
    REFERENCE_TIME      AvgTimePerFrame;
    DWORD               dwInterlaceFlags;
    DWORD               dwCopyProtectFlags;
    DWORD               dwPictAspectRatioX; 
    DWORD               dwPictAspectRatioY; 
    DWORD               dwReserved1;        
    DWORD               dwReserved2;        
    BITMAPINFOHEADER    bmiHeader;
} VIDEOINFOHEADER2;

メンバ

rcSource
転送先バッファに送るソース ストリームの使用部分を指定する RECT 構造体。レンダラでは、このフィールドを使用して、デコーダに伸縮またはクリッピングを指示できる。詳細については、「ビデオ レンダラにおける転送元矩形と転送先矩形」を参照すること。
rcTarget
転送先バッファのどの部分を使用するかを指定する RECT 構造体。詳細については、「ビデオ レンダラにおける転送元矩形と転送先矩形」を参照すること。
dwBitRate
ビデオ ストリームのおおよそのデータ レート (ビット/秒)。
dwBitErrorRate
ビデオ ストリームのデータ エラー レート (ビット/秒)。
AvgTimePerFrame
ビデオ フレームの平均表示時間 (100 ナノ秒単位)。
dwInterlaceFlags
以下のフラグのビットごとの組み合わせ (0 個でもよい)。このフラグの詳細については、このページの最後の表を参照すること。
AMINTERLACE_IsInterlacedストリームがインターレース方式である。このフラグがオフの場合、ほかのビットは意味がない。
AMINTERLACE_1FieldPerSampleメディア サンプルあたり 1 フィールド。このフラグがオフの場合は、メディア サンプルごとに 2 フィールドとなる。
AMINTERLACE_Field1Firstフィールド 1 が先。このフラグがオフの場合は、フィールド 2 が先になる (先頭フィールドは、PAL ではフィールド 1、NTSC ではフィールド 2)。
AMINTERLACE_FieldPatField1Only ストリームにフィールド 2 はない。
AMINTERLACE_FieldPatField2Only ストリームにフィールド 1 はない。
AMINTERLACE_FieldPatBothRegular フィールド 1 ごとにフィールド 2 が必ず 1 つある。
AMINTERLACE_FieldPatBothIrregular フィールド 1 とフィールド 2 が不規則に配置されている。
AMINTERLACE_DisplayModeBobOnly ディスプレイ モードは Bob のみ。
AMINTERLACE_DisplayModeWeaveOnly ディスプレイ モードはウィーブのみ。
AMINTERLACE_DisplayModeBobOrWeave Bob とウィーブの両方のモードがある。
未定義のフラグは 0 に設定すること。0 以外の場合、接続は拒否される。
dwCopyProtectFlags
ストリームの重複を制限しなければならないことを示す AMCOPYPROTECT_RestrictDuplication 値がセットされたフラグ。未定義の場合は、0 に指定すること。0 以外の場合、接続は拒否される。
dwPictAspectRatioX
画像のアスペクト比 (x ディメンジョン)。たとえば、16 × 9 インチ ディスプレイの場合は 16。
dwPictAspectRatioY
画像のアスペクト比 (y ディメンジョン)。たとえば、16 × 9 インチ ディスプレイの場合は 9。
dwReserved1
予約済み。ゼロでなくてはならない。
dwReserved2
将来的な使用のために予約されている。ゼロでなくてはならない。
bmiHeader
ビデオ イメージの色およびディメンジョン情報が格納された Microsoft® Win32® BITMAPINFOHEADER 構造体。

注意

dwInterlaceFlags のフィールド パターン フラグを確認するには、次のようにビット マスク AMINTERLACE_FieldPatternMask を使用する。

switch (dwInterlaceFlags & AMINTERLACE_FieldPatternMask)
{
    case AMINTERLACE_FieldPatField1Only:
        // ストリームにフィールド 2 はない。
    case AMINTERLACE_FieldPatField2Only:
        // ストリームにフィールド 1 はない。
    case AMINTERLACE_FieldPatBothRegular:
        // フィールド 1 ごとにフィールド 2 が必ず 1 つある。
    case AMINTERLACE_FieldPatBothIrregular:
        // フィールド 1 とフィールド 2 が不規則に配置されている。
}

dwInterlaceFlags のディスプレイ モード フラグを確認するには、次のようにビット マスク AMINTERLACE_DisplayModeMask を使用する。

switch (dwInterlaceFlags & AMINTERLACE_DisplayModeMask)
{
    case AMINTERLACE_DisplayModeBobOnly:
        // ディスプレイ モードは Bob のみ。
    case AMINTERLACE_DisplayModeWeaveOnly:
        // ディスプレイ モードはウィーブのみ。
    case AMINTERLACE_DisplayModeBobOrWeave:
        // Bob とウィーブの両方のモードがある。
}

次の表は、オーバーレイ ミキサー フィルタのインターレース フィールド/フレームを表示するための、インターフェイス フラグとサンプル プロパティの有効な組み合わせを記述している。サンプル プロパティは各サンプルの AM_SAMPLE2_PROPERTIES 構造体の dwTypeSpecificFlags メンバに指定されている。

ディスプレイ モードインターレース フラグメディア サンプル プロパティ
フレーム00
非インターレースの Bob AMINTERLACE_IsInterlaced |
AMINTERLACE_1FieldPerSample |
AMINTERLACE_DisplayModeBobOnly
AM_VIDEO_FLAG_FIELD1 or AM_VIDEO_FLAG_FIELD2
ウィーブ のみ AMINTERLACE_IsInterlaced |
AMINTERLACE_FieldPatBothRegular |
AMINTERLACE_DisplayModeWeaveOnly
AM_VIDEO_FLAG_WEAVE
インターレースの Bob のみ フィールド 1 が最初AMINTERLACE_IsInterlaced |
AMINTERLACE_DisplayModeBobOnly
AM_VIDEO_FLAG_FIELD1_FIRST
フィールド 2 が最初AMINTERLACE_IsInterlaced |
AMINTERLACE_DisplayModeBobOnly
0
Bob か ウィーブ
(入れ替え可能)
Bob、フィールド 1 が最初AMINTERLACE_IsInterlaced |
AMINTERLACE_DisplayModeBobOrWeave
AM_VIDEO_FLAG_FIELD1_FIRST
Bob、フィールド 2 が最初AMINTERLACE_IsInterlaced |
AMINTERLACE_DisplayModeBobOrWeave
0
ウィーブAMINTERLACE_IsInterlaced |
AMINTERLACE_DisplayModeBobOrWeave
AM_VIDEO_FLAG_WEAVE