DXVAHD_STREAM_DATA 構造体 (dxvahd.h)
IDXVAHD_VideoProcessor::VideoProcessBltHD メソッドのストリームごとのデータが含まれます。
構文
typedef struct _DXVAHD_STREAM_DATA {
BOOL Enable;
UINT OutputIndex;
UINT InputFrameOrField;
UINT PastFrames;
UINT FutureFrames;
IDirect3DSurface9 **ppPastSurfaces;
IDirect3DSurface9 *pInputSurface;
IDirect3DSurface9 **ppFutureSurfaces;
} DXVAHD_STREAM_DATA;
メンバー
Enable
この入力ストリームを有効にするかどうかを指定します。 値が TRUE の場合、 VideoProcessBltHD メソッドは、このストリームを出力サーフェイスに blit します。 それ以外の場合、ストリームは blitted されません。 一度に有効にできるストリームの最大数は、DXVAHD_VPDEVCAPS構造体の MaxInputStreams メンバーに指定されます。
OutputIndex
出力フレームの 0 から始まるインデックス番号。 「解説」を参照してください。
InputFrameOrField
入力フレームまたはフィールドの 0 から始まるインデックス番号。 「解説」を参照してください。
PastFrames
過去の参照フレームの数。 この値は、DXVAHD_VPCAPS構造体の PastFrames メンバーの値以下である必要があります。
FutureFrames
将来の参照フレームの数。 この値は、DXVAHD_VPCAPS構造体の FutureFrames メンバーの値以下である必要があります。
ppPastSurfaces
呼び出し元によって割り当てられた IDirect3DSurface9 ポインターの配列へのポインター。 この配列には、ビデオ処理操作の過去の参照フレームが含まれています。 配列内の要素の数は、 PastFrames メンバーの値と等しくなります。
pInputSurface
現在の入力フレームを含む Microsoft Direct3D サーフェスの IDirect3DSurface9 インターフェイスへのポインター。
ppFutureSurfaces
呼び出し元によって割り当てられた IDirect3DSurface9 ポインターの配列へのポインター。 この配列には、ビデオ処理操作の将来の参照フレームが含まれています。 配列内の要素の数は、 FutureFrames メンバーの値と等しくなります。
解説
入力サーフェス
Direct3D サーフェスは、DXVAHD_VPDEVCAPS構造体の InputPool メンバーによって指定されたメモリ プールに割り当てる必要があります。 次のサーフェスタイプを使用できます。- DXVAHD_SURFACE_TYPE_VIDEO_INPUTまたはDXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATEの種類のビデオ サーフェス。 「IDXVAHD_Device::CreateVideoSurface」を参照してください。
- DXVA2_VideoDecoderRenderTarget型のデコーダー レンダー ターゲット サーフェス。 「IDirectXVideoAccelerationService::CreateSurface」を参照してください。
- 画面外のプレーンサーフェス。
- ppPastSurfaces: { ..., T-3, T-2, T-1 }
- ppInputSurface: T
- ppFutureSurfaces: { T+1, T+2, T+3, ... }
- ビデオ シーケンスの先頭または末尾
- プログレッシブ入力を使用
- プログレッシブ入力とインターレース入力の間の遷移中
- 高いインターレース品質を必要としないサブストリームの場合
- フレームのドロップ中
入力インデックスと出力インデックス
OutputIndex メンバーと InputFrameOrField メンバーは、入力フレームまたはフィールドを出力フレームと関連付けるために使用されます。 OutputIndex メンバーの値は循環型であり、各サイクルの後に 0 にリセットされます。パターンの例を次に示します。
- 通常の速度でのプログレッシブ ビデオ。 各入力フレームは、1 つの出力フレームを生成します。
- 出力インデックス: 0、0、0、0、...
- 入力インデックス: 0、1、2、3、...
- 通常のレートでインターレースされたビデオ。 各インターレース フレーム (2 つのフィールド) では、2 つの出力フレームが生成されます。
- 出力インデックス: 0、1、0、1、...
- 入力インデックス: 0、1、2、3、...
- 2/1出力レートのプログレッシブビデオ。 各入力フレームは、1 つの出力フレームを生成します。
- 出力インデックス: 0、1、0、1、...
- 入力インデックス: 0、1、2、3、...
- 1/2出力レートでインターレースされたビデオ。 インターレースされた各フレームは、1 つの出力フレームを生成します。 (2 つのフィールドがブレンドされ、1 つのフレームが作成されます)。
- 出力インデックス: 0、0、0、0、...
- 入力インデックス: 0、2、4、6、...
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
Header | dxvahd.h |