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) |