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


структура 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

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

Alpha

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

Source[MAX_DEINTERLACE_SURFACES]

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

Замечания

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

Требования

Требование Ценность
заголовка dxva.h (include Dxva.h)

См. также

DXVA_DeinterlaceCaps

DXVA_VideoSample

DeinterlaceBlt