MFFrameRateToAverageTimePerFrame 函数 (mfapi.h)

将视频帧速率转换为帧持续时间。

语法

HRESULT MFFrameRateToAverageTimePerFrame(
  [in]  UINT32 unNumerator,
  [in]  UINT32 unDenominator,
  [out] UINT64 *punAverageTimePerFrame
);

parameters

[in] unNumerator

帧速率的分子。

[in] unDenominator

帧速率的分母。

[out] punAverageTimePerFrame

接收视频帧的平均持续时间(以 100 纳秒为单位)。

返回值

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

在给定帧速率的情况下,此函数可用于计算样本的时间戳。

此外,在较旧的 VIDEOINFOHEADER 和 VIDEOINFOHEADER2 格式结构中使用每帧的平均时间。 此函数提供标准转换,以便管道中的所有组件都可以使用一致的值,前提是它们需要在旧格式结构和媒体基础中使用的媒体类型属性之间进行转换。

对于某些常见的帧速率, 函数从查找表中获取帧持续时间:

浮点) (每秒帧数 (小数) 每秒帧数 每帧的平均时间
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

另请参阅

MFAverageTimePerFrameToFrameRate

媒体基础函数

媒体类型