## IAMVideoProcAmp Interface

The IAMVideoProcAmp interface contains methods for controlling video quality such as brightness, contrast, hue, saturation, gamma, and sharpness. It defines a uniform range for these settings regardless of whether the adjustment is made in the analog or digital domain.

For analog video, this interface will typically be located on the same processing element as the IAMAnalogVideoDecoder interface.

When to Implement

Implement this interface when your filter needs to control video quality.

When to Use

Use this interface when your application needs to adjust video quality.

Methods in Vtable Order

IUnknown methods | Description
QueryInterface | Retrieves pointers to supported interfaces.
AddRef | Increments the reference count.
Release | Decrements the reference count.

IAMVideoProcAmp methods | Description
GetRange | Retrieves minimum, maximum, and default values for setting properties.
Set | Sets video quality for a specified property.
Get | Retrieves video quality for a specified property.

###

IAMVideoProcAmp::Get

IAMVideoProcAmp Interface

Retrieves video quality for a specified property.

HRESULT Get(
long Property,
long * lValue,
long * Flags );

##### Parameters

Property
  [in] Specific property to retrieve the setting of. Specify a member of the VideoProcAmpProperty enumerated type.
lValue
  [out] Current value of the property.
Flags
  [out] Pointer to a member of the VideoProcAmpFlags enumerated type.

##### Return Values

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

Value | Meaning
E_FAIL | Failure.
E_POINTER | Null pointer argument.
E_INVALIDARG | Invalid argument.
E_NOTIMPL | Method is not supported.
NOERROR | No error.

###

IAMVideoProcAmp::GetRange

IAMVideoProcAmp Interface

Retrieves minimum, maximum, and default values for setting properties.

HRESULT GetRange(
long Property,
long * pMin,
long * pMax,
long * pSteppingDelta,
long * pDefault,
long * pCapsFlags );

##### Parameters

Property
  [in] Specific property to determine the range of. Specify a member of the VideoProcAmpProperty enumerated type.
pMin
  [out] Minimum setting range.
pMax
  [out] Maximum setting range.
pSteppingDelta
  [out] Step size.
pDefault
  [out] Default value.
pCapsFlags
  [out] Pointer to a member of the VideoProcAmpFlags enumerated type.

##### Return Values

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

Value | Meaning
E_FAIL | Failure.
E_POINTER | Null pointer argument.
E_INVALIDARG | Invalid argument.
E_NOTIMPL | Method is not supported.
NOERROR | No error.

###

IAMVideoProcAmp::Set

IAMVideoProcAmp Interface

Sets video quality for a specified property.

HRESULT Set(
long Property,
long lValue,
long Flags );

##### Parameters

Property
  [in] Specific property to set. Specify a member of the VideoProcAmpProperty enumerated type.
lValue
  [in] Value indicating the setting of the property.
Flags
  [in] Member of the VideoProcAmpFlags enumerated type.

##### Return Values

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

Value | Meaning
E_FAIL | Failure.
E_INVALIDARG | Invalid argument.
E_NOTIMPL | Method is not supported.
NOERROR | No error.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.