与任何内核流驱动程序一样,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 | 指定一个 MPEG2 流类型,该类型偏离正常的 188 字节 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 之间的区别。
子单元驱动程序通过格式子类型和扩展数据结构的组合来指示帧大小(样本大小)。 例如,DVINFO 扩展数据结构中KSDATAFORMAT_SUBTYPE_DVSD格式子类型和 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(extended-data structure(s))。
下表描述了 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. 此驱动程序支持相机模式和 VTR(视频录音机)模式下的大多数 MiniDV 摄像机。
Microsoft Corporation introduced the mstape.sys tape subunit driver with Windows Me. 此驱动程序支持 D-VHS 磁带甲板和 MPEG 摄像机设备。
Note
Microsoft不提供编解码器来支持 DVCPro 格式解码。