Requisiti per i decodificatori
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine 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, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
I decodificatori che recapitano campioni alla macchina virtuale devono rispettare le regole seguenti:
- Deve essere presente un fotogramma secondario recapitato alla macchina virtuale per ogni fotogramma video. I due fotogrammi devono avere gli stessi timestamp.
- Se l'argomento secondario non è stato modificato, usare il flag AM_GBF_NOTASYNCPOINT nel metodo IMemAllocator::GetBuffer per forzare l'allocatore a restituire un buffer contenente l'ultimo frame recapitato alla macchina virtuale. È sufficiente inserire un nuovo timestamp nell'esempio e recapitarlo nuovamente alla macchina virtuale. Se la fama della sottopicture è vuota, è comunque consigliabile consegnarla. VmR rileverà il frame vuoto e non lo fonderà con il video. Questo test viene eseguito dal chip VGA e non influisce sulle prestazioni di riproduzione.
- Tutti gli esempi, ad eccezione dei flussi live, devono avere timestamp di avvio e arresto validi associati. (DVD non è un flusso live.
- I timestamp di esempio multimediale devono essere contigui
- Il decodificatore deve identificarsi come compatibile con VMR per l'uso da parte dei generatori di gragrafi.
- Il flusso di sottopicture dovrebbe ora contenere valori alfa per pixel incorporati. Il tipo di superficie ARGB4444 è ideale per le sottopicture.
- Non presupporre che lo stride della sottopictura sia uguale alla larghezza della superficie. Questo non è sempre il caso di VMR.
Argomenti correlati