Eingeschränktes Modusprofil und Einrichtung der Konfiguration
Aufgrund der Vielzahl von Datentypen, die von DirectX VA decodiert werden können, und der in DirectX VA für jeden dieser Datentypen unterstützten Decodierungskonfigurationen (z. B. die Verwendung von Bitstreampuffern im Vergleich zur Host-Restdifferenzdecodierung im Vergleich zur zugriffsbasierten IDCT mit und ohne Verschlüsselung der einzelnen relevanten Puffertypen und so weiter), Wir sind der Meinung, dass es etwas unvoreinig wäre, einfach eine eindeutige GUID für jeden eindeutigen Datentyp und jede Decodierungskonfiguration anzugeben. Dies würde eine große Anzahl von GUIDs erstellen (wenn beispielsweise hypothetisch 16 Profile mit DirectX VA- und 16 Konfigurationen möglich wären, müssten 256 guiDs definiert sein, was 4 Kilobyte Arbeitsspeicher erfordert, um sie alle zu speichern). Dieses Problem ist der schwierigste Teil der Entscheidung, wie DirectX VA IAMVideoAccelerator zuordnen soll. Der Rest der Betriebsdefinition ist größtenteils recht einfach. Daher geben wir eine eindeutige GUID nur für jeden Datentyp (für jedes Profil im eingeschränkten Modus) an und lassen zu, dass jedem Verschlüsselungstyp eine zusätzliche GUID zugeordnet wird. Die Decodierungskonfiguration wird dann zwischen decoder und accelerator durch eine untergeordnete Aushandlung auf niedrigerer Ebene mithilfe von Such- und Sperrvorgängen eingerichtet, um Konfigurationen für jeden Typ von DirectX VA-Funktion zu erstellen.