Sample Functions for ProcAmp Control

The sample ProcAmp functions in this section show how to implement ProcAmp control functionality. These sample functions map to the motion compensation callback functions defined in the DD_MOTIONCOMPCALLBACKS structure. You can implement each sample function, and then use a motion-compensation code template to complete the implementation. For more information, see Example Code for DirectX VA Devices.

Deinterlace Container Device Class Sample Functions

The sample ProcAmp control functions in the following table are member functions of DXVA_DeinterlaceContainerDeviceClass (that is, they are called using the deinterlace container device). For more information, see Defining the Deinterlace Container Device Class and Performing ProcAmp Control and Deinterlacing Operations.

Member Function Description

ProcAmpControlQueryCaps

Queries the driver to determine input requirements of the ProcAmp control device.

ProcAmpControlQueryRange

Queries the driver to determine the minimum, maximum, step size, and default value for each ProcAmp property.

ProcAmp Control Device Class Sample Functions

The sample ProcAmp control functions in the following table are member functions of DXVA_ProcAmpControlDeviceClass (that is, they are called using the ProcAmp control device). For more information, see Defining the ProcAmp Control Device Class.

Member Function Description

ProcAmpControlOpenStream

Creates a ProcAmp stream object.

ProcAmpControlBlt

Performs the ProcAmp adjustment operation by writing the output to the destination surface.

ProcAmpControlCloseStream

Closes the ProcAmp stream object and instructs the device driver to release hardware resources associated with the stream.

Mapping Sample Functions to DD_MOTIONCOMPCALLBACKS

The sample functions in this section map to the motion compensation callback functions as follows. That is, each sample function is called within its respective motion-compensation callback.

Function DD_MOTIONCOMPCALLBACKS member

ProcAmpControlQueryCaps

RenderMoComp

ProcAmpControlQueryRange

RenderMoComp

ProcAmpControlOpenStream

CreateMoComp

ProcAmpControlBlt

RenderMoComp

ProcAmpControlCloseStream

DestroyMoComp