Метод IDXVAHD_Device::GetVideoProcessorOutputFormats (dxvahd.h)
Возвращает список форматов вывода, поддерживаемых устройством Microsoft DirectX Video Acceleration High Definition (DXVA-HD).
Синтаксис
HRESULT GetVideoProcessorOutputFormats(
[in] UINT Count,
[out] D3DFORMAT *pFormats
);
Параметры
[in] Count
Число извлекаемых форматов. Этот параметр должен быть равен элементу OutputFormatCount структуры DXVAHD_VPDEVCAPS . Вызовите метод IDXVAHD_Device::GetVideoProcessorDeviceCaps , чтобы получить это значение.
[out] pFormats
Указатель на массив значений D3DFORMAT . Параметр Count указывает количество элементов в массиве. Метод заполняет массив списком форматов выходных данных.
Возвращаемое значение
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Список форматов может включать как значения D3DFORMAT , такие как D3DFMT_X8R8G8B8, так и коды FOURCC, такие как "NV12". Дополнительные сведения см. в разделе Video FOURCC.
Примеры
// 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 |
Header | dxvahd.h |