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)

Weitere Informationen

KS_AnalogVideoStandard

KS_BITMAPINFOHEADER

KS_VIDEOINFOHEADER