Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Videoaufzeichnungsgeräte können Videos in verschiedenen Formaten aufnehmen. Die KSDATARANGE-Struktur wird verwendet, um Informationen zu Breite, Höhe, Granularität, Zuschneiden und Bildraten für einen bestimmten Farbraum zu übermitteln. Die Strukturen KS_DATARANGE_VIDEO und KS_DATARANGE_VIDEO2 sind Erweiterungen der KSDATARANGE-Struktur und sollten zum Beschreiben von Videoaufnahmeformaten verwendet werden. Verwenden Sie KS_DATARANGE_VIDEO, um nur Videoframes zu beschreiben. Verwenden Sie KS_DATARANGE_VIDEO2, um Videofelder und Videoframes mit oder ohne Bob- oder Webeinstellungen zu beschreiben.
Der Prozess der Auswahl eines Datenstromformats wird als Ausführen einer Datenschnittmenge bezeichnet. Die Stream-Klassenschnittstelle sendet eine SRB_GET_DATA_INTERSECTION Anforderung an einen Stream-Klassenminidriver, um eine Datenüberschneidung durchzuführen. Der Minidriver bestimmt die Gültigkeit des angeforderten Datenbereichs und wählt dann ein bestimmtes Datenstromformat aus dem angegebenen Datenbereich aus, wobei normalerweise KS_DATAFORMAT_VIDEOINFOHEADER - oder KS_DATAFORMAT_VIDEOINFOHEADER2-Strukturen verwendet werden.
Schließlich muss der Minidriver bestimmte Elemente des resultierenden Formats wie unten gezeigt festlegen:
.
.
.
// Calculate biSizeImage for this request, and put the result in both
// the biSizeImage field of the bmiHeader AND in the SampleSize field
// of the DataFormat.
//
// Note that for compressed sizes, this calculation will probably not
// be just width * height * bitdepth
DataFormatVideoInfoHeaderOut->VideoInfoHeader.bmiHeader.biSizeImage =
DataFormatVideoInfoHeaderOut->DataFormat.SampleSize =
KS_DIBSIZE(DataFormatVideoInfoHeaderOut->VideoInfoHeader.bmiHeader);
.
.