VideoProcessorSetOutputConstriction function

Sets the amount of downsampling to perform on the output.


VOID APIENTRY* VideoProcessorSetOutputConstriction(
  _In_ D3D10DDI_HDEVICE           hDevice,
  _In_ D3D11_1DDI_HVIDEOPROCESSOR hVideoProcessor,
  _In_ BOOL                       Enabled,
  _In_ SIZE                       ConstrictonSize


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.

Enabled [in]

If TRUE, downsampling is enabled. Otherwise, downsampling is disabled and the ConstrictonSize member is ignored.

ConstrictonSize [in]

The sampling size.

Return value

This function does not return a value.


Downsampling is sometimes used to reduce the quality of premium content when other forms of content protection are not available.

By default, downsampling is disabled. If the Enable parameter is TRUE, the display miniport driver downsamples the composed image to the specified size, and then scales it back to the size of the target rectangle.

The width and height of the ConstrictonSize parameter must be greater than zero. If the size is larger than the target rectangle, downsampling does not occur.

The driver reports its ability to support downsampling through the GetVideoProcessorCaps function. If the driver supports the D3D11_1DDI_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION capability, it supports the ability to downsample the composed image.

Note  If the driver does not support the D3D11_1DDI_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION capability, the Microsoft Direct3D runtime does not call the VideoProcessorSetOutputConstriction function.


Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Target platform



D3d10umddi.h (include D3d10umddi.h)

See also




Send comments about this topic to Microsoft