Erstellen komprimierter Puffer und Decodierung von Renderzielen
Die Microsoft Direct3D-Runtime ruft die CreateResource-Funktion des Benutzermodusanzeigetreibers auf, um komprimierte Puffer und Renderziele für die Decodierung zu erstellen.
Jeder komprimierte Puffertyp verfügt über ein eigenes Oberflächenformat sowie ein spezielles Flag, das angibt, dass die von der Laufzeit erzeugte Oberfläche komprimierte Pufferinformationen für die beschleunigte Videocodierung enthält. Der Anzeigetreiber für den Benutzermodus bestimmt, einen komprimierten Puffer zu erstellen, wenn das DecodeCompressedBuffer-Bitfeldflag im Flags-Member der D3DDDIARG_CREATERESOURCE-Struktur festgelegt ist, auf die der pResource-Parameter von CreateResource zeigt. Der Anzeigetreiber für den Benutzermodus bestimmt den Typ des zu erstellenden komprimierten Puffers anhand des Formatwerts im Format-Member von D3DDDIARG_CREATERESOURCE. Die folgenden Formate sind definiert:
D3DDDIFMT_PICTUREPARAMSDATA = 150
D3DDDIFMT_MACROBLOCKDATA = 151
D3DDDIFMT_RESIDUALDIFFERENCEDATA = 152
D3DDDIFMT_DEBLOCKINGDATA = 153
D3DDDIFMT_INVERSEQUANTIZATIONDATA = 154
D3DDDIFMT_SLICECONTROLDATA = 155
D3DDDIFMT_BITSTREAMDATA = 156
Die Direct3D-Runtime erstellt jedes Decodierungsrenderziel unabhängig in einem Aufruf der CreateResource-Funktion des Benutzermodusanzeigetreibers. Auf jedes der Ziele wird als Unterressourcenindex einer einzelnen Ressource verwiesen. Der Anzeigetreiber für den Benutzermodus bestimmt, ob ein Decodierungsrenderenderget-Renderziel erstellt wird, wenn das DecodeRenderTarget-Bitfeldflag im Flags-Element von D3DDDIARG_CREATERESOURCE festgelegt ist.