функция обратного вызова PDXVAHDSW_ProposeVideoPrivateFormat (dxvahd.h)
Получает частный формат поверхности из программного подключаемого устройства Microsoft DirectX Video Acceleration High Definition (DXVA-HD).
Синтаксис
PDXVAHDSW_ProposeVideoPrivateFormat PdxvahdswProposevideoprivateformat;
HRESULT PdxvahdswProposevideoprivateformat(
[in] HANDLE hDevice,
[in, out] D3DFORMAT *pFormat
)
{...}
Параметры
[in] hDevice
Дескриптор подключаемого устройства DXVA-HD.
[in, out] pFormat
Указатель на значение D3DFORMAT . При входе задает формат поверхности, запрашиваемый приложением. На выходных данных указывает формат частной поверхности, который предлагает подключаемого устройства.
Возвращаемое значение
Если эта функция обратного вызова выполнена успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Эта функция вызывается, когда приложение вызывает IDXVAHD_Device::CreateVideoSurface , если выполняются следующие условия:
- Тип входной поверхности — DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE.
- Устройство Direct3D не поддерживает формат surface, запрошенный приложением в собственном коде.
Если функция выполняется успешно, метод CreateVideoSurface пытается создать поверхность с форматом, возвращенным в pFormat.
Примеры
В следующем коде показано, как подключаемое устройство предлагает D3DFMT_A8R8G8B8 в качестве альтернативного формата поверхности для AYUV.
HRESULT CALLBACK ProposeVideoPrivateFormat(
HANDLE hDevice,
D3DFORMAT* pFormat
)
{
switch (*pFormat)
{
case D3DFMT_AYUV:
*pFormat = D3DFMT_A8R8G8B8;
return S_OK;
default:
return E_FAIL;
}
}
Требования
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | dxvahd.h |