IDXVAHD_VideoProcessor::VideoProcessBltHD method (dxvahd.h)

Performs a video processing blit on one or more input samples and writes the result to a Microsoft Direct3D surface.


HRESULT VideoProcessBltHD(
  [in] IDirect3DSurface9        *pOutputSurface,
  [in] UINT                     OutputFrame,
  [in] UINT                     StreamCount,
  [in] const DXVAHD_STREAM_DATA *pStreams


[in] pOutputSurface

A pointer to the IDirect3DSurface9 interface of a Direct3D surface. The output of the video processing operation will be written to this surface. The following surface types can be used:

  • A video surface of type DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT. See IDXVAHD_Device::CreateVideoSurface.
  • A render-target surface or texture surface created with D3DUSAGE_RENDERTARGET usage.
  • A swap chain.
  • A swap chain with overlay support (D3DSWAPEFFECT_OVERLAY).

[in] OutputFrame

Frame number of the output video frame, indexed from zero.

[in] StreamCount

Number of input streams to process.

[in] pStreams

Pointer to an array of DXVAHD_STREAM_DATA structures that contain information about the input streams. The caller allocates the array and fills in each structure. The number of elements in the array is given in the StreamCount parameter.

Return value

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.


The maximum value of StreamCount is given in the MaxStreamStates member of the DXVAHD_VPDEVCAPS structure. The maximum number of streams that can be enabled at one time is given in the MaxInputStreams member of that structure.


Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header dxvahd.h

See also