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.
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.
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.
Given the context, retrieves whether scaling at the video port is possible.
Syntax
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 Value
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.
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.
Sets the factors by which the decoder should scale the video stream.
Syntax
HRESULT SetScalingFactors( LPAMVPSIZE pamvpSize );
Parameters
- pamvpSize
- [in] Pointer to the new scaling size structure (AMVPSIZE) to use to specify the width and height.
Return Value
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.
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.
Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.