AV/C 流式处理格式 GUID

与任何内核流式处理驱动程序一样,AV/C 流式处理子单元驱动程序使用格式 GUID 为每个引脚指定它支持的数据格式范围。 然后,内核流式处理应用程序使用这些格式 GUID 为特定数据格式执行数据范围交集。 结果是填充的 KSDATAFORMAT 结构。 AVStream 中的数据范围交集中进一步介绍了数据交集。

KSDATAFORMAT 结构为其主要格式、格式子类型和说明符指定 GUID。 说明符指定内存中 KSDATAFORMAT 结构后面的扩展数据结构。 例如,假设数据格式的主要格式为 KSDATAFORMAT_TYPE_INTERLEAVED,格式子类型为 KSDATAFORMAT_SUBTYPE_DVSD,说明符为 KSDATAFORMAT_SPECIFIER_DVINFO。 在这种情况下,扩展数据结构是 DVINFO 结构。

avcstrm.h 头文件定义以下流式处理格式 GUID:

GUID 描述
KSDATAFORMAT_TYPE_INTERLEAVED 指定交错的音频和视频信号。 任何包含音频的视频流都应将此 GUID 指定为流的类型。
KSDATAFORMAT_TYPE_MPEG2_TRANSPORT_STRIDE 指定偏离正常 188 字节 MPEG2 数据包大小的 MPEG2 流类型。 KSDATAFORMAT_TYPE_MPEG2_TRANSPORT_STRIDE类型与符合 IEC 61883-4 规范的流一起使用。 这些流使用 MPEG2_TRANSPORT_STRIDE 结构,该结构允许流描述不同于典型 188 字节数据包的格式。 例如,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。

注释

Avcstrm.sysMsdv.sys 支持 Windows Vista 中的KSDATAFORMAT_SUBTYPE_DV25、KSDATAFORMAT_SUBTYPE_DV50和KSDATAFORMAT_SUBTYPE_DVH1格式子类型、Windows Server 2003 service Pack 1 (SP1) 以及 Windows XP with Service Pack 2 (SP2) 操作系统。

请注意,KSDATAFORMAT_SUBTYPE_DVSD和KSDATAFORMAT_SUBTYPE_DV25格式子类型使用 NTSC 的 4:1:1 采样兼容。 但是,PAL 格式的KSDATAFORMAT_SUBTYPE_DV25使用 4:1:1 采样,但 PAL 格式的KSDATAFORMAT_SUBTYPE_DVSD使用 4:2:0 采样,从而区分 DVDSD 和 DV25。

子单位驱动程序指示其格式子类型和扩展数据结构组合) 的帧大小 (样本大小。 例如,KSDATAFORMAT_SUBTYPE_DVSD格式子类型和 DVINFO 扩展数据结构中设置的 NTSC 位的组合表示 DV 帧大小为 120 KB。

KSDATAFORMAT 结构包含用于验证扩展数据结构大小的 FormatSize 成员。 也就是说,在有效的扩展数据结构大小中,FormatSize 等于 (KSDATAFORMAT) + sizeof (extended-data structure (s) ) 。

下表描述了 KS 数据格式说明符 GUID 及其相应的扩展数据结构。

KS 数据格式说明符 Extended-data 结构
KSDATAFORMAT_SPECIFIER_DVINFO DVINFO
KSDATAFORMAT_SPECIFIER_DV_AVC DVINFOAVCCONNECTINFO
KSDATAFORMAT_SPECIFIER_AVC AVCCONNECTINFO
KSDATAFORMAT_SPECIFIER_61883_4 不使用扩展数据结构

Microsoft Corporation 在 Windows 98 SE 中引入了 msdv.sys 子单元驱动程序。 此驱动程序在相机模式和 VTR (视频磁带记录器) 模式下都支持大多数 MiniDV 摄像机。

Microsoft Corporation 在 Windows Me 中引入了 mstape.sys 磁带子单元驱动程序。 此驱动程序支持 D-VHS 磁带组和 MPEG 摄像机设备。

注意

Microsoft 不提供编解码器来支持 DVCPro 格式解码。