Поделиться через


Функция 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.

Для некоторых общих частот кадров функция получает длительность кадра из таблицы подстановки:

Кадры в секунду (с плавающей запятой) Кадры в секунду (дробные) Среднее время на кадр
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 200 000
25 25/1 400000
24 24/1 416667
 

Большинство видеосодержимых использует одну из частот кадров, перечисленных здесь. Для других частот кадров функция вычисляет длительность.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header mfapi.h
Библиотека Mfplat.lib
DLL Mfplat.dll

См. также раздел

MFAverageTimePerFrameToFrameRate

Функции Media Foundation

Типы носителей