функция обратного вызова PFND3D11_1DDI_VIDEOPROCESSORBLT (d3d10umddi.h)

Выполняет операцию обработки видео с одним или несколькими входными примерами и записывает результат в поверхность Direct3D.

Синтаксис

PFND3D11_1DDI_VIDEOPROCESSORBLT Pfnd3d111DdiVideoprocessorblt;

HRESULT Pfnd3d111DdiVideoprocessorblt(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11_1DDI_HVIDEOPROCESSOR unnamedParam2,
  D3D11_1DDI_HVIDEOPROCESSOROUTPUTVIEW unnamedParam3,
  UINT unnamedParam4,
  UINT unnamedParam5,
  const D3D11_1DDI_VIDEO_PROCESSOR_STREAM *unnamedParam6
)
{...}

Параметры

unnamedParam1

hDevice [in]

Дескриптор устройства отображения (графический контекст).

unnamedParam2

hVideoProcessor [in]

Дескриптор объекта видеопроцессора, который был создан с помощью вызова функции CreateVideoProcessor .

unnamedParam3

hOutputView [in]

Дескриптор ресурса для выходного представления видеопроцессоров. Этот дескриптор был создан путем вызова функции CreateVideoProcessorOutputView .

unnamedParam4

OutputFrame [in]

Отсчитываемый от нуля индекс выходного видеокадра.

unnamedParam5

StreamCount [in]

Количество входных потоков для обработки в массиве, на который ссылается параметр pStream .

Примечание Максимальное значение этого параметра задается элементом MaxStreamStatesструктуры D3D11_1DDI_VIDEO_PROCESSOR_CAPS . Максимальное количество потоков, которые можно включить одновременно, предоставляется в элементе MaxInputStreams этой структуры.
 

unnamedParam6

pStream [in]

Указатель на массив D3D11_1DDI_VIDEO_PROCESSOR_STREAM структур, содержащих сведения о входных потоках.

Возвращаемое значение

VideoProcessorBlt возвращает одно из следующих значений:

Код возврата Описание
S_OK Операция обработки видео успешно завершена.
E_OUTOFMEMORY Память не была доступна для завершения операции.

Комментарии

VideoProcessorBlt выполняет всю обработку видео на основе ранее заданных состояний потока и передачи битовых блоков (bitblt).

Среда выполнения Microsoft Direct3D выполняет следующую проверку данных перед вызовом функции VideoProcessorBlt драйвера:

  • Входные и выходные структуры RECT могут быть скорректированы, если прямоугольники неправильно выровнены в соответствии с требованиями формата.
  • Если видеопроцессору разрешено создавать стерео-образцы, выходное представление должно содержать массив текстур из двух элементов. Кроме того, необходимо указать по крайней мере один стереопоток.

    Если видеопроцессор был отключен для создания стерео образцов, представление вывода должно содержать один элемент. Кроме того, стереоформат нельзя настроить как D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO.

    Примечание Видеопроцессор включается или отключается для производства образцов стерео через вызов VideoProcessorSetOutputStereoMode.
     
  • Каждый входной поток задается с помощью структуры D3D11_1DDI_VIDEO_PROCESSOR_STREAM . Если стереоформат входного потока настроен для D3D11_1DDI_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE, член pInputSurfaceRight не должен иметь значение NULL. В противном случае для параметра pInputSurfaceRight должно быть задано значение NULL.
    Примечание Стереоформат для входного потока настраивается с помощью вызова VideoProcessorSetStreamStereoFormat.
     
Если включено несколько входных потоков и видеопроцессор включен для создания стереовыходов, возможно, один из входных потоков может быть моно-образцом.
Примечание Эта функция не учитывает предикат D3D11, который мог быть задан.
 

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Персональный компьютер
Верхняя часть d3d10umddi.h (включая D3d10umddi.h)

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

CreateVideoProcessor

CreateVideoProcessorOutputView

D3D11_1DDI_VIDEO_PROCESSOR_CAPS

D3D11_1DDI_VIDEO_PROCESSOR_STREAM

RECT

VideoProcessorSetOutputStereoMode

VideoProcessorSetStreamStereoFormat