Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die KS_VIDEO_STREAM_CONFIG_CAPS Struktur beschreibt die Konfiguration und Funktionen eines Videostreams, einschließlich analoger Videostandard (z. B. NTSC, PAL oder SECAM), Skalierungs- und Zuschneidefunktionen; mindeste und maximale Bildfrequenzen; und minimale und maximale Datenraten.
Syntax
typedef struct _KS_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;
} KS_VIDEO_STREAM_CONFIG_CAPS, *PKS_VIDEO_STREAM_CONFIG_CAPS;
Angehörige
guid
GUID, die den Videoformattyp angibt. Mögliche Werte sind:
KSDATAFORMAT_SPECIFIER_VIDEOINFO
KSDATAFORMAT_SPECIFIER_VIDEOINFO2
KSDATAFORMAT_SPECIFIER_ANALOGVIDEO
KSDATAFORMAT_SPECIFIER_VBI
KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO
KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO
Diese GUID ist identisch mit der DirectShow-AM_MEDIA_TYPE-Aufzählung. Weitere Informationen zu AM_MEDIA_TYPE finden Sie in der DirectX SDK-Dokumentation.
VideoStandard
Gibt die analogen Videostandards an, die vom Datenstrom unterstützt werden. Dieses Element kann aus der KS_AnalogVideoStandard-Aufzählung auf mindestens einen (logischen ORed)-Wert festgelegt werden.
InputSize
Gibt die Größe des eingehenden Signals an. InputSize- gibt die Breite und Höhe des Bildrechtecks in Pixel an. Dies ist das größte Signal, das der Filter digitalisieren kann, wobei jedes Pixel eindeutig bleibt.
MinCroppingSize
Gibt das kleinste zuschneidende Rechteck an, wie im rcSource Member der KS_VIDEOINFOHEADER-Struktur angegeben, das dem DataRange Member zugeordnet ist.
MaxCroppingSize
Gibt das größte zuschneidende Rechteck an, wie im rcSource Member der KS_VIDEOINFOHEADER-Struktur angegeben, das dem DataRange-Element zugeordnet ist.
CropGranularityX
Gibt die horizontale Granularität der Zuschneidegröße an. Beispielsweise können gültige Breiten als sogar Vielfache von vier angegeben werden.
CropGranularityY
Gibt die vertikale Granularität der Zuschneidegröße an. Beispielsweise können gültige Höhen als sogar Vielfache von vier angegeben werden.
CropAlignX
Gibt die horizontale Ausrichtung des Zuschneiderechtecks innerhalb InputSize-an. Beispielsweise könnte der Minidriver angeben, dass gültige Rechtecke auf einer Grenze beginnen müssen, die ein Vielfaches von vier ist.
CropAlignY
Gibt die vertikale Ausrichtung des Zuschneiderechtecks innerhalb InputSize-an. Beispielsweise könnte der Minidriver angeben, dass gültige Rechtecke auf einer Grenze beginnen müssen, die ein Vielfaches von vier ist.
MinOutputSize
Gibt die kleinste Bitmap an, die dieser Pin erzeugen kann.
MaxOutputSize
Gibt die größte Bitmap an, die dieser Pin erzeugen kann.
OutputGranularityX
Gibt die Granularität der Bitmapbreite der Ausgabe an.
OutputGranularityY
Gibt die Granularität der Höhe der Ausgabebitmap an.
StretchTapsX
Gibt einen der folgenden Werte an, um anzugeben, wie gut der Filter die Breite des Bilds strecken kann.
Wert | Bedeutung |
---|---|
0 | Der Filter kann nicht gestreckt werden. |
1 | Der Filter verwendet die Pixelverdopplung, um Dehnen zu erzielen. |
2 | Der Filter verwendet Interpolation (2 Tippen). |
3 | Der Filter verwendet eine höhere (glattere) Form der Interpolation. |
StretchTapsY
Gibt einen der folgenden Werte an, um anzugeben, wie gut der Filter die Höhe des Bilds strecken kann.
Wert | Bedeutung |
---|---|
0 | Der Filter kann nicht gestreckt werden. |
1 | Der Filter verwendet die Pixelverdopplung, um Dehnen zu erzielen. |
2 | Der Filter verwendet Interpolation (2 Tippen). |
3 | Der Filter verwendet eine höhere (glattere) Form der Interpolation. |
ShrinkTapsX
Gibt einen der folgenden Werte an, um anzugeben, wie gut der Filter die Breite des Bilds verkleinern kann.
Wert | Bedeutung |
---|---|
0 | Der Filter kann nicht verkleinern. |
1 | Der Filter entfernt einige Pixelzeilen, um eine Verkleinerung zu erzielen. |
2 | Der Filter verwendet Interpolation (2 Tippen). |
3 | Der Filter verwendet eine höhere (glattere) Form der Interpolation. |
ShrinkTapsY
Gibt einen der folgenden Werte an, um anzugeben, wie gut der Filter die Höhe des Bilds verkleinern kann.
Wert | Bedeutung |
---|---|
0 | Der Filter kann nicht verkleinern. |
1 | Durch den Filter werden einige Pixelspalten entfernt, um eine Verkleinerung zu erzielen. |
2 | Der Filter verwendet Interpolation (2 Tippen). |
3 | Der Filter verwendet eine höhere (glattere) Form der Interpolation. |
MinFrameInterval
Gibt die zulässige Mindestframerate an. Dieser Wert gilt nur für Aufnahmefilter.
MaxFrameInterval
Gibt die maximal zulässige Framerate an. Dieser Wert gilt nur für Aufnahmefilter.
MinBitsPerSecond
Gibt die minimale Datenrate in Bits pro Sekunde an, die dieser Pin erzeugen kann.
MaxBitsPerSecond
Gibt die maximale Datenrate in Bits pro Sekunde an, die dieser Pin erzeugen kann.
Bemerkungen
Die KS_VIDEO_STREAM_CONFIG_CAPS Struktur ist identisch mit der DirectShow-VIDEO_STREAM_CONFIG_CAPS-Struktur.
Es ist wichtig, die Beziehungen zwischen den Mitgliedern dieser Struktur zu verstehen. Gehen Sie beispielsweise von den folgenden Werten für einige der Strukturmmber aus:
MinCroppingSize = (160, 120)
MaxCroppingSize = (320, 240)
CropGranularityX = 4
CropGranularityY = 8
Diese Werte geben an, dass gültige Zuschneidegrößen bei MinCroppingSize- beginnen und die Schritte in der x-Richtung um CropGranularityX- und in der y-Richtung um CropGranularityY. In diesem Fall kann der x-Wert zwischen 160 und 320 Pixeln in Schritt 4 und der y-Wert in Schritt 120 bis 240 Pixel in Schritt 8 sein.
Im Beispielszenario sind einige der gültigen Größen:
160 × 120, 164 × 120, 168 × 120, 172 × 120 usw.
160 × 128, 164 × 128, 168 × 128, 172 × 128 usw.
160 × 136, 164 × 136, 168 × 136, 172 × 136 usw.
CropAlignX- und CropAlignY- angeben, wo sich das Zuschneiderechteck innerhalb des Eingabegrößenrechtecks befinden kann. Bei einem 160 × 120 zuschneidenden Rechteck und einem Wert von 2 für CropAlignX- und einem Wert von 4 für CropAlignY-sind einige der gültigen Werte für das rcSource Member der KS_VIDEOINFOHEADER Struktur:
(0, 0, 160, 120)
(2, 0, 162, 120)
(2, 4, 162, 124)
(2, 8, 162, 128)
Bei einem 320-× 240 Zuschneiderechteck und denselben Zuschneideausrichtungswerten (2, 4, 322, 244) ist ein Beispiel für die vielen gültigen Rechtecke.
Die MinCroppingSize, MaxCroppingSize, CropGranularityX, CropGranularityY, CropAlignXund CropAlignY oben beschriebenen Member arbeiten zusammen, um anzugeben, welche Werte rcSource- für die KS_VIDEOINFOHEADER-Struktur gültig sind, die den Medientyp der Ausgabehefte beschreibt. Die verbleibenden Strukturmmber (MinOutputSize, MaxOutputSize, OutputGranularityXund OutputGranularityY) beschreiben die biWidth und biHeight Member der KS_BITMAPINFOHEADER Struktur, die in der Medientyp-KS_VIDEOINFOHEADER Struktur des Pins enthalten ist.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ksmedia.h (enthalten Ksmedia.h) |