DXVADDI_VIDEOPROCESSORCAPS Struktur (d3dumddi.h)
Die DXVADDI_VIDEOPROCESSORCAPS Struktur beschreibt die Videoverarbeitungsfunktionen eines bestimmten Deinterlacemodus.
Syntax
typedef struct _DXVADDI_VIDEOPROCESSORCAPS {
[out] D3DDDI_POOL InputPool;
[out] UINT NumForwardRefSamples;
[out] UINT NumBackwardRefSamples;
[out] D3DDDIFORMAT OutputFormat;
[out] UINT DeinterlaceTechnology;
[out] UINT ProcAmpControlCaps;
[out] UINT VideoProcessorOperations;
[out] UINT NoiseFilterTechnology;
[out] UINT DetailFilterTechnology;
} DXVADDI_VIDEOPROCESSORCAPS;
Angehörige
[out] InputPool
Ein D3DDDI_POOL-typed-Wert, der den Speicherpool angibt, aus dem die interlaced Source Surfaces zugeordnet werden sollen.
[out] NumForwardRefSamples
Die erforderliche Anzahl von Vorwärtsreferenzbeispielen für den definierten Deinterlacemodus. Die Beispiele sind in nachfolgenden Feldern enthalten. Dieser Wert ist null für bob und line blending und kann andere Werte (z. B. 1, 2 oder 3) für adaptive Deinterlacing- und Framerate-Konvertierung sein.
[out] NumBackwardRefSamples
Die erforderlichen Abwärtsverweisbeispiele für den definierten Deinterlacemodus. Die Stichproben sind in früheren Feldern enthalten. Dieser Wert ist null für Bob, 1 für die Linienmischung und kann andere Werte (z. B. 1, 2 oder 3) für adaptive Deinterlacing- und Framerate-Konvertierung sein.
[out] OutputFormat
Ein D3DDDIFORMAT-typisierter Wert, der das Pixelformat der nicht komprimierten Ausgabeframes angibt. In der Regel gibt ein Deinterlace-Algorithmus Frames in einem Pixelformat aus, das dem Eingabebeispielformat entspricht. Dieser Member stellt sicher, dass der Video mixing Renderer (VMR) oder ein anderer Videorenderer in der Lage ist, die richtigen Ausgabeframeoberflächen an die Deinterlacing-Hardware zu liefern.
Beachten Sie: Wenn der DXVADDI_VIDEOPROCESS_YUV2RGB Wert im VideoProcessorOperations Member zurückgegeben wird, bestimmt der VMR, dass gültige Ausgabeformate durch dieses Element sowie ein D3DFMT_X8R8G8B8 Format angegeben werden.
[out] DeinterlaceTechnology
Ein bitweiser OR der folgenden Werte, um die zugrunde liegende Deinterlacing-Technologie anzugeben, die zum Implementieren des Deinterlacing-Algorithmus verwendet wird. Die Werte können nach Bedarf kombiniert werden, um die Implementierung des Algorithmus am ehesten abzugleichen.
Wert | Bedeutung |
---|---|
DXVADDI_DEINTERLACETECH_UNKNOWN | Die Deinterlacing-Technologie ist unbekannt. |
DXVADDI_DEINTERLACETECH_BOBLINEREPLICATE | Der Deinterlace-Algorithmus erstellt fehlende Zeilen, indem die Zeile entweder oberhalb oder unterhalb einer fehlenden Zeile wiederholt wird. Diese Methode sieht markiert aus und wird nicht empfohlen. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH | Ein Deinterlace-Algorithmus, der fehlende Linien erzeugt, indem jedes Videofeld vertikal um einen Faktor von zwei durch durchschnittlich zwei Linien gestreckt wird. Es werden leichte vertikale Anpassungen vorgenommen, um sicherzustellen, dass das resultierende Bild nicht nach oben und unten bewegt wird. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH4TAP | Ein Deinterlace-Algorithmus, der fehlende Linien erzeugt, indem jedes Videofeld vertikal um einen Faktor von zwei gestreckt wird, indem ein [-1, 9, 9, -1] / 16 Filter über vier Linien verwendet wird. Es werden leichte vertikale Anpassungen vorgenommen, um sicherzustellen, dass das resultierende Bild nicht nach oben und unten bewegt wird. |
DXVADDI_DEINTERLACETECH_MEDIANFILTERING | Die Pixel in der fehlenden Zeile werden durch einen Medianfiltervorgang neu erstellt. |
DXVADDI_DEINTERLACETECH_EDGEFILTERING | Pixel in der fehlenden Zeile werden von einem Randfilter neu erstellt. In diesem Prozess werden räumliche Direktionalfilter angewendet, um die Ausrichtung der Kanten im Bildinhalt zu bestimmen, und fehlende Pixel werden durch Filtern entlang (und nicht über) den erkannten Kanten erstellt. |
DXVADDI_DEINTERLACETECH_FIELDADAPTIVE | Pixel in der fehlenden Linie werden neu erstellt, indem je nach Bewegungsmenge zwischen räumlicher oder zeitlicher Interpolation auf Feldbasis gewechselt wird. |
DXVADDI_DEINTERLACETECH_PIXELADAPTIVE | Pixel in der fehlenden Linie werden neu erstellt, indem sie je nach Bewegungsmenge auf Pixelbasis zwischen räumlicher oder zeitlicher Interpolation umschalten. |
DXVADDI_DEINTERLACETECH_MOTIONVECTORSTEERED | Objekte innerhalb einer Sequenz von Videofeldern. Die fehlenden Pixel werden nach der ersten Ausrichtung der Bewegungsachse der einzelnen Objekte in der Szene neu erstellt, um sie parallel zur Zeitachse zu gestalten. |
DXVADDI_DEINTERLACETECH_INVERSETELECINE | Ein Deinterlace-Algorithmus, der den 3:2-Pull-Down-Prozess rückgängig macht, der zum Anzeigen von 24Hz-Inhalten auf 60Hz-Displays, 25Hz-Inhalten auf 50Hz-Displays usw. verwendet wird. |
[out] ProcAmpControlCaps
Ein bitweises ODER der folgenden Werte, um die ProcAmp-Vorgänge anzugeben, die die Hardware unterstützt.
Wert | Bedeutung |
---|---|
DXVADDI_PROCAMP_NONE | Die Hardware unterstützt keine ProcAmp-Vorgänge. |
DXVADDI_PROCAMP_BRIGHTNESS | Helligkeitsanpassungen am Videobild sind zulässig. |
DXVADDI_PROCAMP_CONTRAST | Kontrastanpassungen am Videobild sind zulässig. |
DXVADDI_PROCAMP_HUE | Farbtonanpassungen am Videobild sind zulässig. |
DXVADDI_PROCAMP_SATURATION | Sättigungsanpassungen für das Videobild sind zulässig. |
[out] VideoProcessorOperations
Ein bitweiser ODER der folgenden Werte, um anzugeben, welche zusätzlichen Videoverarbeitungsvorgänge die Hardware gleichzeitig mit dem angeforderten VideoProcessBlt--Vorgang ausführen kann.
Wert | Bedeutung |
---|---|
DXVADDI_VIDEOPROCESS_NONE | Die Hardware kann keine weiteren Videoverarbeitungsvorgänge ausführen. |
DXVADDI_VIDEOPROCESS_YUV2RGB | Die Videokonvertierung vom YUV-Farbraum in den RGB-Farbraum ist zulässig. Das verwendete RGB-Format weist für jede Farbkomponente mindestens 8 Bit Genauigkeit auf. Wenn dieser Vorgang möglich ist, kann eine Pufferkopie innerhalb des VIRTUELLEN Computers vermieden werden. Beachten Sie, dass die Konvertierung des RGB-Farbraums in den YUV-Farbraum nicht erforderlich ist. |
DXVADDI_VIDEOPROCESS_STRETCHX | Die Seitenverhältniskorrektur kann gleichzeitig mit procAmp angepasst werden, wenn die Hardware horizontal dehnen oder verkleinern kann. |
DXVADDI_VIDEOPROCESS_STRETCHY | Die Anpassung des Seitenverhältnisses wird mit einem allgemeinen Bildänderungsvorgang kombiniert, um das Videobild innerhalb eines anwendungsdefinierten Kompositionsbereichs zu skalieren. Dieser Vorgang ist selten und kein wesentliches Feature. Es ist am besten, wenn die Skalierung, die zum Ändern der Größe des Videos erforderlich ist, in das Anwendungsfenster passt, gleichzeitig mit der Skalierung erfolgen kann, die für die ProcAmp-Anpassung erforderlich ist. Diese Art von Vorgang vermeidet kumulative Artefakte. |
DXVADDI_VIDEOPROCESS_ALPHABLEND | Der VMR führt keine Pufferkopie durch, wenn ein Alphawert geändert wird. Anwendungen ändern selten den konstanten Alphawert, der dem Videodatenstrom zugeordnet ist, sodass dieser Vorgang ein Feature mit niedriger Priorität ist. |
DXVADDI_VIDEOPROCESS_SUBRECTS | Das Videoverarbeitungsgerät kann auf einem Unterbereich des Videobilds ausgeführt werden. Dieser Vorgang ist nützlich, wenn das Videobild zugeschnitten werden muss, bevor es weiter verarbeitet wird, da die Größe des Ausgabeframes reduziert wird. |
DXVADDI_VIDEOPROCESS_SUBSTREAMS | Das Videoverarbeitungsgerät kann Videounterstreams mit dem Videostream kombinieren. |
DXVADDI_VIDEOPROCESS_SUBSTREAMSEXTENDED | Erforderliche Farbanpassungen können an den Quellvideostreams und Unterstreams vorgenommen werden. Diese Anpassungen werden in den erweiterten Farbdaten angegeben, da das Video deinterlaced ist, mit den Unterstreams zusammengesetzt und auf die Zieloberfläche geschrieben wird. |
DXVADDI_VIDEOPROCESS_YUV2RGBEXTENDED | Ein Farbraumkonvertierungsvorgang kann ausgeführt werden, wenn die verketteten und zusammengesetzten Pixel mithilfe der erweiterten Farbinformationen, die für die Quell- und Zieloberflächen angegeben sind, auf die Zieloberfläche geschrieben werden. |
DXVADDI_VIDEOPROCESS_ALPHABLENDEXTENDED | Ein Alpha-Blend-Vorgang kann mit der Zieloberfläche ausgeführt werden, wenn die verketteten und zusammengesetzten Pixel auf die Zieloberfläche geschrieben werden. Der Treiber muss Hintergrundfarbe basierend auf dem Alphawert des Alpha-Elements der D3DDDIARG_VIDEOPROCESSBLT-Struktur behandeln. Wenn der Alphawert 1,0 ist, wird die Hintergrundfarbe undurchsichtig (ohne Transparenz) gezeichnet. Wenn der Alphawert 0,0 ist, sollte der Hintergrund nicht gezeichnet werden (transparent). |
DXVADDI_VIDEOPROCESS_CONSTRICTION | Das Videoverarbeitungsgerät kann den Ausgabeframe vorübergehend auf eine Größe reduzieren, die das ConstrictionSize-Element der D3DDDIARG_VIDEOPROCESSBLT Struktur angibt. |
DXVADDI_VIDEOPROCESS_NOISEFILTER | Das Videoverarbeitungsgerät kann Rauschfiltervorgänge für den Videostream ausführen. |
DXVADDI_VIDEOPROCESS_DETAILFILTER | Das Videoverarbeitungsgerät kann Detailfiltervorgänge für den Videostream ausführen. |
DXVADDI_VIDEOPROCESS_PLANARALPHA | Das Videoverarbeitungsgerät kann eine konstante Alpha-Mischung auf den gesamten Videodatenstrom (Ebene) anwenden, während er den Videostream und Die Unterstreams miteinander kombiniert. Das Alphaelement von D3DDDIARG_VIDEOPROCESSBLT gibt den Alphawert an. |
DXVADDI_VIDEOPROCESS_LINEARSCALING | Das Videoverarbeitungsgerät kann den Videodatenstrom linear skalieren. |
DXVADDI_VIDEOPROCESS_GAMMACOMPENSATED | Das Videoverarbeitungsgerät kann gammakonvertierung im Videostream ausführen. |
DXVADDI_VIDEOPROCESS_MAINTAINSORIGINALFIELDDATA | Das Videoverarbeitungsgerät kann die ursprünglichen Felddaten verwalten. |
[out] NoiseFilterTechnology
Ein bitweiser ODER der folgenden Werte, um die zugrunde liegende Technologie anzugeben, die zum Implementieren der Rauschfilterung verwendet wird. Die Werte können nach Bedarf kombiniert werden, um der Implementierung des Rauschfilters am ehesten zu entsprechen.
Wert | Bedeutung |
---|---|
DXVADDI_NOISEFILTERTECH_UNSUPPORTED | Es wird keine Rauschfiltertechnologie unterstützt. |
DXVADDI_NOISEFILTERTECH_UNKNOWN | Die Geräuschfiltertechnologie ist unbekannt. |
DXVADDI_NOISEFILTERTECH_MEDIAN | Das Videoverarbeitungsgerät verwendet medianische Rauschfilterung. |
DXVADDI_NOISEFILTERTECH_TEMPORAL | Das Videoverarbeitungsgerät verwendet zeitliche Rauschfilterung. |
DXVADDI_NOISEFILTERTECH_BLOCKNOISE | Das Videoverarbeitungsgerät verwendet blockrauschende Filterung. |
DXVADDI_NOISEFILTERTECH_MOSQUITONOISE | Das Videoverarbeitungsgerät verwendet Moskitogeräuschfilterung. |
[out] DetailFilterTechnology
Ein bitweises ODER der folgenden Werte, um die zugrunde liegende Technologie anzugeben, die zum Implementieren der Detailfilterung verwendet wird. Die Werte können nach Bedarf kombiniert werden, um der Implementierung des Detailfilters am ehesten zu entsprechen.
Wert | Bedeutung |
---|---|
DXVADDI_DETAILFILTERTECH_UNSUPPORTED | Es wird keine Detailfiltertechnologie unterstützt. |
DXVADDI_DETAILFILTERTECH_UNKNOWN | Die Detailfiltertechnologie ist unbekannt. |
DXVADDI_DETAILFILTERTECH_EDGE | Das Videoverarbeitungsgerät verwendet edgedetailfilterung. |
DXVADDI_DETAILFILTERTECH_SHARPENING | Das Videoverarbeitungsgerät verwendet die Schärfen der Detailfilterung. |
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) |