VIDEO_STREAM_CONFIG_CAPS-Struktur (strmif.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Die VIDEO_STREAM_CONFIG_CAPS-Struktur beschreibt eine Reihe von Videoformaten. Videokomprimierungs- und Videoaufnahmefilter verwenden diese Struktur, um zu beschreiben, welche Formate sie erzeugen können.
- guid
- VideoStandard
- MinFrameInterval
- MaxFrameInterval
Syntax
typedef struct _VIDEO_STREAM_CONFIG_CAPS {
GUID guid;
ULONG VideoStandard;
SIZE InputSize;
SIZE MinCroppingSize;
SIZE MaxCroppingSize;
int CropGranularityX;
int CropGranularityY;
int CropAlignX;
int CropAlignY;
SIZE MinOutputSize;
SIZE MaxOutputSize;
int OutputGranularityX;
int OutputGranularityY;
int StretchTapsX;
int StretchTapsY;
int ShrinkTapsX;
int ShrinkTapsY;
LONGLONG MinFrameInterval;
LONGLONG MaxFrameInterval;
LONG MinBitsPerSecond;
LONG MaxBitsPerSecond;
} VIDEO_STREAM_CONFIG_CAPS;
Member
guid
GUID , die den Formattyp identifiziert. Beispiel: FORMAT_VideoInfo oder FORMAT_VideoInfo2. Weitere Informationen finden Sie im Formattypelement der AM_MEDIA_TYPE-Struktur .
VideoStandard
Der unterstützte analoge Videostandard. Der Wert ist eine bitweise Kombination von Flags aus dem AnalogVideoStandard-Enumerationstyp (null).
InputSize
Native Größe des eingehenden Videosignals. Bei einem Kompressor wird die Größe vom Eingabestift übernommen. Bei einem Aufnahmefilter ist die Größe das größte Signal, das der Filter digitalisieren kann, wobei jedes Pixel eindeutig bleibt.
MinCroppingSize
Kleinstes zulässiges Quellrechteck. Das Quellrechteck wird im rcSource-Member der VIDEOINFOHEADER - oder VIDEOINFOHEADER2-Struktur definiert.
MaxCroppingSize
Größtes zulässiges Quellrechteck.
CropGranularityX
Horizontale Granularität des Quellrechtecks. Dieser Wert gibt die Inkremente an, die zwischen MinCroppingSize und MaxCroppingSize gültig sind.
CropGranularityY
Vertikale Granularität des Quellrechtecks. Dieser Wert gibt die Inkremente an, die zwischen MinCroppingSize und MaxCroppingSize gültig sind.
CropAlignX
Erforderliche horizontale Ausrichtung des Quellrechtecks.
CropAlignY
Erforderliche vertikale Ausrichtung des Quellrechtecks.
MinOutputSize
Minimale Ausgabegröße.
MaxOutputSize
Maximale Ausgabegröße.
OutputGranularityX
Granularität der Ausgabebreite. Dieser Wert gibt die Inkremente an, die zwischen MinOutputSize und MaxOutputSize gültig sind.
OutputGranularityY
Granularität der Ausgabehöhe. Dieser Wert gibt die Inkremente an, die zwischen MinOutputSize und MaxOutputSize gültig sind.
StretchTapsX
Gibt an, wie gut der Filter das Bild horizontal strecken kann.
StretchTapsY
Gibt an, wie gut der Filter das Bild vertikal strecken kann.
ShrinkTapsX
Gibt an, wie gut der Filter das Bild horizontal verkleinern kann.
ShrinkTapsY
Gibt an, wie gut der Filter das Bild vertikal verkleinern kann.
MinFrameInterval
Die minimale Framedauer in Einheiten von 100 Nanosekunden. Dieser Wert gilt nur für Erfassungsfilter.
MaxFrameInterval
Die maximale Framedauer in Einheiten von 100 Nanosekunden. Dieser Wert gilt nur für Erfassungsfilter.
MinBitsPerSecond
Minimale Datenrate, die dieser Pin erzeugen kann.
MaxBitsPerSecond
Maximale Datenrate, die dieser Pin erzeugen kann.
Bemerkungen
Die IAMStreamConfig::GetStreamCaps-Methode gibt diese Struktur zurück. Eine Anwendung kann diese Informationen verwenden, um das Ausgabeformat für einen Videokomprimierungsfilter oder einen Videoaufnahmefilter zu ändern.
Angenommen, der Filter gibt die folgenden Werte für das Quellrechteck zurück:
- MinCroppingSize = (160, 120)
- MaxCroppingSize = (320, 240)
- CropGranularityX = 4
- CropGranularityY = 8
- CropAlignX = 2
- CropAlignY = 4
Die Elemente CropAlignX und CropAlignY definieren, wo sich die obere linke Ecke des Quellrechtecks befinden kann. Beispielsweise sind die folgenden Rechtecke bei den vorherigen Werten gültig:
- (0, 0, 160, 120)
- (2, 0, 162, 120)
- (2, 8, 162, 128)
Für Erfassungsfilter definieren die Member MinFrameInterval und MaxFrameInterval die minimale und maximale Dauer jedes Frames, wie im AvgTimePerFrame-Element der VIDEOINFOHEADER - oder VIDEOINFOHEADER2-Struktur angegeben. Der Filter unterstützt möglicherweise nicht jede Bildfrequenz, die zwischen diesen beiden Werten liegt. Die IAMStreamConfig::SetFormat-Methode legt die Framerate auf den nächstgelegenen Wert fest, den der Filter unterstützt. Wenn SetFormat erfolgreich ist, rufen Sie IAMStreamConfig::GetFormat auf, um die tatsächliche Bildrate zu bestimmen.
Requirements (Anforderungen)
Kopfzeile | strmif.h (include Dshow.h) |