次の方法で共有


KS_VIDEOINFOHEADER2 構造体 (ksmedia.h)

KS_VIDEOINFOHEADER2構造では、bob または weave の設定、コピー保護、ピクセル縦横比など、ビデオ ストリームの詳細について説明します。

構文

typedef struct tagKS_VIDEOINFOHEADER2 {
  RECT                rcSource;
  RECT                rcTarget;
  DWORD               dwBitRate;
  DWORD               dwBitErrorRate;
  REFERENCE_TIME      AvgTimePerFrame;
  DWORD               dwInterlaceFlags;
  DWORD               dwCopyProtectFlags;
  DWORD               dwPictAspectRatioX;
  DWORD               dwPictAspectRatioY;
  union {
    DWORD dwControlFlags;
    DWORD dwReserved1;
  };
  DWORD               dwReserved2;
  KS_BITMAPINFOHEADER bmiHeader;
} KS_VIDEOINFOHEADER2, *PKS_VIDEOINFOHEADER2;

メンバー

rcSource

使用するアクティブなビデオ信号の部分を選択するクリッピング四角形を指定します。

rcTarget

使用するターゲット バッファーの一部を示す四角形を指定します。

dwBitRate

ビデオ ストリームの適切なデータ レートを 1 秒あたりのビット数で示す値を指定します。

dwBitErrorRate

ビデオ ストリームのデータ エラー率を 1 秒あたりのビット エラー数で示す値を指定します。

AvgTimePerFrame

フレームあたりの平均時間を 100 ナノ秒単位で指定します。

dwInterlaceFlags

インターレース情報を指定します。 未定義のフラグは 0 に設定する必要があります。または、接続が拒否される可能性があります。 このメンバーは、 ksmedia.h で定義されている 1 つ以上の (論理 OR) 値に設定できます。

フラグ 説明
KS_INTERLACE_IsInterlaced インターレース ストリームを示します。 0 の場合、他のKS_INTERLACE_Xxx ビットは関係ありません。
KS_INTERLACE_1FieldPerSample メディア サンプルごとに 1 つのフィールドを示します。 0 の場合は、メディア サンプルごとに 2 つのフィールドを示します。
KS_INTERLACE_Field1First フィールド 1 が最初であることを示します。 0 の場合は、フィールド 2 が最初であることを示します。 PAL の上位フィールドはフィールド 1、NTSC の最上位フィールドはフィールド 2 です。
KS_INTERLACE_UNUSED 未使用
KS_INTERLACE_FieldPatternMask フィールド パターンの指定に使用されるビットを示します。
KS_INTERLACE_FieldPatField1Only ストリームに Field 2 が含まれていることを示します。
KS_INTERLACE_FieldPatField2Only ストリームに Field 1 が含まれていることを示します。
KS_INTERLACE_FieldPatBothRegular フィールド 1 ごとにフィールド 2 があることを示します。
KS_INTERLACE_FieldPatBothIrregular フィールド 1 とフィールド 2 のランダム なパターンを示します。
KS_INTERLACE_DisplayModeMask ビデオ キャプチャに無効です。
KS_INTERLACE_DisplayModeBobOnly ビデオ キャプチャに無効です。
KS_INTERLACE_DisplayModeWeaveOnly ビデオ キャプチャに無効です。
KS_INTERLACE_DisplayModeBobOrWeave ビデオ キャプチャに無効です。

dwCopyProtectFlags

ストリームの重複を制限するかどうかを示す KSCOPYPROTECTRestrictDuplication 値 (0x00000001) を指定します。 未定義の場合は、0 を指定するか、接続が拒否されます。

dwPictAspectRatioX

図の縦横比の x ディメンションを指定します (たとえば、16 × 9 ディスプレイの場合は 16)。 この値は、ピクセル単位ではなくインチ単位で表されます。

dwPictAspectRatioY

図の縦横比の y ディメンションを指定します (たとえば、16 × 9 ディスプレイの場合は 9)。 この値は、ピクセル単位ではなくインチ単位で表されます。

dwControlFlags

Windows Vista より前のオペレーティング システムでは、このメンバーは dwReserved1 という名前で、ゼロにする必要があります。 Windows Vista では、 dwReserved1dwControlFlags という名前の新しいメンバーと共用体で結合されました。 dwControlFlags を使用する場合、次の表に示すフラグのビットごとの OR が含まれます。

説明
AMCONTROL_USED dwControlFlags フラグが使用されていることを示します。
AMCONTROL_PAD_TO_4x3 画像を埋め込み、4 x 3 の領域に表示する必要があります。
AMCONTROL_PAD_TO_16x9 画像を埋め込み、16 x 9 の領域に表示する必要があります。
AMCONTROL_COLORINFO_PRESENT 追加の色情報は、 dwControlFlags フィールドの上位 24 ビットに含まれています。

AMCONTROL_USED フラグは、以前のフィルターとの下位互換性を提供します。 AMCONTROL_USED フラグが設定されていない場合、このフィールドの残りのビットは無視する必要があります。 フィルターで他のフラグを使用する場合は、AMCONTROL_USED フラグを設定する必要があります。

デコーダーは、出力四角形の縦横比を決定するために、2 つのAMCONTROL_PAD_xxx フラグを使用します。

AMCONTROL_COLORINFO_PRESENT フラグが設定されている場合は、dwControlFlags フィールドの上位 24 ビットが DXVA_ExtendedFormat 構造体として扱われることを意味します。

dwControlFlags の詳細については、このトピックで後述する「解説」セクションを参照してください。

dwReserved1

このメンバーは、旧バージョンとの互換性を維持するために使用されます。 詳細については、「 dwControlFlags 」を参照してください。

dwReserved2

システムで使用するために予約されています。 0 に設定する必要があります。または、接続が拒否されます。

bmiHeader

ビデオ イメージ ビットマップの色とディメンション情報を含む KS_BITMAPINFOHEADER 構造体を示します。

注釈

bob または weave 設定を使用せずにビデオ ストリームを記述するには、 KS_VIDEOINFOHEADERを使用します。

KS_VIDEOINFOHEADER2構造体は、DirectShow VIDEOINFOHEADER2 構造体と同じです。

(フレームではなく) ビデオ フィールドを生成するミニドライバーをキャプチャするには、KS_VIDEOINFOHEADER2構造を含む KS_DATARANGE_VIDEO2 構造を使用する必要があります。

ソース フィルターは、 rcSource メンバーでクリッピング四角形を効果的に定義する値を提供することで、シンク フィルターがビデオのセクションのみを受け取るように要求できます。 ただし、シンク フィルターが接続時にクリッピング四角形にチェックしない場合、シンク フィルターは単にすべてのビデオをレンダリングし、ソース フィルターからシンク フィルターに渡されたクリッピング情報を実質的に無視します。

理想的には、シンク フィルターは rcSource を チェックし、シンク フィルターがイメージ抽出をサポートせず、四角形が空 でない 場合は、接続を拒否します。 フィルターでは、Win32 関数 SetRectEmpty を使用して四角形をすべてのゼロにリセットする必要があります (また、後で四角形チェックに IsRectEmpty を設定します)。

rcTarget メンバーは、ビデオの変換先の四角形を指定します。 ほとんどのソース フィルターは、このメンバーをすべてのゼロに設定します。 ダウンストリーム フィルターは、ビデオを提供するバッファーの特定の領域に配置することを要求できます。 この場合、Win32 関数 QueryAccept を空でないターゲットで呼び出します。

AMCONTROL_COLORINFO_PRESENT フラグが dwControlFlags メンバーに設定されている場合は、 dwControlFlags 値を DXVA_ExtendedFormat 構造体にキャストして、拡張色情報にアクセスできます。 詳細については、「 VIDEOINFOHEADER2」を参照してください。

要件

要件
Header ksmedia.h (Ksmedia.h を含む)

こちらもご覧ください

KS_BITMAPINFOHEADER

KS_DATARANGE_VIDEO2

KS_VIDEOINFOHEADER