IDXVAHD_Device::GetVideoProcessorOutputFormats 方法 (dxvahd.h)
取得 Microsoft DirectX Video Acceleration High Definition (DXVA-HD) 裝置所支援的輸出格式清單。
語法
HRESULT GetVideoProcessorOutputFormats(
[in] UINT Count,
[out] D3DFORMAT *pFormats
);
參數
[in] Count
要擷取的格式數目。 此參數必須等於DXVAHD_VPDEVCAPS結構的OutputFormatCount成員。 呼叫 IDXVAHD_Device::GetVideoProcessorDeviceCaps 方法來取得此值。
[out] pFormats
D3DFORMAT值的陣列指標。 Count參數會指定陣列中的專案數目。 方法會以輸出格式清單填滿陣列。
傳回值
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
格式清單可以同時包含 D3DFORMAT 值,例如 D3DFMT_X8R8G8B8和 FOURCC 程式碼,例如 'NV12'。 如需詳細資訊,請參閱Video FOURC。
範例
// Checks whether a DXVA-HD device supports a specified output format.
HRESULT CheckOutputFormatSupport(
IDXVAHD_Device *pDXVAHD,
const DXVAHD_VPDEVCAPS& caps,
D3DFORMAT d3dformat
)
{
D3DFORMAT *pFormats = new (std::nothrow) D3DFORMAT[caps.OutputFormatCount];
if (pFormats == NULL)
{
return E_OUTOFMEMORY;
}
HRESULT hr = pDXVAHD->GetVideoProcessorOutputFormats(
caps.OutputFormatCount,
pFormats
);
if (FAILED(hr))
{
goto done;
}
UINT index;
for (index = 0; index < caps.OutputFormatCount; index++)
{
if (pFormats[index] == d3dformat)
{
break;
}
}
if (index == caps.OutputFormatCount)
{
hr = E_FAIL;
}
done:
delete [] pFormats;
return hr;
}
需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | dxvahd.h |