D3DDDIARG_DXVAHD_VIDEOPROCESSBLTHD structure (d3dumddi.h)

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

Syntax

typedef struct _D3DDDIARG_DXVAHD_VIDEOPROCESSBLTHD {
  [in] HANDLE                      hVideoProcessor;
  [in] DXVAHDDDI_SURFACE           OutputSurface;
  [in] UINT                        OutputFrame;
  [in] UINT                        StreamCount;
  [in] const DXVAHDDDI_STREAM_DATA *pStreams;
} D3DDDIARG_DXVAHD_VIDEOPROCESSBLTHD;

Members

[in] hVideoProcessor

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

[in] OutputSurface

A DXVAHDDDI_SURFACE structure that describes the output surface to which the video processor composes.

[in] OutputFrame

A zero-based frame number of the composed output frames.

[in] StreamCount

The number of streams to process. This number must be less than the number that the driver set in the MaxStreamStates member of the DXVAHDDDI_VPDEVCAPS structure.

[in] pStreams

An array of DXVAHDDDI_STREAM_DATA structures that describe the input streams to process.

Remarks

The output surface that the OutputSurface member specifies, which must be one of the following surface types:

  • A video surface that is created with the DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT type.
  • A render target surface or a surface that is created with D3DUSAGE_RENDERTARGET usage.
  • A swap chain.
  • A swap chain with overlay swap effect.
If the frame that the OutputFrame member specifies remains unchanged at the next process time, the driver determines that the frame is unchanged (for example, paused) in the entire video processing and composition. Therefore, the driver can use cached data to optimize the frame.

The driver also uses the frame that the OutputFrame member specifies for tagging the command, which the driver submits to the graphics processing unit (GPU).

Input streams are indexed from zero to less than the number that the driver sets in the MaxStreamStates member of the DXVAHDDDI_VPDEVCAPS structure. Each stream has its own stream states associated with the stream index number. The driver processes each stream from zero index and blends on the destination surface one after another. For example, if a video stream is at index zero and a graphics stream is at index one, the driver blends the video stream on the background color and then blends the graphics stream over them.

Requirements

Requirement Value
Minimum supported client D3DDDIARG_DXVAHD_VIDEOPROCESSBLTHD is supported beginning with the Windows 7 operating system.
Header d3dumddi.h (include D3dumddi.h)

See also

CreateVideoProcessor

DXVAHDDDI_STREAM_DATA

DXVAHDDDI_SURFACE

DXVAHDDDI_VPDEVCAPS