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


структура DXVA_DeinterlaceBlt (dxva.h)

Структура DXVA_DeinterlaceBlt отправляется vmr в ускоритель для указания параметров преобразования деинтерлейки или частоты кадров для передачи битовых блоков.

Синтаксис

typedef struct _DXVA_DeinterlaceBlt {
  DWORD            Size;
  DWORD            Reserved;
  REFERENCE_TIME   rtTarget;
  RECT             DstRect;
  RECT             SrcRect;
  DWORD            NumSourceSurfaces;
  FLOAT            Alpha;
  DXVA_VideoSample Source[MAX_DEINTERLACE_SURFACES];
} DXVA_DeinterlaceBlt;

Члены

Size

Задает размер этой структуры в байтах.

Reserved

rtTarget

Определяет расположение выходного кадра в последовательности входных кадров. Если выполняется только деинтерлейка, целевое время должно совпадать либо со временем начала отображения эталонного образца, как определено в структуре DXVA_VideoSample , либо с серединой между начальным и конечным временем отображения. Дополнительные сведения см. в подразделе "Примечания".

Если запрашивается преобразование частоты кадров, время rtTarget может отличаться от любого времени rtStart в эталонных примерах.

DstRect

Задает структуру RECT , описывающую верхнюю левую и нижнюю правые точки прямоугольника на целевой поверхности. Эти точки определяют область, в которой должна происходить передача битовых блоков, и ее положение на целевой поверхности.

SrcRect

Задает структуру RECT , описывающую верхнюю левую и нижнюю правые точки прямоугольника на исходной поверхности. Эти точки определяют область исходных данных для передачи битового блока и его положение на поверхности источника.

NumSourceSurfaces

Указывает количество допустимых поверхностей, переданных в массиве Source .

Alpha

Указывает прозрачность выходного изображения при его записи в область назначения. Значение 0,0F указывает на прозрачность. Значение 1.0F указывает на непрозрачность.

Source[MAX_DEINTERLACE_SURFACES]

Массив DXVA_VideoSample структур, указывающих образцы ссылочных входных данных, необходимые для этой операции деинтерлейки или преобразования частоты кадров.

Комментарии

При создании одного кадра из одного поля в образце, как определено в структуре DXVA_VideoSample , rtTarget должен быть начальным временем отображения для этого поля. Если в одном образце есть два поля и вы хотите выполнить деинтерлейку обоих полей, DeinterlaceBlt будет вызываться дважды. При первом вызове DeinterlaceBltrtTarget будет начальным временем отображения. При втором вызове DeinterlaceBltrtTarget будет средней точкой между начальным и конечным временем отображения. Другими словами, для первого вызова — rtTarget = rtStart. Для второго вызова : rtTarget = (rtStart + rtEnd) / 2.

Требования

Требование Значение
Заголовок dxva.h (включая Dxva.h)

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

DXVA_DeinterlaceCaps

DXVA_VideoSample

DeinterlaceBlt