Funzione Int64x32Div32
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
La Int64x32Div32
funzione implementa la formula ((a*b)+rnd)/c
in cui un è un valore a 64 bit e b, c e rnd sono valori a 32 bit.
Sintassi
LONGLONG WINAPI Int64x32Div32(
LONGLONG a,
LONG b,
LONG c,
LONG rnd
);
Parametri
-
Un
-
Moltiplicazione.
-
b
-
Moltiplicatore.
-
c
-
Divisore.
-
Rnd
-
Fattore di arrotondamento.
Valore restituito
Restituisce il (a * b + rnd)/c
calcolo o uno dei valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Si è verificato un overflow perché il risultato è troppo grande (positivo). |
|
Si è verificato un overflow perché il risultato è troppo grande (negativo). |
Commenti
L'arrotondamento della divisione è verso zero. La divisione per zero viene conteggiata come condizione di overflow.
I timestamp e i tempi di ricerca sono valori a 64 bit, quindi questa funzione è utile per eseguire conversioni in sistemi a 32 bit. Ad esempio, in MPEG-1 il riferimento all'orologio di sistema è 90 kHz o 90.000 tick al secondo. La formula da convertire in tempo di riferimento (100-nanosecondi) è
(timestamp * 1000) / 9
che può essere calcolato come Int64x32Div32(timestamp, 1000, 9, 0)
. Usare il parametro rnd come fattore di arrotondamento.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche