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. |
Remarks
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.
Requirements
Header: Declared in Strmif.h; include Dshow.h.
Library: Use Strmiids.lib.