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.

Hinweis Der Großteil dieser Struktur ist veraltet, mit Ausnahme der folgenden Strukturmember:
  • guid
  • VideoStandard
  • MinFrameInterval
  • MaxFrameInterval
Anwendungen können MinFrameInterval und MaxFrameInterval verwenden, um den Bereich der unterstützten Bildfrequenzen von einem Videoaufnahmegerät abzurufen. Anwendungen sollten die Verwendung anderer Member dieser Struktur vermeiden. Verwenden Sie stattdessen die AM_MEDIA_TYPE-Struktur , die von der IAMStreamConfig::GetFormat-Methode zurückgegeben wird.
 

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.

Hinweis Veraltet.
 

MinCroppingSize

Kleinstes zulässiges Quellrechteck. Das Quellrechteck wird im rcSource-Member der VIDEOINFOHEADER - oder VIDEOINFOHEADER2-Struktur definiert.

Hinweis Veraltet.
 

MaxCroppingSize

Größtes zulässiges Quellrechteck.

Hinweis Veraltet.
 

CropGranularityX

Horizontale Granularität des Quellrechtecks. Dieser Wert gibt die Inkremente an, die zwischen MinCroppingSize und MaxCroppingSize gültig sind.

Hinweis Veraltet.
 

CropGranularityY

Vertikale Granularität des Quellrechtecks. Dieser Wert gibt die Inkremente an, die zwischen MinCroppingSize und MaxCroppingSize gültig sind.

Hinweis Veraltet.
 

CropAlignX

Erforderliche horizontale Ausrichtung des Quellrechtecks.

Hinweis Veraltet.
 

CropAlignY

Erforderliche vertikale Ausrichtung des Quellrechtecks.

Hinweis Veraltet.
 

MinOutputSize

Minimale Ausgabegröße.

Hinweis Veraltet.
 

MaxOutputSize

Maximale Ausgabegröße.

Hinweis Veraltet.
 

OutputGranularityX

Granularität der Ausgabebreite. Dieser Wert gibt die Inkremente an, die zwischen MinOutputSize und MaxOutputSize gültig sind.

Hinweis Veraltet.
 

OutputGranularityY

Granularität der Ausgabehöhe. Dieser Wert gibt die Inkremente an, die zwischen MinOutputSize und MaxOutputSize gültig sind.

Hinweis Veraltet.
 

StretchTapsX

Gibt an, wie gut der Filter das Bild horizontal strecken kann.

Hinweis Veraltet.
 

StretchTapsY

Gibt an, wie gut der Filter das Bild vertikal strecken kann.

Hinweis Veraltet.
 

ShrinkTapsX

Gibt an, wie gut der Filter das Bild horizontal verkleinern kann.

Hinweis Veraltet.
 

ShrinkTapsY

Gibt an, wie gut der Filter das Bild vertikal verkleinern kann.

Hinweis Veraltet.
 
Die vorherigen vier Strukturmber verwenden die folgenden Werte:
Wert Bedeutung
0
Unterstützt keine Dehnung/Verkleinerung.
1
Verwendet die Pixelverdopplung (Dehnung) oder eliminiert Pixel (Verkleinerung)
2
Interpolation verwendet (2 Taps)
3 und höher
Interpolation verwendet (>2 Taps)

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.

Hinweis Veraltet.
 

MaxBitsPerSecond

Maximale Datenrate, die dieser Pin erzeugen kann.

Hinweis Veraltet.
 

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
Diese Zahlen definieren den Satz von Rechtecken, die für den rcSource-Member der VIDEOINFOHEADER - oder VIDEOINFOHEADER2-Struktur gültig sind. In diesem Beispiel ist das minimale Quellrechteck 160 Pixel breit x 120 Pixel hoch. Die Breite kann in Schritten von 4 Pixeln auf maximal 320 erhöht werden. Die Höhe kann in Schritten von 8 Pixeln auf maximal 240 Pixel erhöht werden. Mit anderen Worten, die gültigen Breiten sind 160, 164, 168 ... 320; und die gültigen Höhen sind 120, 128, 136 ... 240.

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)
Auf ähnliche Weise definieren die Member MinOutputSize, MaxOutputSize, OutputGranularityX und OutputGranularityY , welche Werte für die biWidth - und biHeight-Member der BITMAPINFOHEADER-Struktur unterstützt werden.

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)

Siehe auch

DirectShow-Strukturen