DXVA_DeinterlaceBltEx structure (dxva.h)

The DXVA_DeinterlaceBltEx structure describes parameters for deinterlace or frame-rate conversion, for combining the deinterlaced or frame-rate-converted video with any supplied video substreams, and for writing the combined output to a destination surface.

Syntax

typedef struct _DXVA_DeinterlaceBltEx {
  DWORD             Size;
  DXVA_AYUVsample2  BackgroundColor;
  RECT              rcTarget;
  REFERENCE_TIME    rtTarget;
  DWORD             NumSourceSurfaces;
  FLOAT             Alpha;
  DXVA_VideoSample2 Source[MAX_DEINTERLACE_SURFACES];
  DWORD             DestinationFormat;
  DWORD             DestinationFlags;
} DXVA_DeinterlaceBltEx;

Members

Size

Specifies the size of the structure, in bytes.

BackgroundColor

Specifies a DXVA_AYUVsample2 structure that identifies background color and opacity level. For Windows Server 2003 with SP1 and Windows XP with SP2, the opacity level is not used and should be ignored by the driver.

rcTarget

Specifies a pointer to a RECT structure that describes the location within the destination surface to which the output image is written. Note that the output image is restricted to the pixels within the rcTarget rectangle--that is, every pixel within this rectangle must be written to; pixels outside this rectangle must not be modified.

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 sample, as defined in the DXVA_VideoSample2 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 samples.

NumSourceSurfaces

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

Alpha

Specifies the planar-transparency value of the output image as it is written to the destination surface. For Windows Server 2003 with SP1 and Windows XP with SP2, this value is always 1.0F, which indicates that the overall image is opaque and that no alpha blending on the overall image is required.

Source[MAX_DEINTERLACE_SURFACES]

Specifies an array of DXVA_VideoSample2 structures that describe the input samples that are required for the deinterlacing, frame-rate conversion, and substream-compositing operations. For information about how input samples are arranged in this array, see Input Buffer Order.

DestinationFormat

Specifies format information for the destination surface. For Windows Server 2003 with SP1 and Windows XP with SP2, this member is set to 0.

DestinationFlags

Specifies a collection of flags that indicate changes in the current destination surface from the previous destination surface. This member is a bitwise-OR of one or more of the flags in the DXVA_DestinationFlags enumeration type.

Remarks

The render sends the DXVA_DeinterlaceBltEx structure to the accelerator to specify the deinterlace or frame-rate conversion parameters for bit-block transfers.

When a single frame is being created from one field in a sample, as defined in the DXVA_VideoSample2 structure, rtTarget should be the starting display time for that field. If you have two fields in one sample and want to deinterlace both, DeinterlaceBltEx will be called twice. The first time DeinterlaceBltEx is called, rtTarget will be the starting display time. The second time DeinterlaceBltEx 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
Minimum supported client This structure applies only to Windows Server 2003 with SP1 and later, and Windows XP with SP2 and later.
Header dxva.h (include Dxva.h)

See also

DXVA_DeinterlaceCaps

DXVA_DestinationFlags

DXVA_VideoSample2

DeinterlaceBltEx