Метод IDirectXVideoAccelerationService::CreateSurface (dxva2api.h)
Создает видеопроцессор DirectX Video Acceleration (DXVA) или целевой объект отрисовки декодера DXVA.
Синтаксис
HRESULT CreateSurface(
[in] UINT Width,
[in] UINT Height,
[in] UINT BackBuffers,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[in] DWORD Usage,
[in] DWORD DxvaType,
[out] IDirect3DSurface9 **ppSurface,
[in, out] HANDLE *pSharedHandle
);
Параметры
[in] Width
Ширина поверхности в пикселях.
[in] Height
Высота поверхности в пикселях.
[in] BackBuffers
Количество задних буферов. Метод создает BackBuffers + 1 поверхности.
[in] Format
Формат пикселей, указанный в виде значения D3DFORMAT или кода FOURCC. Дополнительные сведения см. в документации по Direct3D.
[in] Pool
Пул памяти, в котором создается поверхность, указанная в качестве значения D3DPOOL . Дополнительные сведения см. в документации по Direct3D. Декодеры обычно должны использовать значение D3DPOOL_DEFAULT.
[in] Usage
Зарезервировано. Присвойте этому значению нулевое значение.
[in] DxvaType
Тип создаваемой поверхности. Используйте одно из следующих значений.
Значение | Значение |
---|---|
|
Целевой объект отрисовки декодера видео. |
|
Целевой объект отрисовки видеопроцессоров. Используется для операций IDirectXVideoProcessor::VideoProcessBlt . |
|
Целевой объект отрисовки программного обеспечения. Этот тип поверхности предназначен для использования с программными устройствами DXVA. |
[out] ppSurface
Адрес массива указателей IDirect3DSurface9 , выделенных вызывающим объектом. Размер массива должен быть 1 + BackBuffers (достаточно для задних буферов плюс один передний буфер). Метод заполняет массив указателями IDirect3DSurface9 . Вызывающий объект должен освободить все указатели интерфейса. Кроме того, передний буфер содержит счетчик ссылок на каждый из задних буферов. Таким образом, задние буферы никогда не удаляются, пока не будет удален передний буфер.
[in, out] pSharedHandle
Указатель на дескриптор, используемый для совместного использования поверхностей между устройствами Direct3D. Задайте для этого параметра значение NULL.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
недопустимый параметр. |
|
Диспетчер ускорения видео DirectX не инициализирован. |
|
Аргумент указателя NULL. |
Комментарии
Если метод возвращает E_FAIL, попробуйте вызвать IDirect3DeviceManager9::ResetDevice , чтобы сбросить диспетчер ускорения видео DirectX.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | dxva2api.h |