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;
Member
[out] InputPool
Ein D3DDDI_POOL typisierter Wert, der den Speicherpool angibt, aus dem die Quelloberflächen mit Interlacs zugeordnet werden sollen.
[out] NumForwardRefSamples
Die erforderliche Anzahl von Vorwärtsverweisbeispielen für den definierten Deinterlace-Modus. Die Beispiele befinden sich in nachfolgenden Feldern. Dieser Wert ist null für die Bob- und Linienmischung und kann andere Werte (z. B. 1, 2 oder 3) für die adaptive Deinterlacing- und Frameratekonvertierung sein.
[out] NumBackwardRefSamples
Die erforderlichen Abwärtsverweisbeispiele für den definierten Deinterlace-Modus. Die Stichproben befinden sich in früheren Feldern. Dieser Wert ist null für bob, 1 für Linienmischung und kann andere Werte (z. B. 1, 2 oder 3) für adaptive Deinterlacing- und Frameratekonvertierung sein.
[out] OutputFormat
Ein D3DDDIFORMAT typisierter Wert, der das Pixelformat der unkomprimierten 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 die richtigen Ausgabeframeoberflächen für die Deinterlacinghardware bereitstellen kann.
Wenn der DXVADDI_VIDEOPROCESS_YUV2RGB Wert im VideoProcessorOperations-Member zurückgegeben wird, bestimmt die VMR, dass von diesem Member gültige Ausgabeformate sowie ein D3DFMT_X8R8G8B8-Format angegeben werden.
[out] DeinterlaceTechnology
Ein bitweises OR der folgenden Werte, um die zugrunde liegende Deinterlacing-Technologie anzugeben, die zum Implementieren des Deinterlacingalgorithmus verwendet wird. Die Werte können nach Bedarf kombiniert werden, um der Implementierung des Algorithmus am ehesten zu entsprechen.
Wert | Bedeutung |
---|---|
DXVADDI_DEINTERLACETECH_UNKNOWN | Die Deinterlacing-Technologie ist unbekannt. |
DXVADDI_DEINTERLACETECH_BOBLINEREPLICATE | Der Deinterlace-Algorithmus erstellt fehlende Zeilen, indem die Zeile entweder über oder unter einer fehlenden Zeile wiederholt wird. Diese Methode sieht gezackt aus und wird nicht empfohlen. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH | Ein Deinterlace-Algorithmus, der fehlende Linien erstellt, indem jedes Videofeld vertikal um den Faktor 2 gestreckt wird, indem zwei 5 Zeilen gedeutet werden. Es werden geringfügige vertikale Anpassungen vorgenommen, um sicherzustellen, dass sich das resultierende Bild nicht nach oben und unten bewegt. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH4TAP | Ein Deinterlace-Algorithmus, der fehlende Linien erstellt, indem jedes Videofeld vertikal um den Faktor 2 gestreckt wird, indem ein [-1, 9, 9, -1] / 16-Filter über vier Zeilen hinweg verwendet wird. Es werden geringfügige vertikale Anpassungen vorgenommen, um sicherzustellen, dass sich das resultierende Bild nicht nach oben und unten bewegt. |
DXVADDI_DEINTERLACETECH_MEDIANFILTERING | Die Pixel in der fehlenden Zeile werden durch einen Medianfiltervorgang neu erstellt. |
DXVADDI_DEINTERLACETECH_EDGEFILTERING | Pixel in der fehlenden Zeile werden durch einen Kantenfilter neu erstellt. In diesem Prozess werden räumliche direktionale Filter angewendet, um die Ausrichtung von Kanten im Bildinhalt zu bestimmen, und fehlende Pixel werden erstellt, indem die erkannten Kanten entlang (anstatt über) gefiltert werden. |
DXVADDI_DEINTERLACETECH_FIELDADAPTIVE | Pixel in der fehlenden Linie werden neu erstellt, indem je nach Bewegungsumfang Feld für Feld zwischen räumlicher oder temporaler Interpolation gewechselt wird. |
DXVADDI_DEINTERLACETECH_PIXELADAPTIVE | Pixel in der fehlenden Linie werden neu erstellt, indem pixelweise zwischen räumlicher oder temporaler Interpolation gewechselt wird, je nach Bewegungsumfang. |
DXVADDI_DEINTERLACETECH_MOTIONVECTORSTEERED | Objekte in einer Sequenz von Videofeldern. Die fehlenden Pixel werden nach dem ersten Ausrichten der Bewegungsachse der einzelnen Objekte in der Szene neu erstellt, um sie parallel zur Zeitachse zu machen. |
DXVADDI_DEINTERLACETECH_INVERSETELECINE | Ein Deinterlace-Algorithmus, der den 3:2-Pulldownprozess rückgängig macht, der zum Anzeigen von 24Hz-Inhalten auf 60Hz-Displays, 25Hz-Inhalten auf 50Hz-Displays oder so weiter verwendet wird. |
[out] ProcAmpControlCaps
Ein bitweises OR der folgenden Werte, um die ProcAmp-Vorgänge anzugeben, die von der Hardware unterstützt werden.
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 am Videobild sind zulässig. |
[out] VideoProcessorOperations
Ein bitweises OR 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 eine Genauigkeit von mindestens 8 Bit auf. Wenn dieser Vorgang möglich ist, kann eine Pufferkopie innerhalb der VMR vermieden werden. Beachten Sie, dass eine Konvertierung vom RGB-Farbraum in den YUV-Farbraum nicht erforderlich ist. |
DXVADDI_VIDEOPROCESS_STRETCHX | Die Korrektur des Seitenverhältnisses kann gleichzeitig mit der ProcAmp-Anpassung des Videos durchgeführt werden, wenn die Hardware horizontal gestreckt oder verkleinern kann. |
DXVADDI_VIDEOPROCESS_STRETCHY | Die Anpassung des Seitenverhältnisses wird mit einem allgemeinen Bildänderungsvorgang kombiniert, um das Videobild in einem von der Anwendung definierten Kompositionsbereich zu skalieren. Dieser Vorgang ist selten und kein wesentliches Feature. Es ist am besten, wenn die Skalierung, die erforderlich ist, um die Größe des Videos so zu ändern, dass es in das Anwendungsfenster passt, gleichzeitig mit der skalierung erfolgen kann, die für die ProcAmp-Anpassung erforderlich ist. Dieser Vorgangstyp vermeidet kumulative Artefakte. |
DXVADDI_VIDEOPROCESS_ALPHABLEND | Die VMR führt keine Pufferkopie durch, wenn ein Alphawert geändert wird. Anwendungen ändern selten den konstanten Alphawert, der dem Videostream zugeordnet ist, daher ist dieser Vorgang ein Feature mit niedriger Priorität. |
DXVADDI_VIDEOPROCESS_SUBRECTS | Das Videoverarbeitungsgerät kann mit einem Teilbereich des Videobilds betrieben 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 Teilstreams vorgenommen werden. Diese Anpassungen werden in den erweiterten Farbdaten angegeben, da das Video deinterlaced, mit den Teilstreams zusammengesetzt und auf die Zieloberfläche geschrieben wird. |
DXVADDI_VIDEOPROCESS_YUV2RGBEXTENDED | Ein Farbraumkonvertierungsvorgang kann ausgeführt werden, wenn die deinterlacierten und zusammengesetzten Pixel auf die Zieloberfläche geschrieben werden, indem die erweiterten Farbinformationen verwendet werden, die für die Quell- und Zieloberflächen angegeben sind. |
DXVADDI_VIDEOPROCESS_ALPHABLENDEXTENDED | Ein Alphamischungsvorgang kann mit der Zieloberfläche ausgeführt werden, wenn die deinterlacierten und zusammengesetzten Pixel auf die Zieloberfläche geschrieben werden. Der Treiber muss die Hintergrundfarbe basierend auf dem Alphawert des Alpha-Elements der D3DDDIARG_VIDEOPROCESSBLT Struktur verarbeiten. 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 der ConstrictionSize-Member der D3DDDIARG_VIDEOPROCESSBLT-Struktur angibt. |
DXVADDI_VIDEOPROCESS_NOISEFILTER | Das Videoverarbeitungsgerät kann Rauschfiltervorgänge für den Videodatenstrom ausführen. |
DXVADDI_VIDEOPROCESS_DETAILFILTER | Das Videoverarbeitungsgerät kann Detailfiltervorgänge für den Videodatenstrom ausführen. |
DXVADDI_VIDEOPROCESS_PLANARALPHA | Das Videoverarbeitungsgerät kann eine konstante Alphamischung auf den gesamten Videodatenstrom (Ebene) anwenden, während es den Videodatenstrom und die Teilstreams kombiniert. Der Alpha-Member 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 eine Gammakonvertierung für den Videodatenstrom durchführen. |
DXVADDI_VIDEOPROCESS_MAINTAINSORIGINALFIELDDATA | Das Videoverarbeitungsgerät kann die ursprünglichen Felddaten verwalten. |
[out] NoiseFilterTechnology
Ein bitweises OR 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 Rauschfilterimplementierung am ehesten zu entsprechen.
Wert | Bedeutung |
---|---|
DXVADDI_NOISEFILTERTECH_UNSUPPORTED | Es wird keine Rauschfiltertechnologie unterstützt. |
DXVADDI_NOISEFILTERTECH_UNKNOWN | Die Rauschfiltertechnologie ist unbekannt. |
DXVADDI_NOISEFILTERTECH_MEDIAN | Das Videoverarbeitungsgerät verwendet die Median-Rauschfilterung. |
DXVADDI_NOISEFILTERTECH_TEMPORAL | Das Videoverarbeitungsgerät verwendet die temporale Rauschfilterung. |
DXVADDI_NOISEFILTERTECH_BLOCKNOISE | Das Videoverarbeitungsgerät verwendet die Blockrauschfilterung. |
DXVADDI_NOISEFILTERTECH_MOSQUITONOISE | Das Videoverarbeitungsgerät verwendet die Moskitorauschenfilterung. |
[out] DetailFilterTechnology
Ein bitweises OR 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 die Edge-Detailfilterung. |
DXVADDI_DETAILFILTERTECH_SHARPENING | Das Videoverarbeitungsgerät verwendet schärfende Detailfilterung. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Kopfzeile | d3dumddi.h (include D3dumddi.h) |