Expand Minimize

VideoProcessorBlt function

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

Syntax


HRESULT APIENTRY* VideoProcessorBlt(
  _In_  D3D10DDI_HDEVICE hDevice,
  _In_  D3D11_1DDI_HVIDEOPROCESSOR hVideoProcessor,
  _In_  D3D11_1DDI_HVIDEOPROCESSOROUTPUTVIEW hOutputView,
  _In_  UINT OutputFrame,
  _In_  UINT StreamCount,
  _In_  const D3D11_1DDI_VIDEO_PROCESSOR_STREAM *pStream
);

Parameters

hDevice [in]

A handle to the display device (graphics context).

hVideoProcessor [in]

A handle to the video processor object that was created through a call to the CreateVideoProcessor function.

hOutputView [in]

A handle to the resource for the output view of the video processor. This handle was created through a call to the CreateVideoProcessorOutputView function.

OutputFrame [in]

The zero-based index of the output video frame.

StreamCount [in]

The number of input streams to process in the array referenced by the pStream parameter.

Note  The maximum value of this parameter is specified by the MaxStreamStates member of the D3D11_1DDI_VIDEO_PROCESSOR_CAPS structure. The maximum number of streams that can be enabled at one time is given in the MaxInputStreams member of that structure.

pStream [in]

A pointer to an array of D3D11_1DDI_VIDEO_PROCESSOR_STREAM structures that contain information about the input streams.

Return value

VideoProcessorBlt returns one of the following values:

Return codeDescription
S_OK

The video processing operation completed successfully.

E_OUTOFMEMORY

Memory was not available to complete the operation.

 

Remarks

The VideoProcessorBlt performs all of the video processing based on the stream states and bit-block transfer (bitblt) states that have been previously set.

The Microsoft Direct3D runtime performs the following data validation before it calls the driver's VideoProcessorBlt function:

  • The input and output RECT structures may be adjusted if the rectangles are not aligned properly according to the requirements of the format.

  • If the video processor has been enabled to produce stereo samples, the output view must contain a texture array of two elements. Also, at least one stereo stream must be specified.

    If the video processor has been disabled from producing stereo samples, the output view must contain a single element. Also, the stereo format cannot be configured as D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO.

    Note  A video processor is enabled or disabled for the production of stereo samples through a call to VideoProcessorSetOutputStereoMode.

  • Each input stream is specified through a D3D11_1DDI_VIDEO_PROCESSOR_STREAM structure. If the stereo format of the input stream is configured to be D3D11_1DDI_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE, the pInputSurfaceRight member must not be set to NULL. Otherwise, the pInputSurfaceRight must be set to NULL.

    Note  The stereo format for an input stream is configured through a call to VideoProcessorSetStreamStereoFormat.

If multiple input streams are enabled and the video processor is enabled to produce stereo output, it is possible that one of the input streams may be a mono sample.

Note  This function does not honor a D3D11 predicate that may have been set.

Requirements

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Header

D3d10umddi.h (include D3d10umddi.h)

See also

CreateVideoProcessor
CreateVideoProcessorOutputView
D3D11_1DDI_VIDEO_PROCESSOR_CAPS
D3D11_1DDI_VIDEO_PROCESSOR_STREAM
RECT
VideoProcessorSetOutputStereoMode
VideoProcessorSetStreamStereoFormat

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft