視訊擷取裝置可以擷取數種不同的格式來擷取視訊。 KSDATARANGE 結構可用來傳達特定色彩空間之寬度、高度、粒度、裁剪和幀速率的相關信息。 KS_DATARANGE_VIDEO和KS_DATARANGE_VIDEO2結構是 KSDATARANGE 結構的延伸,而且應該用於描述視訊擷取格式。 使用KS_DATARANGE_VIDEO僅描述視訊畫面。 使用KS_DATARANGE_VIDEO2來描述視訊字段和視訊畫面,不論是否具有bob或交錯設定。
選取數據流格式的程式稱為 執行數據交集。 Stream 類別介面會將 SRB_GET_DATA_INTERSECTION 請求傳送到 Stream 類別的 minidriver,以執行資料交集操作。 minidriver 負責判斷所要求的數據範圍有效性,然後從提供的數據範圍選取特定數據流格式,通常是使用 KS_DATAFORMAT_VIDEOINFOHEADER 或 KS_DATAFORMAT_VIDEOINFOHEADER2 結構。
最後,minidriver 必須設定所產生格式的特定成員,如下所示:
.
.
.
// 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);
.
.