Funzione MFFrameRateToAverageTimePerFrame (mfapi.h)
Converte una frequenza di fotogrammi video in una durata di fotogrammi.
Sintassi
HRESULT MFFrameRateToAverageTimePerFrame(
[in] UINT32 unNumerator,
[in] UINT32 unDenominator,
[out] UINT64 *punAverageTimePerFrame
);
Parametri
[in] unNumerator
Numeratore della frequenza dei fotogrammi.
[in] unDenominator
Denominatore della frequenza dei fotogrammi.
[out] punAverageTimePerFrame
Riceve la durata media di un fotogramma video, in unità da 100 nanosecondi.
Valore restituito
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Questa funzione è utile per calcolare i timestamp in un esempio, in base alla frequenza dei fotogrammi.
Inoltre, il tempo medio per fotogramma viene usato nelle strutture di formato VIDEOINFOHEADER e VIDEOINFOHEADER2 precedenti. Questa funzione fornisce una conversione standard in modo che tutti i componenti della pipeline possano usare valori coerenti, se devono tradurre tra le strutture di formato meno recenti e gli attributi del tipo di supporto usati in Media Foundation.
Per determinate frequenze di frame comuni, la funzione ottiene la durata del frame da una tabella di ricerca:
Fotogrammi al secondo (virgola mobile) | Frame al secondo (frazionaria) | Tempo medio per fotogramma |
---|---|---|
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 |
La maggior parte dei contenuti video usa una delle frequenze dei fotogrammi elencate qui. Per altre frequenze di frame, la funzione calcola la durata.
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | mfapi.h |
Libreria | Mfplat.lib |
DLL | Mfplat.dll |