KS_VIDEO_STREAM_CONFIG_CAPS-Struktur (ksmedia.h)
Die KS_VIDEO_STREAM_CONFIG_CAPS-Struktur beschreibt die Konfiguration und die Funktionen eines Videostreams, einschließlich analoger Videostandard (z. B. NTSC, PAL oder SECAM), Skalierungs- und Zuschneidefunktionen. minimale und maximale Bildfrequenz; 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;
Member
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 mit der DirectShow-AM_MEDIA_TYPE-Enumeration identisch. Weitere Informationen zu AM_MEDIA_TYPE finden Sie in der DirectX SDK-Dokumentation.
VideoStandard
Gibt die analogen Videostandards an, die vom Stream unterstützt werden. Dieser Member kann auf einen oder mehrere (logisch ORed)-Werte aus der KS_AnalogVideoStandard-Enumeration 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, dass der Filter digitalisieren kann, wobei jedes Pixel eindeutig bleibt.
MinCroppingSize
Gibt das kleinste zulässige Zuschneiderechteck an, wie im rcSource-Element der KS_VIDEOINFOHEADER-Struktur angegeben, die dem DataRange-Element zugeordnet ist.
MaxCroppingSize
Gibt das größte zulässige Zuschneiderechteck an, wie im rcSource-Element der KS_VIDEOINFOHEADER-Struktur angegeben, die dem DataRange-Element zugeordnet ist.
CropGranularityX
Gibt die horizontale Granularität der Zuschneidegröße an. Beispielsweise können gültige Breiten als gerade Vielfache von vier angegeben werden.
CropGranularityY
Gibt die vertikale Granularität der Zuschneidegröße an. Beispielsweise können gültige Höhen als gerade Vielfache von vier angegeben werden.
CropAlignX
Gibt die horizontale Ausrichtung des Zuschneiderechtecks in InputSize an. Der Minidriver könnte beispielsweise angeben, dass gültige Rechtecke an einer Grenze beginnen müssen, die ein Vielfaches von vier ist.
CropAlignY
Gibt die vertikale Ausrichtung des Zuschneiderechtecks in InputSize an. Der Minidriver könnte beispielsweise angeben, dass gültige Rechtecke an 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 Ausgabebitbitbitbreite an.
OutputGranularityY
Gibt die Granularität der Ausgabebitbitbithöhe 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 eine Dehnung zu erreichen. |
2 | Der Filter verwendet Interpolation (2 Taps). |
3 | Der Filter verwendet eine höherwertige (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 eine Dehnung zu erreichen. |
2 | Der Filter verwendet Interpolation (2 Taps). |
3 | Der Filter verwendet eine höherwertige (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 Zeilen von Pixeln, um eine Verkleinerung zu erreichen. |
2 | Der Filter verwendet Interpolation (2 Taps). |
3 | Der Filter verwendet eine höherwertige (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 | Der Filter entfernt einige Spalten von Pixeln, um eine Verkleinerung zu erzielen. |
2 | Der Filter verwendet Interpolation (2 Taps). |
3 | Der Filter verwendet eine höherwertige (glattere) Form der Interpolation. |
MinFrameInterval
Gibt die zulässige Mindestbildrate an. Dieser Wert gilt nur für Erfassungsfilter.
MaxFrameInterval
Gibt die maximal zulässige Bildfrequenz an. Dieser Wert gilt nur für Erfassungsfilter.
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.
Hinweise
Die KS_VIDEO_STREAM_CONFIG_CAPS-Struktur ist mit der DirectShow-VIDEO_STREAM_CONFIG_CAPS-Struktur identisch.
Es ist wichtig, die Beziehungen zwischen den Membern dieser Struktur zu verstehen. Nehmen Wir beispielsweise die folgenden Werte für einige der Strukturmber an:
MinCroppingSize = (160, 120)
MaxCroppingSize = (320, 240)
CropGranularityX = 4
CropGranularityY = 8
Diese Werte geben an, dass gültige Zuschneidegrößen bei MinCroppingSize beginnen und in Schritten in x-Richtung durch CropGranularityX und in y-Richtung durch CropGranularityY erhöht werden. In diesem Fall kann der x-Wert zwischen 160 und 320 Pixeln in Schritten von 4 und der y-Wert zwischen 120 und 240 Pixeln in Schritten von 8 betragen.
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 geben an, wo sich das Zuschneiderecht innerhalb des Eingabegrößenrechtecks befinden kann. Bei einem Zuschneiderecht mit 160 × 120 und einem Wert von 2 für CropAlignX und einem Wert von 4 für CropAlignY wären 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)
Für ein 320 × 240-Zuschneiderechteck und die gleichen Zuschneideausrichtungswerte (2, 4, 322, 244) ist ein Beispiel für die vielen gültigen Rechtecke.
Die oben erläuterten Elemente MinCroppingSize, MaxCroppingSize, CropGranularityX, CropGranularityY, CropAlignX und CropAlignY geben zusammen, um anzugeben, welche Werte von rcSource für die KS_VIDEOINFOHEADER Struktur gültig sind, die den Medientyp der Ausgabenadel beschreibt. Die verbleibenden Strukturmember (MinOutputSize, MaxOutputSize, OutputGranularityX und OutputGranularityY) beschreiben die biWidth - und biHeight-Member der KS_BITMAPINFOHEADER-Struktur , die im Medientyp KS_VIDEOINFOHEADER Struktur des Pins enthalten ist.
Anforderungen
Anforderung | Wert |
---|---|
Header | ksmedia.h (include Ksmedia.h) |