Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Überprüfen unterstützter Eingabeformate
Gehen Sie wie folgt vor, um eine Liste der Eingabeformate abzurufen, die das DxVA-HD-Gerät (Microsoft DirectX Video Acceleration High Definition) unterstützt:
- Rufen Sie IDXVAHD_Device::GetVideoProcessorDeviceCaps auf, um die Gerätefunktionen abzurufen.
- Überprüfen Sie das InputFormatCount-Element der DXVAHD_VPDEVCAPS-Struktur . Dieser Member gibt die Anzahl der unterstützten Eingabeformate an.
- Ordnen Sie ein Array von D3DFORMAT-Werten der Größe InputFormatCount zu.
- Übergeben Sie dieses Array an die IDXVAHD_Device::GetVideoProcessorInputFormats-Methode . Die Methoden füllen das Array mit einer Liste von Eingabeformaten.
Diese Schritte sind im folgenden Code dargestellt:
// Checks whether a DXVA-HD device supports a specified input format.
HRESULT CheckInputFormatSupport(
IDXVAHD_Device *pDXVAHD,
const DXVAHD_VPDEVCAPS& caps,
D3DFORMAT d3dformat
)
{
D3DFORMAT *pFormats = new (std::nothrow) D3DFORMAT[ caps.InputFormatCount ];
if (pFormats == NULL)
{
return E_OUTOFMEMORY;
}
HRESULT hr = pDXVAHD->GetVideoProcessorInputFormats(
caps.InputFormatCount,
pFormats
);
if (FAILED(hr))
{
goto done;
}
UINT index;
for (index = 0; index < caps.InputFormatCount; index++)
{
if (pFormats[index] == d3dformat)
{
break;
}
}
if (index == caps.InputFormatCount)
{
hr = E_FAIL;
}
done:
delete [] pFormats;
return hr;
}
Überprüfen der unterstützten Ausgabeformate
Gehen Sie wie folgt vor, um eine Liste der Ausgabeformate abzurufen, die das DXVA-HD-Gerät unterstützt:
- Rufen Sie IDXVAHD_Device::GetVideoProcessorDeviceCaps auf, um die Gerätefunktionen abzurufen.
- Überprüfen Sie das OutputFormatCount-Element der DXVAHD_VPDEVCAPS-Struktur . Dieser Member gibt die Anzahl der unterstützten Eingabeformate an.
- Ordnen Sie ein Array von D3DFORMAT-Werten der Größe OutputFormatCount zu.
- Übergeben Sie dieses Array an die IDXVAHD_Device::GetVideoProcessorOutputFormats-Methode . Die Methoden füllen das Array mit einer Liste von Ausgabeformaten.
Diese Schritte sind im folgenden Code dargestellt:
// 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;
}
Zugehörige Themen