DirectShow Animated Header -- IVPConfig Interface DirectShow Animated Header -- IVPConfig Interface* Microsoft DirectShow SDK
*Index  *Topic Contents
*Previous Topic: IVPBaseNotify Interface
*Next Topic: IVPNotify Interface

IVPConfig Interface


IVPConfig enables a video port (VP) or overlay mixer filter to communicate with a VP driver (decoder), to set and retrieve configuration information. This interface assumes that the mixer filter creates the video port. This interface derives from IVPBaseConfig. See also IVPBaseNotify and IVPNotify.

When to Implement

The Windows Driver Model (WDM) Ksproxy filter implements this interface so you won't need to implement it in most cases. Implement this interface when you need this functionality on a platform that does not support WDM, or when you need to alter the default behavior.

When to Use

The Overlay Mixer filter uses this interface so you won't need to use it in most cases. Use this interface when you implement your own overlay mixer filter.

Methods in Vtable Order
IUnknown methods Description
QueryInterface Retrieves pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IVPBaseConfig methods Description
GetConnectInfo Retrieves connection information structures.
SetConnectInfo Sets the index for the current video port connection information.
GetVPDataInfo Retrieves the current video port data information.
GetMaxPixelRate Retrieves the maximum pixels per second rate for a given width and height.
InformVPInputFormats Informs the device what video formats the video port supports.
GetVideoFormats Retrieves the video formats the decoder supports.
SetVideoFormat Sets the format that the video will use.
SetInvertPolarity Reverses the current polarity the decoder uses.
GetOverlaySurface Determines whether the overlay mixer should use the driver's overlay surface and if so retrieves a pointer to the surface.
SetDirectDrawKernelHandle Sets the DirectDraw® kernel handle for the decoder's minidriver to use.
SetVideoPortID Sets the port ID that the video will use.
SetDDSurfaceKernelHandle Sets the kernel handle that the DirectDraw surface will use.
SetSurfaceParameters Tells the capture driver about the surface created on its behalf by the Overlay Mixer or VBI surface filter.
IVPConfig methods Description
IsVPDecimationAllowed Given the context, retrieves whether scaling at the video port is possible.
SetScalingFactors Sets the factors by which the decoder should scale the video stream.


IVPConfig::IsVPDecimationAllowed

IVPConfig Interface

Given the context, retrieves whether scaling at the video port is possible.

HRESULT IsVPDecimationAllowed(
  AMVP_CONTEXT amvpContext,
  LPBOOL pbIsDecimationAllowed
  );

Parameters
amvpContext
[in] Context (video or VBI) in which to query the VP decimation capability.
pbIsDecimationAllowed
[out] Pointer to the retrieved value indicating whether decimation is allowed.
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.

Remarks

The Overlay Mixer filter uses this function to determine whether the driver needs the mixer to decimate video data at its own discretion. This function can be especially useful in a capture with preview situation in which you would not want the VP mixer filter to perform any scaling at the video port.


IVPConfig::SetScalingFactors

IVPConfig Interface

Sets the factors by which the decoder should scale the video stream.

HRESULT SetScalingFactors(
  LPAMVPSIZE pamvpSize
  );

Parameters
pamvpSize
[in] Pointer to the new scaling size structure (AMVPSIZE) to use to specify the width and height.
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.
NOERROR The new scaling factors were set.

Remarks

If the decoder does not support the specified scaling factors, then it sets the values to the nearest factors it can support.

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

*Top of Page