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