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 エラー コードを返します。
解説
形式の一覧には、D3DFMT_X8R8G8B8などの D3DFORMAT 値と、'NV12' などの FOURCC コードの両方を含めることができます。 詳細については、「 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 |