Freigeben über


DXVADDI_CONFIGPICTUREDECODE Struktur (d3dumddi.h)

Die DXVADDI_CONFIGPICTUREDECODE Struktur beschreibt die Konfiguration für die komprimierte Bilddecodierung.

Syntax

typedef struct _DXVADDI_CONFIGPICTUREDECODE {
  [in] GUID   guidConfigBitstreamEncryption;
  [in] GUID   guidConfigMBcontrolEncryption;
  [in] GUID   guidConfigResidDiffEncryption;
  [in] UINT   ConfigBitstreamRaw;
  [in] UINT   ConfigMBcontrolRasterOrder;
  [in] UINT   ConfigResidDiffHost;
  [in] UINT   ConfigSpatialResid8;
  [in] UINT   ConfigResid8Subtraction;
  [in] UINT   ConfigSpatialHost8or9Clipping;
  [in] UINT   ConfigSpatialResidInterleaved;
  [in] UINT   ConfigIntraResidUnsigned;
  [in] UINT   ConfigResidDiffAccelerator;
  [in] UINT   ConfigHostInverseScan;
  [in] UINT   ConfigSpecificIDCT;
  [in] UINT   Config4GroupedCoefs;
  [in] USHORT ConfigMinRenderTargetBuffCount;
  [in] USHORT ConfigDecoderSpecific;
} DXVADDI_CONFIGPICTUREDECODE;

Angehörige

[in] guidConfigBitstreamEncryption

Die Verschlüsselungs-GUID zum Konfigurieren eines Bitstreams.

[in] guidConfigMBcontrolEncryption

Die Verschlüsselungs-GUID zum Konfigurieren des Makroblock-Steuerelements.

[in] guidConfigResidDiffEncryption

Die Verschlüsselungs-GUID zum Konfigurieren der Restdifferenzdecodierung.

[in] ConfigBitstreamRaw

Der Bitstreamverarbeitungsindikator. Der Wert 1 in diesem Element gibt an, dass Bilddaten in Bitstreampuffern als unformatierter Bitstreaminhalt gesendet werden. Ein Wert von Null gibt an, dass Bilddaten mithilfe von Makroblock-Befehlspuffern gesendet werden.

Legen Sie dieses Element auf Null fest, wenn der ConfigResidDiffHost oder ConfigResidDiffAccelerator Member 1 ist. Ein Wert von Null in ConfigBitstreamRaw- ist die grundlegende Unterstützungsebene. Der Wert 1 wird bevorzugt.

[in] ConfigMBcontrolRasterOrder

Ein UINT-Wert, der angibt, ob Makroblock-Steuerelementbefehle in der Rasterscanreihenfolge oder in beliebiger Reihenfolge vorhanden sind. Der Wert 1 in diesem Element gibt an, dass die Makroblock-Steuerelementbefehle innerhalb jedes Makroblock-Steuerelement-Befehlspuffers in der Rasterscanreihenfolge liegen. Ein Wert von Null gibt eine beliebige Reihenfolge an. Ein Treiber kann die Unterstützung auf die Rasterscanreihenfolge beschränken; Ein Treiber sollte jedoch sowohl die beliebige als auch die Rasterscanreihenfolge unterstützen.

[in] ConfigResidDiffHost

Die Konfiguration des Host-Restunterschieds. Ein Wert von 1 in diesem Element gibt an, dass einige Restdifferenzdecodierungsdaten möglicherweise als Blöcke in der räumlichen Domäne vom Host gesendet werden. Ein Wert von Null gibt an, dass räumliche Domänendaten nicht gesendet werden. Legen Sie dieses Element auf Null fest, wenn das ConfigBitstreamRaw Member 1 ist. Eine Zugriffstaste sollte sowohl Null als auch 1 unterstützen.

[in] ConfigSpatialResid8

Die Wortgröße, die verwendet wird, um restdifferenzige räumliche Domänenblöcke für vorhergesagte (nonintra)-Bilder darzustellen, wenn die hostbasierte Restdifferenzdecodierung verwendet wird (d. a., wenn der ConfigResidDiffHost- Member auf 1 festgelegt ist).

Wenn ConfigSpatialResid8- 1 ist und ConfigResidDiffHost 1 ist, sendet der Host restdifferenzige räumliche Domänenblöcke für nichtintra-Makroblocks, die 8-Bit-signierte Beispiele und intramakroblocks in vorhergesagten (nichtintra)-Bildern in einem Format verwenden, das vom ConfigIntraResidUnsigned Member wie folgt abhängt:

  • Wenn ConfigIntraResidUnsigned null ist, werden räumliche Domänenblöcke für intramakroblocks als 8-Bit-ganzzahlige Werte gesendet, die relativ zu einem Konstantenverweiswert von 128 sind.

  • Wenn ConfigIntraResidUnsigned 1 ist, werden räumliche Domänenblöcke für intramakroblocks als 8-Bit-ganzzahlige 8-Bit-Werte gesendet, die relativ zu einem Konstantenverweiswert von Null sind.

Wenn ConfigSpatialResid8 null ist und ConfigResidDiffHost- 1 ist, sendet der Host restdifferenzige räumliche Domänenblöcke von Daten für nichtintra-Makroblocks, die 16-Bit-signierte Beispiele und intramakroblocks in vorhergesagten (nonintra)-Bildern in einem Format verwenden, das von ConfigIntraResidUnsigned wie folgt abhängt:

  • Wenn ConfigIntraResidUnsigned null ist, werden räumliche Domänenblöcke für intramakroblocks als 16-Bit-ganzzahlige Werte gesendet, die relativ zu einem Konstantenverweiswert von 2^(BPP-1) sind, wobei BPP- die Anzahl der Bits pro Beispiel für das nicht komprimierte Video ist (im Allgemeinen ein Wert von 8).

  • Wenn ConfigIntraResidUnsigned 1 ist, werden räumliche Domänenblöcke für intramakroblocks als 16-Bit-ganzzahlige Werte gesendet, die relativ zu einem Konstantenverweiswert von Null sind.

ConfigSpatialResid8- muss null sein, wenn ConfigResidDiffHost null ist. Wenn ConfigResidDiffHost- 1 ist, kann ConfigSpatialResid8- ein beliebiger Wert sein.

Anmerkung

Bei Intrabildern mit BPP- gleich 8 müssen räumliche Domänenblöcke mithilfe von 8-Bit-Beispielen gesendet werden. Bei Intrabildern mit BPP- größer als 8 müssen räumliche Domänenblöcke mithilfe von 16-Bit-Beispielen gesendet werden. Wenn ConfigIntraResidUnsigned null ist, werden diese Beispiele als signierte ganzzahlige Werte gesendet, die relativ zu einem konstanten Bezugswert von 2^(BPP-1) sind. Wenn ConfigIntraResidUnsigned 1 ist, werden diese Beispiele als nicht signierte ganzzahlige Werte gesendet, die relativ zu einem konstanten Bezugswert von Null sind.

[in] ConfigResid8Subtraction

Ein UINT-Wert, der angibt, ob 8-Bit-Differenzüberlaufblöcke subtrahiert oder hinzugefügt werden. Wenn dieses Element auf 1 festgelegt ist, werden 8-Bit-Differenzüberlaufblöcke subtrahiert und nicht hinzugefügt. Dieses Element muss null sein, es sei denn, ConfigSpatialResid8 1 ist. Wenn ConfigSpatialResid8 1 ist, ist der bevorzugte Wert für ConfigResid8Subtraction 1. Die Möglichkeit, Unterschiede zu subtrahieren, anstatt sie hinzuzufügen, ermöglicht es, die Decodierung von 8-Bit-Differenzen vollständig mit dem Bereich von -255 bis +255 von Werten kompatibel zu sein, die in Videodecoderspezifikationen erforderlich sind. Diese Möglichkeit ermöglicht die vollständige Compliance, da +255 nicht als Addition von zwei signierten 8-Bit-Zahlen dargestellt werden kann, aber jede Zahl im Bereich von -255 bis +255 kann als Differenz zwischen zwei signierten 8-Bit-Zahlen dargestellt werden (+255 entspricht +127 minus -128).

[in] ConfigSpatialHost8or9Clipping

Ein UINT-Wert, der angibt, ob der Clipping vom Host ausgeführt wird. Wenn dieses Element auf 1 festgelegt ist, werden räumliche Domänenblöcke für intramakroblocks auf einen 8-Bit-Bereich auf dem Host zugeschnitten, und räumliche Domänenblöcke für Nichtintra-Makroblocks werden auf einen 9-Bit-Bereich auf dem Host abgeschnitten. Ein Wert von Null gibt an, dass vom Host keine solche Ausschnitte ausgeführt werden. Dieses Element muss null sein, es sei denn, ConfigSpatialResid8- auf Null festgelegt ist und ConfigResidDiffHost- auf 1 festgelegt ist. Der bevorzugte Wert für ConfigSpatialHost8or9Clipping ist Null.

[in] ConfigSpatialResidInterleaved

Ein UINT-Wert, der angibt, ob Restdifferenzdaten für räumliche Domänen in einer Chrominanz-interleaved-Form gesendet werden. Wenn dieses Element auf 1 festgelegt ist, werden alle Restdifferenzdaten der räumlichen Domäne in einer Chrominanz-interleaved-Form gesendet, die dem Chrominanz-Interleavingmuster des YUV-Formats entspricht. Dieses Element muss null sein, es sei denn, ConfigResidDiffHost 1 ist und das YUV-Format NV12 oder NV21 ist. Der bevorzugte Wert für ConfigSpatialResidInterleaved ist Null.

[in] ConfigIntraResidUnsigned

Die Methode der Darstellung von räumlichen Domänenblöcken von Restdifferenzdaten für Intrablöcke bei Verwendung der hostbasierten Differenzdecodierung (d. a. wenn das ConfigResidDiffHost Member gleich 1 ist).

Wenn ConfigIntraResidUnsigned- auf Null festgelegt ist und ConfigResidDiffHost- auf 1 festgelegt ist, werden restdizierte Datenblöcke für intramakroblocks wie folgt gesendet:

  • Wenn das ConfigSpatialResid8 Member null ist, werden die Datenblöcke der räumlichen Domänen-Restdifferenz für intramakroblocks als 16-Bit-ganzzahlige Werte gesendet, die relativ zu einem Konstantenverweiswert von 2^(BPP-1) sind, wobei BPP- die Anzahl der Bits pro Beispiel für das nicht komprimierte Video (im Allgemeinen ein Wert von 8) ist.

  • In einem Nichtintra-Bild, wenn ConfigSpatialResid8 1 und in einem Intrabild ist, wenn BPP- gleich 8 ist (unabhängig vom Wert von ConfigSpatialResid8), werden die datenblöcke der räumlichen Domäne für intramakroblocks als 8-Bit-ganzzahlige Werte gesendet, die relativ zu einem konstanten Bezugswert von 128 sind.

Wenn ConfigIntraResidUnsigned- auf 1 festgelegt ist und ConfigResidDiffHost- auf 1 festgelegt ist, werden datenblöcke für räumliche Domänen für intramakroblocks wie folgt gesendet:

  • Wenn ConfigSpatialResid8- null ist, werden die datenblöcke der räumlichen Domäne für intramakroblocks als 16-Bit-ganzzahlige Werte gesendet, die relativ zu einem konstanten Bezugswert von Null sind.

  • In einem Nichtintra-Bild, wenn ConfigSpatialResid8 1 und in einem Intrabild ist, wenn BPP- gleich 8 ist (unabhängig vom Wert von ConfigSpatialResid8), werden die datenblöcke der räumlichen Domäne für intramakroblocks als 8-Bit-ganzzahlige Werte gesendet, die relativ zu einem konstanten Bezugswert von Null sind.

ConfigIntraResidUnsigned- muss null sein, es sei denn, ConfigResidDiffHost- ist 1. Der bevorzugte Wert für ConfigIntraResidUnsigned ist Null.

[in] ConfigResidDiffAccelerator

Die Beschleuniger-Restdifferenzkonfiguration. Ein Wert von 1 in diesem Member gibt an, dass Transformationsdomänenblöcke von Koeffizientendaten vom Host für zugriffsbasierte IDCT gesendet werden können. Ein Wert von Null gibt an, dass zugriffsbasierte IDCT nicht verwendet wird.

Wenn sowohl das ConfigResidDiffHost Member als auch ConfigResidDiffAccelerator 1 sind, werden einige Restunterschiededecodierung auf dem Host und einige auf der Zugriffstaste ausgeführt, wie durch Befehle auf Makroblockebene angegeben. ConfigResidDiffAccelerator- muss null sein, wenn das bConfigBitstreamRaw Member 1 ist.

Der bevorzugte Wert für ConfigResidDiffAccelerator ist 1.

Wenn ConfigResidDiffAccelerator und ConfigResidDiffHost- auf "1" festgelegt ist, kann die Restdifferenzdecodierung auf Makroblockbasis zwischen dem Host und der Zugriffstaste gemeinsam genutzt werden. Diese Freigabe ist eine noch höhere Zugriffstastenfunktion als wenn ConfigResidDiffAccelerator- auf 1 festgelegt ist und ConfigResidDiffHost- auf Null festgelegt ist.

[in] ConfigHostInverseScan

Ein UINT-Wert, der angibt, ob die umgekehrte Überprüfung auf die Verarbeitung von Transformationsdomänenblocks auf dem Host oder der Zugriffstaste ausgeführt wird. Ein Wert von 1 in diesem Element gibt an, dass die umgekehrte Überprüfung auf die Verarbeitung von Transformationsdomänenblocks auf dem Host ausgeführt wird, und absolute Indizes werden stattdessen für alle Transformationskoeffizienten gesendet. Ein Wert von Null gibt an, dass der umgekehrte Scan auf der Zugriffstaste ausgeführt wird. ConfigHostInverseScan- muss null sein, wenn ConfigResidDiffAccelerator null ist oder das Config4GroupedCoefs Member 1 ist.

Der bevorzugte Wert für ConfigHostInverseScan- ist 1, wenn ConfigResidDiffAccelerator 1 ist.

[in] ConfigSpecificIDCT

Ein UINT-Wert, der die Verwendung einer bestimmten IDCT-Methode für offhost IDCT-angibt. Ein Wert von 1 in diesem Mitglied gibt die Verwendung des IDCT an, das in Anhang W von ITU-T Empfehlung H.263 angegeben ist, über die Sie auf der Website der Internationalen Telekommunikationsunion erfahren können. Ein Wert von Null gibt an, dass alle kompatiblen IDCT für Offhost-IDCT verwendet werden können. (Werte außer Null und 1 sind reserviert.)

ConfigSpecificIDCT- muss null sein, wenn ConfigResidDiffAccelerator null ist, was die hostbasierte Restdifferenzdecodierung angibt.

Anmerkung

ConfigSpecificIDCT- darf nicht für die Verwendung mit MPEG-2-Video auf 1 festgelegt werden.

[in] Config4GroupedCoefs

Ein UINT-Wert, der angibt, wie Transformationskoeffizienten für offhost-IDCT gesendet werden. Ein Wert von 1 in diesem Element gibt an, dass Transformationskoeffizienten für off-host IDCT mithilfe der DXVA_TCoef4Group-Struktur und nicht mit der DXVA_TCoefSingle-Struktur gesendet werden. Config4GroupedCoefs ist null, wenn ConfigResidDiffAccelerator null ist oder ConfigHostInverseScan- 1 ist.

Der bevorzugte Wert für Config4GroupedCoefs ist Null, wenn ConfigResidDiffAccelerator 1 ist.

[in] ConfigMinRenderTargetBuffCount

Ein USHORT-Wert, der die Mindestanzahl von Renderzielpuffern angibt.

[in] ConfigDecoderSpecific

Ein USHORT-Wert, der decoderspezifische Features angibt, die konfiguriert werden sollen. Informationen zu den Features eines Decoders finden Sie in der Spezifikation für diesen Decoder. Eine Liste der Decoder finden Sie unter Bereitstellen von Funktionen für die Videodecodierung.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Header- d3dumddi.h (include D3dumddi.h)

Siehe auch

D3DDDIARG_GETCAPS

D3DDDICAPS_TYPE

GetCaps-