IAMVideoCompression Interface

Microsoft DirectShow 9.0

IAMVideoCompression Interface

The IAMVideoCompression interface sets and retrieves video compression properties.  It is supported by some video compression filters, and also by some video capture filters that output compressed video. Filters that support this interface expose it through their output pins.

An application can use this interface to control how video is compressed, including characteristics such as the key-frame rate or the compression quality.

A filter that supports this interface might not support every method. Use the IAMVideoCompression::GetInfo method to determine which methods the filter supports.

  • **Note   **To use this interface on a capture filter, you might need to connect the filter to another filter in the graph.

In addition to the methods inherited from IUnknown, the IAMVideoCompression interface exposes the following methods.

Method Description
put_KeyFrameRate Sets the key-frame rate.
get_KeyFrameRate Retrieves the key-frame rate.
put_PFramesPerKeyFrame Sets the predicted (P) frame frequency.
get_PFramesPerKeyFrame Retrieves the P frame frequency.
put_Quality Sets the compression quality.
get_Quality Retrieves the compression quality.
put_WindowSize Sets the number of frames over which the compressor must maintain an average data rate.
get_WindowSize Retrieves the number of frames over which the compressor must maintain an average data rate.
GetInfo Retrieves information about the filter's compression properties, including capabilities and default values.
OverrideKeyFrame Forces a particular frame to be a key frame.
OverrideFrameSize Overrides a particular frame's data rate.


For Windows Driver Model (WDM) devices, the WDM Video Capture Filter automatically exposes this interface if the WDM driver supports the PROPSETID_VIDCAP_VIDEOCOMPRESSION property set. For more information, see the Windows DDK documenation.


Header: Declared in Strmif.h; include Dshow.h.

Library: Use Strmiids.lib.