KS_VBI_FRAME_INFO Struktur (ksmedia.h)
Die KS_VBI_FRAME_INFO-Struktur erweitert die KSSTREAM_HEADER-Struktur für VBI-Datenströme (Vertical Blanking Interval).
Syntax
typedef struct tagKS_VBI_FRAME_INFO {
ULONG ExtendedHeaderSize;
DWORD dwFrameFlags;
LONGLONG PictureNumber;
LONGLONG DropCount;
DWORD dwSamplingFrequency;
KS_TVTUNER_CHANGE_INFO TvTunerChangeInfo;
KS_VBIINFOHEADER VBIInfoHeader;
} KS_VBI_FRAME_INFO, *PKS_VBI_FRAME_INFO;
Member
ExtendedHeaderSize
Gibt die Größe dieser Struktur an.
dwFrameFlags
Gibt Flags an, die zusätzliche Informationen zum erfassten Frame angeben. Während der Aufzeichnung legt der Minidriver diesen Member auf einen der folgenden Werte fest, die in ksmedia.h definiert sind:
Flag | Bedeutung |
---|---|
KS_VBI_FLAG_FIELD1 | Gibt das erste Feld einer Zweifeldsequenz an. |
KS_VBI_FLAG_FIELD2 | Gibt das zweite Feld einer Zweifeldsequenz an. |
KS_VBI_FLAG_MV_PRESENT | Gibt das Makrovision-Schutzschema an. |
KS_VBI_FLAG_MV_HARDWARE | Gibt die Unterstützung der Macrovision-Hardware an. |
KS_VBI_FLAG_MV_DETECTED | Gibt an, dass Macrovision erkannt wurde. |
KS_VBI_FLAG_TVTUNER_CHANGE | Gibt an, dass die TvTunerChangeInfo-Memberstruktur gültige Daten enthält. |
KS_VBI_FLAG_VBIINFOHEADER_CHANGE | Gibt an, dass die VBIInfoHeader-Memberstruktur gültige Daten enthält. |
PictureNumber
Gibt eine Anzahl an, die die aktuelle Bildnummer darstellt. Initialisieren oder aktualisieren Sie diesen Wert beim Übergang in KSSTATE_ACQUIRE.
DropCount
Gibt die Anzahl von Bildern an, die nicht erfasst wurden. Beim Aufzeichnen von Videos legt der Minidriver diesen Member fest. Dieser Indikator sollte immer dann erhöht werden, wenn ein Frame erfasst werden sollte, aber nicht. Diese Bedingung tritt normalerweise auf, wenn während der Erfassung keine Puffer verfügbar waren. Initialisieren oder aktualisieren Sie diesen Wert beim Übergang in KSSTATE_ACQUIRE.
dwSamplingFrequency
Gibt die Samplingfrequenz in Hertz (Hz) an.
TvTunerChangeInfo
Gibt Informationen zur aktuellen VBI-Datenquelle an, einschließlich Länder-/Regionscode, analogem Videostandard und Kanal. Dieser Member ist nur gültig, wenn dwFrameFlags das flag KS_VBI_FLAG_TVTUNER_CHANGE angibt.
VBIInfoHeader
Gibt Informationen zur aktuellen VBI-Datenquelle an, einschließlich Startzeile, Endzeile, Samplinghäufigkeit und Videostandard. Dieser Member ist nur gültig, wenn dwFrameFlags das KS_VBI_FLAG_VBIINFOHEADER_CHANGE-Flag angibt.
Hinweise
Die KS_VBI_FRAME_INFO-Struktur bietet eine Möglichkeit, Informationen zu einem erfassten Frame zurückzugeben und Optimierungsinformationen für VBI-Decoder bereitzustellen.
Die PictureNumber-Memberanzahl stellt die Anzahl des aktuellen Bilds basierend auf dem Format dar, das zum Öffnen des Datenstroms verwendet wird. Diese Anzahl wird je nach Gerät auf zwei Arten berechnet:
Messen Sie die Zeit seit dem Start des Datenstroms, und dividieren Sie durch die Framedauer. Diese Methode eignet sich für Geräte, die keine eigene Uhr bereitstellen. Beispiel: PictureNumber = (CurrentStreamTime − StartStreamTime) / FrameDuration
Fügen Sie die Anzahl der erfassten Frames und die Anzahl der gelöschten Frames hinzu. Diese Methode eignet sich für Geräte, die eine eigene Uhr bereitstellen. Beispiel: PictureNumber = FramesCaptured + FramesDropped
Bei der Berechnung von PictureNumber und DropCount ist es wichtig, die beim Öffnen des Datenstroms angegebene Framedauer zu verwenden, die möglicherweise nicht unbedingt mit der Rate übereinstimmt, mit der das Gerät tatsächlich Bilder erzeugt. Beispielsweise kann eine USB-Kamera nur Bilder mit 7,5 fps erzeugen, aber ein Client könnte den Stream mit 8 fps öffnen. In diesem Fall sollten alle Berechnungen die 8 fps-Zahl verwenden. Weitere Informationen zum Aktualisieren von PictureNumber und DropCount finden Sie unter Videoaufnahme.
Der dwSamplingFrequency-Member wird nicht von Microsoft VBI-Codecs verwendet, kann aber von anderen WDM-Codecs verwendet werden. Er muss mit dem VBIInfoHeader identisch sein. SamplingFrequency-Member . Ein Minidriver gibt eine Änderung der Stichprobenhäufigkeit an, indem das KS_VBI_FLAG_VBIINFOHEADER_CHANGE Bit im dwFrameFlags-Element festgelegt und alle Elemente, einschließlich dwSamplingFrequency, in der VBIInfoHeader-Struktur ausgefüllt werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | ksmedia.h (include Ksmedia.h) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für