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 方法會將此資料流程導向輸出介面 。 否則,資料流程不會被擷取。 DXVAHD_VPDEVCAPS結構的MaxInputStreams成員中會提供一次可啟用的資料流程數目上限。
OutputIndex
輸出框架之以零起始的索引編號。 請參閱<備註>。
InputFrameOrField
輸入框架或欄位之以零起始的索引編號。 請參閱<備註>。
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_PRI加值稅E類型的視訊介面。 請參閱 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、0、0、0、...
- 輸入索引:0、1、2、3、...
- 以一般速率交錯的視訊。 每個交錯框架 (兩個欄位,) 會產生兩個輸出畫面。
- 輸出索引:0、1、0、1、...
- 輸入索引:0、1、2、3、...
- 2/1 輸出速率的漸進式視訊。 每個輸入框架都會產生一個輸出框架。
- 輸出索引:0、1、0、1、...
- 輸入索引:0、1、2、3、...
- 以 1/2 輸出速率交錯的視訊。 每個交錯框架都會產生一個輸出畫面。 (會混合兩個欄位來建立一個 frame.)
- 輸出索引:0、0、0、0、...
- 輸入索引:0、2、4、6、...
需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
標頭 | dxvahd.h |