DXVA_ProcAmpControlCaps structure (dxva.h)

The DXVA_ProcAmpControlCaps structure identifies the ProcAmp operations that the hardware supports.

Syntax

typedef struct _DXVA_ProcAmpControlCaps {
  DWORD     Size;
  DWORD     InputPool;
  D3DFORMAT d3dOutputFormat;
  DWORD     ProcAmpControlProps;
  DWORD     VideoProcessingCaps;
} DXVA_ProcAmpControlCaps, *LPDXVA_ProcAmpControlCaps;

Members

Size

Specifies the size of this structure in bytes.

InputPool

Indicates the memory pool from which the ProcAmp control source surfaces should be allocated. For more information, see the D3DPOOL enumeration in the Microsoft Window SDK documentation.

d3dOutputFormat

Indicates the Direct3D surface format of the output frames. Usually the ProcAmp device outputs frames in a surface format that matches the input surface format. This member ensures that the VMR or other video renderer is able to supply the correct format for the output frame surfaces to the ProcAmp control hardware. If the DXVA_VideoProcess_YUV2RGB flag is returned in the DXVA_VideoProcessCaps structure, the VMR assumes that valid output formats are specified by this member as well as the RGB32 format.

ProcAmpControlProps

Identifies the ProcAmp operations that the hardware supports. The driver should return a logical combination of the following ProcAmp operations.

Value Description
DXVA_ProcAmp_None No operations are allowed.
DXVA_ProcAmp_Brightness Brightness adjustments to the video image are allowed.
DXVA_ProcAmp_Contrast Contrast adjustments to the video image are allowed.
DXVA_ProcAmp_Hue Hue adjustments to the video image are allowed.
DXVA_ProcAmp_Saturation Saturation adjustments to the video image are allowed.

VideoProcessingCaps

Identifies the operations that can be performed by the ProcAmp control hardware concurrently with the requested ProcAmp adjustment. The driver should return a logical combination of one of the following ProcAmp operations.

Value Description
DXVA_VideoProcess_None No operations are allowed.
DXVA_VideoProcess_YUV2RGB Video conversion from the YUV color space to the RGB color space is allowed. The RGB format used will have at least 8 bits of precision for each color component. If this is possible, a buffer copy within the VMR can be avoided. Note that there is no requirement to convert from the RGB color space to the YUV color space.
DXVA_VideoProcess_StretchX Aspect ratio correction can be performed at the same time as the video is being ProcAmp-adjusted if the hardware is able to stretch or shrink horizontally.
DXVA_VideoProcess_StretchY Aspect ratio adjustment is combined with a general picture resizing operation to scale the video image within an application-defined composition space. This is rare and not an essential feature. It is best if the scaling needed for resizing the video to fit into the application window can be done at the same time as the scaling needed for ProcAmp adjustment. This avoids cumulative artifacts.
DXVA_VideoProcess_AlphaBlend Indicates that the VMR will not perform a buffer copy when an alpha value is changed. It is rare that applications alter the constant alpha value associated with the video stream, so this is a low priority feature.

Requirements

Requirement Value
Minimum supported client DirectX 9.0 and later versions only.
Header dxva.h (include Dxva.h)

See also

DXVA_ProcAmpControlProp

DXVA_VideoProcessCaps