IDXVAHD_Device::GetVideoProcessorOutputFormats-Methode (dxvahd.h)
Ruft eine Liste der Ausgabeformate ab, die vom DXVA-HD-Gerät (Microsoft DirectX Video Acceleration High Definition) unterstützt werden.
Syntax
HRESULT GetVideoProcessorOutputFormats(
[in] UINT Count,
[out] D3DFORMAT *pFormats
);
Parameter
[in] Count
Die Anzahl der abzurufenden Formate. Dieser Parameter muss dem OutputFormatCount-Element der DXVAHD_VPDEVCAPS-Struktur entsprechen. Rufen Sie die IDXVAHD_Device::GetVideoProcessorDeviceCaps-Methode auf, um diesen Wert abzurufen.
[out] pFormats
Ein Zeiger auf ein Array von D3DFORMAT-Werten . Der Parameter Count gibt die Anzahl der Elemente im Array an. Die -Methode füllt das Array mit einer Liste von Ausgabeformaten aus.
Rückgabewert
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Die Liste der Formate kann sowohl D3DFORMAT-Werte wie D3DFMT_X8R8G8B8 als auch FOURCC-Codes wie "NV12" enthalten. Weitere Informationen finden Sie unter Video FOURCCs.
Beispiele
// 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;
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | dxvahd.h |