如同任何核心串流驅動程式,AV/C 串流子單位驅動程式會使用格式 GUID 指定每個針腳所支援的資料格式範圍。 然後,核心串流應用程式會使用這些格式 GUID 來執行特定資料格式的資料範圍交集。 The result is a filled-in KSDATAFORMAT structure. AVStream 中的資料範圍交集會進一步說明資料交集。
KSDATAFORMAT 結構會指定其主要格式、格式子類型和指定元的 GUID。 指定元會指定記憶體中 KSDATAFORMAT 結構之後的擴充資料結構。 例如,假設資料格式的主要格式為 KSDATAFORMAT_TYPE_INTERLEAVED、格式子類型為 KSDATAFORMAT_SUBTYPE_DVSD,規格元為 KSDATAFORMAT_SPECIFIER_DVINFO。 In this case, the extended-data structure is the DVINFO structure.
The avcstrm.h header file defines the following streaming format GUIDs:
| GUID | Description |
|---|---|
| KSDATAFORMAT_TYPE_INTERLEAVED | 指定交錯的音訊和視訊訊號。 任何包含音訊的視訊資料流程都應該將此 GUID 指定為資料流程的類型。 |
| KSDATAFORMAT_TYPE_MPEG2_TRANSPORT_STRIDE | 指定偏離正常 188 位元組 MPEG2 封包大小的 MPEG2 資料流程類型。 KSDATAFORMAT_TYPE_MPEG2_TRANSPORT_STRIDE類型與符合 IEC 61883-4 規格的串流搭配使用。 These streams use the MPEG2_TRANSPORT_STRIDE structure that allows for the stream to describe the format that is different than the typical 188 byte packet. 例如,MPEG2_TRANSPORT_STRIDE的 dwOffset 成員會設定為 4,dwPacketLength 成員會設定為 188,並將 dwStride 成員設定為 192。 |
| KSDATAFORMAT_SUBTYPE_DVSD | 指定 IEC 61883-2 標清 25 Mbps DV 訊號,該訊號對 NTSC 訊號使用 4:1:1 取樣結構,或對 PAL 訊號使用 4:2:0 取樣結構。 此格式子類型會使用 DVINFO 結構作為資料格式的擴充資料結構。 |
| KSDATAFORMAT_SUBTYPE_DVSL | 指定 IEC 61883-3 長播放 12.5 Mbps DVSD 訊號,其線數與 NTSC 或 PAL 訊號相同,但實作更高的壓縮比。 此格式子類型會使用 DVINFO 結構作為資料格式的擴充資料結構。 |
| KSDATAFORMAT_SUBTYPE_DVHD | 指定 IEC 61883-3 高清 DV 信號,例如 1125 線 60 Hz NTSC 信號或 1250 線 50 Hz PAL 信號。 目前不支援此格式子類型。 |
| KSDATAFORMAT_SUBTYPE_DV25 | 指定 SMPTE 314M 25-Mbps DVCPRO 視訊訊號,對 NTSC 和 PAL 訊號使用 4:1:1 取樣結構。 此格式子類型會使用 DVINFO 結構作為資料格式的擴充資料結構。 |
| KSDATAFORMAT_SUBTYPE_DV50 | 指定 SMPTE 314M 50 Mbps DVCPRO50 視訊訊號,該訊號對 NTSC 和 PAL 訊號使用 4:2:2 取樣結構。 此格式子類型會使用 DVINFO 結構作為資料格式的擴充資料結構。 |
| KSDATAFORMAT_SUBTYPE_DVH1 | 指定 SMPTE 370M 100-Mbps 高清 DV 視訊訊號,例如 720p(逐行)或 1080i(隔行掃描)訊號。 此格式子類型會使用 DVINFO 結構作為資料格式的擴充資料結構。 |
| KSDATAFORMAT_SPECIFIER_DVINFO | 將 DVINFO 結構指定為記憶體中 KSDATAFORMAT 之後的擴充資料結構。 |
| KSDATAFORMAT_SPECIFIER_DV_AVC | 將 DVINFO 和 AVCCONNECTINFO 結構指定為記憶體中 KSDATAFORMAT 之後的擴充資料結構。 |
| KSDATAFORMAT_SPECIFIER_AVC | 將 AVCCONNECTINFO 結構指定為記憶體中 KSDATAFORMAT 之後的擴充資料結構。 此指定元也可以與MPEG2TS格式搭配使用,視格式的子類型而定。 |
| KSDATAFORMAT_SPECIFIER_61883_4 | 指定遵循 IEC 61883-4 通訊協定的 MPEG2-TS 格式。 此指定元不會使用任何擴充資料結構來遵循記憶體中的 KSDATAFORMAT。 |
Comments
Avcstrm.sys and Msdv.sys support the KSDATAFORMAT_SUBTYPE_DV25, KSDATAFORMAT_SUBTYPE_DV50 and KSDATAFORMAT_SUBTYPE_DVH1 format subtypes in Windows Vista, Windows Server 2003 with Service Pack 1 (SP1), and Windows XP with Service Pack 2 (SP2) operating systems.
請注意,KSDATAFORMAT_SUBTYPE_DVSD 和 KSDATAFORMAT_SUBTYPE_DV25 格式子類型使用 NTSC 的 4:1:1 取樣相容。 但是,PAL 格式的KSDATAFORMAT_SUBTYPE_DV25使用 4:1:1 採樣,但 PAL 格式的KSDATAFORMAT_SUBTYPE_DVSD使用 4:2:0 採樣,因此 DVSD 和 DV25 之間存在區別。
子單位驅動程式會透過其格式子類型及其擴充資料結構的組合來指出框架大小 (樣本大小) 。 例如,KSDATAFORMAT_SUBTYPE_DVSD 格式子類型與 DVINFO 擴充資料結構中設定的 NTSC 位的組合,指出 DV 畫面大小為 120 KB。
The KSDATAFORMAT structure contains a FormatSize member that is used to validate the extended-data structure size. 也就是說,在有效的擴充資料結構大小中,FormatSize 等於 sizeof (KSDATAFORMAT) + sizeof (擴充資料結構) 。
下表描述 KS 資料格式指定元 GUID 及其對應的擴充資料結構。
| KS 資料格式指定元 | Extended-data structure |
|---|---|
| KSDATAFORMAT_SPECIFIER_DVINFO | DVINFO |
| KSDATAFORMAT_SPECIFIER_DV_AVC | DVINFO and AVCCONNECTINFO |
| KSDATAFORMAT_SPECIFIER_AVC | AVCCONNECTINFO |
| KSDATAFORMAT_SPECIFIER_61883_4 | 未使用擴充數據結構 |
Microsoft Corporation introduced the msdv.sys subunit driver with Windows 98 SE. 此驅動程式支援大多數 MiniDV 攝影機在相機模式和 VTR(錄影機)模式下。
Microsoft Corporation introduced the mstape.sys tape subunit driver with Windows Me. 此驅動程式支援 D-VHS 磁帶機和 MPEG 攝像機裝置。
Note
Microsoft 不提供支援 DVCPro 格式解碼的編解碼器。