Freigeben über


KS_VIDEO_STREAM_CONFIG_CAPS Struktur (ksmedia.h)

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)

Siehe auch

KS_AnalogVideoStandard

KS_BITMAPINFOHEADER

KS_VIDEOINFOHEADER