DXVA2_VideoProcessorCaps-Struktur (dxva2api.h)
Beschreibt die Funktionen eines Videoprozessormodus für die DirectX-Videobeschleunigung (DVXA).
Syntax
typedef struct _DXVA2_VideoProcessorCaps {
UINT DeviceCaps;
D3DPOOL InputPool;
UINT NumForwardRefSamples;
UINT NumBackwardRefSamples;
UINT Reserved;
UINT DeinterlaceTechnology;
UINT ProcAmpControlCaps;
UINT VideoProcessorOperations;
UINT NoiseFilterTechnology;
UINT DetailFilterTechnology;
} DXVA2_VideoProcessorCaps;
Member
DeviceCaps
Gibt den Gerätetyp an. Die folgenden Werte werden definiert.
InputPool
Der vom Gerät verwendete Direct3D-Arbeitsspeicherpool.
NumForwardRefSamples
Anzahl der Vorwärtsverweisbeispiele, die das Gerät zum Deinterlacing benötigt. Für Bob-, Progressive Scan- und Softwaregeräte ist der Wert 0 (null).
NumBackwardRefSamples
Anzahl der Rückwärtsverweisbeispiele, die das Gerät zum Deinterlacing ausführen muss. Für Bob-, Progressive Scan- und Softwaregeräte ist der Wert 0 (null).
Reserved
Reserviert. Muss Null sein.
DeinterlaceTechnology
Gibt die deinterlacing-Technik an, die vom Gerät verwendet wird. Dieser Wert ist ein bitweises OR eines oder mehrerer der folgenden Flags.
ProcAmpControlCaps
Gibt die verfügbaren Videoprozessorvorgänge (ProcAmp) an. Der Wert ist ein bitweises OR der ProcAmp-Einstellungskonstanten .
VideoProcessorOperations
Gibt Vorgänge an, die das Gerät gleichzeitig mit dem Vorgang IDirectXVideoProcessor::VideoProcessBlt ausführen kann. Der Wert ist ein bitweises OR der folgenden Flags.
Wert | Bedeutung |
---|---|
|
Das Gerät kann das Video aus dem YUV-Farbraum in den RGB-Farbraum konvertieren, mit einer Genauigkeit von mindestens 8 Bit für jede RGB-Komponente. |
|
Das Gerät kann das Video horizontal strecken oder verkleinern. Wenn diese Funktion vorhanden ist, kann die Korrektur des Seitenverhältnisses gleichzeitig mit dem Deinterlacing durchgeführt werden. |
|
Das Gerät kann das Video vertikal strecken oder verkleinern. Wenn diese Funktion vorhanden ist, können Bildgrößenänderung und Seitenverhältniskorrektur gleichzeitig durchgeführt werden. |
|
Das Gerät kann das Video mit Alpha mischen. |
|
Das Gerät kann mit einem Subrectangle des Videoframes betrieben werden. Wenn diese Funktion vorhanden ist, können Quellbilder zugeschnitten werden, bevor die weitere Verarbeitung erfolgt. |
|
Das Gerät kann neben dem primären Videostream Auch Substreams akzeptieren und diese zusammenfügen. |
|
Das Gerät kann Farbanpassungen für den primären Videodatenstrom und die Teilstreams durchführen, während das Video deinterlact und die Teilstreams zusammengesetzt werden. Der Zielfarbraum wird im DestFormat-Element der DXVA2_VideoProcessBltParams-Struktur definiert. Der Quellfarbraum für jeden Stream wird im SampleFormat-Element der DXVA2_VideoSample-Struktur definiert. |
|
Das Gerät kann das Video von YUV in RGB-Farbraum konvertieren, wenn es die deinterlaced und zusammengesetzten Pixel auf die Zieloberfläche schreibt.
Eine RGB-Zieloberfläche kann eine Off-Screen-Oberfläche, Textur, Direct3D-Renderziel oder kombinierte Textur-/Renderzieloberfläche sein. Eine RGB-Zieloberfläche muss für jeden Farbkanal mindestens 8 Bits verwenden. |
|
Das Gerät kann einen Alphamischungsvorgang mit der Zieloberfläche ausführen, wenn es die deinterlaced und composited Pixel auf die Zieloberfläche schreibt. |
|
Das Gerät kann den Ausgaberahmen herabstempeln, wie durch den ConstrictionSize-Member der DXVA2_VideoProcessBltParams-Struktur angegeben. |
|
Das Gerät kann eine Rauschfilterung durchführen. |
|
Das Gerät kann eine Detailfilterung durchführen. |
|
Das Gerät kann eine konstante Alphamischung mit dem gesamten Videostream durchführen, wenn es den Videostream und die Teilstreams kombiniert. |
|
Das Gerät kann eine genaue lineare RGB-Skalierung durchführen, anstatt sie im nichtlinearen Gammabereich auszuführen. |
|
Das Gerät kann das Bild korrigieren, um Artefakte zu kompensieren, die beim Skalieren im nichtlinearen Gammabereich eingeführt werden. |
|
Der Deinterlacingalgorithmus behält die ursprünglichen Feldlinien aus dem Interlaced-Feldbild bei, es sei denn, die Skalierung wird ebenfalls angewendet.
Beispielsweise kopiert das Gerät bei Deinterlacingalgorithmen wie bob- und Medianfilterung das ursprüngliche Feld in jede andere Scanzeile und wendet dann einen Filter an, um die fehlenden Scanzeilen zu rekonstruieren. Daher kann das ursprüngliche Feld wiederhergestellt werden, indem die scan-Zeilen verworfen werden, die interpoliert wurden. Wenn das Bild jedoch vertikal skaliert wird, können die ursprünglichen Feldlinien nicht wiederhergestellt werden. Wenn das Bild horizontal (aber nicht vertikal) skaliert wird, entsprechen die resultierenden Feldlinien dem Skalieren des ursprünglichen Feldbilds. (Anders ausgedrückt: Das Verwerfen der interpolierten Scanlinien führt zu demselben Ergebnis wie das Strecken des originalen Bilds ohne Deinterlacing.) |
NoiseFilterTechnology
Gibt die unterstützten Rauschfilter an. Der Wert ist ein bitweises OR der folgenden Flags.
DetailFilterTechnology
Gibt die unterstützten Detailfilter an. Der Wert ist ein bitweises OR der folgenden Flags.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Kopfzeile | dxva2api.h |
Weitere Informationen
IDirectXVideoProcessor::GetVideoProcessorCaps
IDirectXVideoProcessorService::GetVideoProcessorCaps