KS_VBI_FRAME_INFO 構造体 (ksmedia.h)

KS_VBI_FRAME_INFO構造体は、垂直ブランキング間隔 (VBI) ストリームのKSSTREAM_HEADER構造を拡張します。

構文

typedef struct tagKS_VBI_FRAME_INFO {
  ULONG                  ExtendedHeaderSize;
  DWORD                  dwFrameFlags;
  LONGLONG               PictureNumber;
  LONGLONG               DropCount;
  DWORD                  dwSamplingFrequency;
  KS_TVTUNER_CHANGE_INFO TvTunerChangeInfo;
  KS_VBIINFOHEADER       VBIInfoHeader;
} KS_VBI_FRAME_INFO, *PKS_VBI_FRAME_INFO;

メンバー

ExtendedHeaderSize

この構造体のサイズを指定します。

dwFrameFlags

キャプチャされたフレームに関する追加情報を示すフラグを指定します。 キャプチャ中、ミニドライバーは、このメンバーを ksmedia.h で定義されている次のいずれかの値に設定します。

フラグ 説明
KS_VBI_FLAG_FIELD1 2 フィールド シーケンスの最初のフィールドを示します
KS_VBI_FLAG_FIELD2 2 フィールド シーケンスの 2 番目のフィールドを示します
KS_VBI_FLAG_MV_PRESENT マクロ ビジョン保護スキームを示します
KS_VBI_FLAG_MV_HARDWARE Macrovision ハードウェアのサポートを示します
KS_VBI_FLAG_MV_DETECTED マクロ ビジョンが検出されたことを示します
KS_VBI_FLAG_TVTUNER_CHANGE TvTunerChangeInfo メンバー構造に有効なデータが含まれていることを示します
KS_VBI_FLAG_VBIINFOHEADER_CHANGE VBIInfoHeader メンバー構造に有効なデータが含まれていることを示します

PictureNumber

現在の図番号を表すカウントを指定します。 KSSTATE_ACQUIREへの移行時に、この値を初期化または更新します。

DropCount

キャプチャされなかった画像の数を指定します。 ビデオをキャプチャするときに、ミニドライバーはこのメンバーを設定します。 フレームをキャプチャする必要があるが、キャプチャされなかった場合は常に、このカウンターをインクリメントする必要があります。この状態は通常、キャプチャ中にバッファーが使用できなかった場合に発生します。 KSSTATE_ACQUIREへの移行時に、この値を初期化または更新します。

dwSamplingFrequency

サンプリング周波数をヘルツ (Hz) で指定します。

TvTunerChangeInfo

国/地域コード、アナログ ビデオ標準、チャネルなど、現在の VBI データ ソースに関する情報を指定します。 このメンバーは、 dwFrameFlags で KS_VBI_FLAG_TVTUNER_CHANGE フラグが指定されている場合にのみ有効です。

VBIInfoHeader

開始行、終了行、サンプリング頻度、ビデオ標準など、現在の VBI データ ソースに関する情報を指定します。 このメンバーは、 dwFrameFlags で KS_VBI_FLAG_VBIINFOHEADER_CHANGE フラグが指定されている場合にのみ有効です。

注釈

KS_VBI_FRAME_INFO構造体は、キャプチャされたフレームに関する情報を返す方法と、VBI デコーダーにチューニング情報を提供する方法を提供します。

PictureNumber メンバー数は、ストリームを開くために使用される形式に基づいて、現在の画像の数を表します。 この数は、デバイスに応じて、次の 2 つの方法のいずれかで計算されます。

  1. ストリームが開始されてからの時間を測定し、フレーム期間で除算します。 この方法は、独自のクロックを提供しないデバイスに適しています。 例: PictureNumber = (CurrentStreamTime - StartStreamTime) / FrameDuration

  2. キャプチャされたフレームの数と削除されたフレームの数をまとめて追加します。 この方法は、独自のクロックを提供するデバイスに適しています。 例: PictureNumber = FramesCaptured + FramesDropped

PictureNumberDropCount を計算するときは、ストリームを開いたときに指定されたフレーム期間を使用することが重要です。これは、デバイスが実際にイメージを生成する速度と必ずしも一致しない場合があります。 たとえば、USB カメラでは 7.5 fps の画像のみが生成されますが、クライアントは 8 fps でストリームを開く可能性があります。 この場合、すべての計算で 8 fps の数値を使用する必要があります。 PictureNumberDropCount の更新の詳細については、「ビデオのキャプチャ」を参照してください。

dwSamplingFrequency メンバーは Microsoft VBI コーデックでは使用されませんが、他の WDM コーデックで使用できます。 VBIInfoHeader と同じである必要があります。SamplingFrequency メンバー。 ミニドライバーは、 dwFrameFlags メンバーのKS_VBI_FLAG_VBIINFOHEADER_CHANGE ビットを設定し、 dwSamplingFrequency を含むすべてのメンバーを VBIInfoHeader 構造体に入力することで、サンプリング頻度の変化を示します。

要件

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

こちらもご覧ください

KSSTREAM_HEADER

KS_TVTUNER_CHANGE_INFO

KS_VBIINFOHEADER