DXVA_DeinterlaceBlt structure (dxva.h)

The DXVA_DeinterlaceBlt structure is sent by the VMR to the accelerator to specify the deinterlace or frame-rate conversion parameters for bit-block transfers.

Syntax

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;

Members

Size

Specifies the size of this structure in bytes.

Reserved

rtTarget

Identifies the location of the output frame within the sequence of input frames. If only deinterlacing is performed, the target time should coincide with either the starting display time of a reference sample, as defined in the DXVA_VideoSample structure, or the midpoint between the starting display time and the ending display time. For more information, see Remarks.

If a frame rate conversion is requested, the rtTarget time can be different from any of the rtStart times of the reference samples.

DstRect

Specifies a RECT structure that describes the upper left and lower right points of a rectangle on the destination surface. These points define the area in which the bit-block transfer should occur and its position on the destination surface.

SrcRect

Specifies a RECT structure that describes the upper left and lower right points of a rectangle on the source surface. These points define the area of the source data for the bit-block transfer and its position on the source surface.

NumSourceSurfaces

Specifies the number of valid surfaces passed in the Source array.

Alpha

Specifies the transparency of the output image as it is written to the destination surface. A value of 0.0F indicates transparent. A value of 1.0F indicates opaque.

Source[MAX_DEINTERLACE_SURFACES]

An array of DXVA_VideoSample structures that specify the reference input samples needed for this deinterlacing or frame-rate conversion operation.

Remarks

When creating a single frame from one field in a sample, as defined in the DXVA_VideoSample structure, rtTarget should be the starting display time for that field. If you have two fields in one sample and want to deinterlace both, DeinterlaceBlt will be called twice. The first time DeinterlaceBlt is called, rtTarget will be the starting display time. The second time DeinterlaceBlt is called, rtTarget will be the midpoint between the starting display time and the ending display time. In other words, for the first call, rtTarget = rtStart. For the second call, rtTarget = (rtStart + rtEnd) / 2.

Requirements

Requirement Value
Header dxva.h (include Dxva.h)

See also

DXVA_DeinterlaceCaps

DXVA_VideoSample

DeinterlaceBlt