D3DDDIARG_VIDEOPROCESSBLT structure (d3dumddi.h)

The D3DDDIARG_VIDEOPROCESSBLT structure describes a Microsoft DirectX Video Acceleration (VA) video processing operation to perform.

Syntax

typedef struct _D3DDDIARG_VIDEOPROCESSBLT {
  [in] REFERENCE_TIME               TargetFrame;
  [in] HANDLE                       hVideoProcess;
  [in] RECT                         TargetRect;
  [in] SIZE                         ConstrictionSize;
  [in] UINT                         StreamingFlags;
  [in] DXVADDI_AYUVSAMPLE16         BackgroundColor;
  [in] DXVADDI_EXTENDEDFORMAT       DestFormat;
  [in] DXVADDI_VIDEOPROCESSBLTFLAGS DestFlags;
  [in] DXVADDI_PROCAMPVALUES        ProcAmpValues;
  [in] DXVADDI_FIXED32              Alpha;
  [in] DXVADDI_FILTERVALUES         NoiseFilterLuma;
  [in] DXVADDI_FILTERVALUES         NoiseFilterChroma;
  [in] DXVADDI_FILTERVALUES         DetailFilterLuma;
  [in] DXVADDI_FILTERVALUES         DetailFilterChroma;
  [in] DXVADDI_VIDEOSAMPLE          *pSrcSurfaces;
  [in] UINT                         NumSrcSurfaces;
} D3DDDIARG_VIDEOPROCESSBLT;

Members

[in] TargetFrame

A REFERENCE_TIME value that 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 by the Start member in the DXVADDI_VIDEOSAMPLE structure, or the midpoint between the starting display time and the ending display time.

If a frame rate conversion is requested, the time in TargetFrame can be different from any of the times in the Start members of the samples.

[in] hVideoProcess

A handle to the DirectX VA video processing device. The user-mode display driver returns this handle in a call to its CreateVideoProcessDevice function.

[in] TargetRect

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 rectangle that is pointed to by TargetRect. That is, every pixel within this rectangle must be written to; pixels outside this rectangle must not be modified.

[in] ConstrictionSize

A SIZE structure that specifies, for protected content, the size to reduce the output image to. ConstrictionSize should be from (1, 1) to (width, height) of the target rectangle that is specified in the TargetRect member. ConstrictionSize should be (0, 0) to represent no constriction.

For example, consider video that natively has 1920 x 1080 pixels and that is displayed full screen on a 1920 x 1080-resolution monitor for which output protection is unsupported. If the video content specifies a rule that only 854 x 480 pixels of original information can be displayed, the driver must reduce the original image from 1920 x 1080 to 854 x 480 and then stretch the image again to 1920 x 1080. In this example, the SIZE structure in the ConstrictionSize member would specify a size of 854 x 480 pixels.

[in] StreamingFlags

A UINT value that identifies streaming flags. Currently, no streaming flags are defined.

[in] BackgroundColor

A DXVADDI_AYUVSAMPLE16 structure that identifies background color.

[in] DestFormat

A DXVADDI_EXTENDEDFORMAT structure that identifies extended format information for the destination surface.

[in] DestFlags

A DXVADDI_VIDEOPROCESSBLTFLAGS structure that identifies changes in the current destination surface from the previous destination surface.

[in] ProcAmpValues

A DXVADDI_PROCAMPVALUES structure that specifies ProcAmp adjustment data that is output to the destination surface.

[in] Alpha

A DXVADDI_FIXED32 structure that specifies the planar-transparency value of the output image as it is written to the destination surface. When the alpha value is 1.0, the background color is drawn opaque (without transparency and alpha blending). When the alpha value is 0.0, the background should not be drawn (transparent).

[in] NoiseFilterLuma

A DXVADDI_FILTERVALUES structure that specifies the luma noise filter.

[in] NoiseFilterChroma

A DXVADDI_FILTERVALUES structure that specifies the chroma noise filter.

[in] DetailFilterLuma

A DXVADDI_FILTERVALUES structure that specifies the luma detail filter.

[in] DetailFilterChroma

A DXVADDI_FILTERVALUES structure that specifies the chroma detail filter.

[in] pSrcSurfaces

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

[in] NumSrcSurfaces

The number of input samples in the array at pSrcSurfaces.

Requirements

Requirement Value
Minimum supported client Available in Windows Vista and later versions of the Windows operating systems.
Header d3dumddi.h (include D3dumddi.h)

See also

CreateVideoProcessDevice

DXVADDI_AYUVSAMPLE8

DXVADDI_EXTENDEDFORMAT

DXVADDI_PROCAMPVALUES

DXVADDI_VIDEOPROCESSBLTFLAGS

DXVADDI_VIDEOSAMPLE

RECT

VideoProcessBlt