ビデオ VBI キャプチャ
DirectX 5.2 では、ビデオ垂直帰線消去期間 (VBI) キャプチャ用に、2 つの DirectDraw ドライバー関数が導入されました。 その関数とは、DxTransfer と DxGetTransferStatus です。
DxTransfer 関数は、ビデオと VBI のキャプチャを容易にします。 この関数は IRQ 時に呼び出されるので、できる限り迅速に戻る必要があります。 DxTransfer が呼び出されたときに、ディスプレイ ハードウェアがバス マスターを実行できる状態でなければ、ビデオ ミニポート ドライバーが、複数のバス マスターの内部キューを保持する必要があります (キューに保持するバス マスターの実際の数は、ドライバーの開発者次第です)。 これにより、ハードウェアの準備ができたときにハードウェアでバス マスターを実行することができます。 言い換えると、ドライバーでポーリングを実行してバス マスターの完了を待機するべきではありません。
DirectDraw は、DxTransfer 関数を呼び出すときに、DDTRANSFERININFO 構造体のメンバー dwTransferID に転送 ID を入力します。 その後、ビデオ ミニポート ドライバーは、DxGetTransferStatus 関数を呼び出すときに、その ID を使用できます。
バス マスターが完了したら、ディスプレイ ハードウェアで IRQ を生成する必要があります。 その後、ビデオ ミニポート ドライバーは、DxEnableIRQ で指定された IRQCallback 関数を呼び出す必要があります。 この IRQCallback 呼び出しでは、ビデオ ミニポート ドライバーは DDIRQ_BUSMASTER フラグを指定します。 DirectDraw は次に、DxGetTransferStatus 関数を呼び出して、完了したバス マスターを判定します。 ビデオ ミニポート ドライバーは、前に DxTransfer 呼び出しで DirectDraw からドライバーに渡された転送 ID (dwTransferID) を返す必要があります。 このようにして、ドライバーのキューに 5 つのバス マスターが保持されている場合に、DirectDraw は最後に完了したバス マスターを特定することができます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示