MFFrameRateToAverageTimePerFrame 関数 (mfapi.h)
ビデオのフレーム レートをフレーム期間に変換します。
構文
HRESULT MFFrameRateToAverageTimePerFrame(
[in] UINT32 unNumerator,
[in] UINT32 unDenominator,
[out] UINT64 *punAverageTimePerFrame
);
パラメーター
[in] unNumerator
フレーム レートの分子。
[in] unDenominator
フレーム レートの分母。
[out] punAverageTimePerFrame
ビデオ フレームの平均継続時間を 100 ナノ秒単位で受信します。
戻り値
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
解説
この関数は、フレーム レートを指定してサンプルのタイム スタンプを計算する場合に便利です。
また、フレームあたりの平均時間は、古い VIDEOINFOHEADER および VIDEOINFOHEADER2 形式の構造体で使用されます。 この関数は、パイプライン内のすべてのコンポーネントが、古い形式構造と Media Foundation で使用されるメディアの種類の属性の間で変換する必要がある場合に、一貫性のある値を使用できるように標準変換を提供します。
特定の一般的なフレーム レートの場合、関数は検索テーブルからフレーム期間を取得します。
1 秒あたりのフレーム数 (浮動小数点) | 1 秒あたりのフレーム数 (小数部) | フレームあたりの平均時間 |
---|---|---|
59.94 | 60000/1001 | 166833 |
29.97 | 30000/1001 | 333667 |
23.976 | 24000/1001 | 417188 |
60 | 60/1 | 166667 |
30 | 30/1 | 333333 |
50 | 50/1 | 200000 |
25 | 25/1 | 400000 |
24 | 24/1 | 416667 |
ほとんどのビデオ コンテンツでは、ここに記載されているフレーム レートのいずれかを使用します。 その他のフレーム レートの場合、この関数は期間を計算します。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfapi.h |
Library | Mfplat.lib |
[DLL] | Mfplat.dll |