PFND3D11_1DDI_VIDEOPROCESSORBLT回呼函式 (d3d10umddi.h)
在一或多個輸入樣本上執行視訊處理作業,並將結果寫入 Direct3D 表面。
語法
PFND3D11_1DDI_VIDEOPROCESSORBLT Pfnd3d111DdiVideoprocessorblt;
HRESULT Pfnd3d111DdiVideoprocessorblt(
D3D10DDI_HDEVICE unnamedParam1,
D3D11_1DDI_HVIDEOPROCESSOR unnamedParam2,
D3D11_1DDI_HVIDEOPROCESSOROUTPUTVIEW unnamedParam3,
UINT unnamedParam4,
UINT unnamedParam5,
const D3D11_1DDI_VIDEO_PROCESSOR_STREAM *unnamedParam6
)
{...}
參數
unnamedParam1
hDevice [in]
顯示裝置的句柄 (圖形內容) 。
unnamedParam2
hVideoProcessor [in]
透過呼叫 CreateVideoProcessor 函式所建立之視訊處理器物件的句柄。
unnamedParam3
hOutputView [in]
視訊處理器輸出檢視的資源句柄。 此句柄是透過呼叫 CreateVideoProcessorOutputView 函式所建立。
unnamedParam4
OutputFrame [in]
輸出視訊畫面的以零起始的索引。
unnamedParam5
StreamCount [in]
pStream 參數所參考之數位中要處理的輸入數據流數目。
unnamedParam6
pStream [in]
包含輸入數據流相關信息 之D3D11_1DDI_VIDEO_PROCESSOR_STREAM 結構的陣列指標。
傳回值
VideoProcessorBlt 會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
S_OK | 影片處理作業已順利完成。 |
E_OUTOFMEMORY | 記憶體無法完成作業。 |
備註
VideoProcessorBlt 會根據串流狀態和位區塊傳輸來執行所有視訊處理, (bitblt) 先前設定的狀態。
Microsoft Direct3D 運行時間會在呼叫驅動程式的 VideoProcessorBlt 函式之前執行下列數據驗證:
- 如果矩形未根據格式的需求正確對齊,可能會調整輸入和輸出 RECT 結構。
-
如果已啟用視訊處理器來產生立體聲樣本,輸出檢視必須包含兩個元素的紋理數位。
此外,至少必須指定一個立體聲數據流。
如果已停用視訊處理器來產生立體聲樣本,輸出檢視必須包含單一元素。 此外,無法將立體聲格式設定為 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO。
注意 視訊處理器是透過呼叫 VideoProcessorSetOutputStereoMode 來啟用或停用立體聲樣本的生產。 -
每個輸入數據流都是透過 D3D11_1DDI_VIDEO_PROCESSOR_STREAM 結構來指定。 如果輸入數據流的立體聲格式設定為 D3D11_1DDI_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE, 則 pInputSurfaceRight 成員不得設定為 NULL。 否則, pInputSurfaceRight 必須設定為 NULL。
注意 輸入數據流的立體聲格式是透過對 VideoProcessorSetStreamStereoFormat 的呼叫來設定。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
最低支援的伺服器 | Windows Server 2012 |
目標平台 | 桌面 |
標頭 | d3d10umddi.h (包含 D3d10umddi.h) |
另請參閱
CreateVideoProcessorOutputView
D3D11_1DDI_VIDEO_PROCESSOR_CAPS
D3D11_1DDI_VIDEO_PROCESSOR_STREAM