Profilo e configurazione con restrizioni

[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.

A causa della varietà di tipi di dati che possono essere decodificati da DirectX VA e dalle configurazioni di decodifica multiple supportate all'interno di DirectX VA per ognuno di questi tipi di dati (ad esempio, usando buffer bitstream rispetto alla differenza rimanente dell'host rispetto all'IDCT basato sull'acceleratore con e senza crittografia di ogni tipo di buffer pertinente e così via), si ritiene che sia un po' insoddisabile specificare semplicemente un GUID univoco per ogni tipo di dati univoco e la configurazione di decodifica. Ciò creerebbe un numero elevato di GUID(ad esempio, ipoteticamente, se sono presenti 16 profili di DirectX VA e 16 configurazioni possibili per ogni, è necessario che siano presenti 256 GUID definiti, richiedendo 4 kilobyte di memoria solo per tenerli tutti. Questo problema è la parte più difficile di determinare come eseguire il mapping di DirectX VA in IAMVideoAccelerator, con il resto della definizione operativa principalmente piuttosto semplice. Di conseguenza, viene specificato un GUID univoco solo per ogni tipo di dati (per ogni profilo di modalità con restrizioni) e consentire l'associazione di un GUID aggiuntivo a ogni tipo di crittografia. La configurazione di decodifica viene quindi stabilita tra il decodificatore e l'acceleratore da una negoziazione subordinata di livello inferiore usando operazioni di probing e blocco per stabilire configurazioni per ogni tipo di funzione DirectX VA.