MFFrameRateToAverageTimePerFrame-Funktion (mfapi.h)

Konvertiert eine Videobildrate in eine Framedauer.

Syntax

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

Parameter

[in] unNumerator

Der Zähler der Bildfrequenz.

[in] unDenominator

Der Nenner der Bildfrequenz.

[out] punAverageTimePerFrame

Empfängt die durchschnittliche Dauer eines Videoframes in 100 Nanosekundeneinheiten.

Rückgabewert

Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Diese Funktion ist für die Berechnung von Zeitstempeln für eine Stichprobe nützlich, da die Bildfrequenz angegeben ist.

Außerdem wird die durchschnittliche Zeit pro Frame in den älteren Formatstrukturen VIDEOINFOHEADER und VIDEOINFOHEADER2 verwendet. Diese Funktion stellt eine Standardkonvertierung bereit, damit alle Komponenten in der Pipeline konsistente Werte verwenden können, wenn sie zwischen den älteren Formatstrukturen und den in Media Foundation verwendeten Medientypattributen übersetzen müssen.

Für bestimmte allgemeine Bildfrequenzen ruft die Funktion die Framedauer aus einer Nachschlagetabelle ab:

Frames pro Sekunde (Gleitkomma) Frames pro Sekunde (Bruch) Durchschnittliche Zeit pro Frame
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
 

Die meisten Videoinhalte verwenden eine der hier aufgeführten Bildfrequenzen. Für andere Bildfrequenzen berechnet die Funktion die Dauer.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mfapi.h
Bibliothek Mfplat.lib
DLL Mfplat.dll

Weitere Informationen

MFAverageTimePerFrameToFrameRate

Media Foundation-Funktionen

Medientypen