Поделиться через


Метод 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

См. также раздел

DXVA-HD

IDXVAHD_Device