IAMVideoCompression::get_PFramesPerKeyFrame method (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The get_PFramesPerKeyFrame method retrieves the rate of predicted (P) frames per key frame.

Syntax

HRESULT get_PFramesPerKeyFrame(
  [out] long *pPFramesPerKeyFrame
);

Parameters

[out] pPFramesPerKeyFrame

Pointer to a variable that receives the number of P frames per key frame. If the value is negative, the filter will use the default rate.

Return value

Returns an HRESULT value.

Remarks

To determine if the filter supports this method, call the IAMVideoCompression::GetInfo method and check for the CompressionCaps_CanBFrame flag in the pCapabilities parameter. The GetInfo method also returns the default P-frame rate.

P frames are used in MPEG compression; in general, this property does not apply to other compression formats. For example, suppose a key frame occurs once every 10 frames, and there are three P frames per key frame. The P frames will be spaced evenly between the key frames. The remaining six frames are bidirectional (B) frames.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

Error and Success Codes

IAMVideoCompression Interface

IAMVideoCompression::put_KeyFrameRate