MSDV 驱动程序中的 DVINFO 字段设置
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
本部分介绍 MSDV 驱动程序如何填充 DVINFO 结构。
结构 DVINFO
定义 MSDV 和其他筛选器之间的引脚连接的格式块。 默认情况下,从 DV 设备捕获时使用 DV 拆分器筛选器,在传输到设备时使用 DV 复用器筛选器。 但是,应用程序可能会提供自己的自定义筛选器,因此了解 MSDV 如何填充 DVINFO
格式块很有用。
结构 DVINFO
包含以下信息:
- 两个音频辅助 (AAUX) 源包,用于第一个和第二个音频块。
- 两个 AAUX 源代码管理包,用于第一个和第二个音频块。
- 视频辅助 (VAUX) 源包。
- VAUX 源代码管理包。
DV 流中的每个帧都包含 AAUX 和 VAUX 包。 但是, DVINFO
格式块是静态的,仅用于建立引脚连接。 MSDV 驱动程序连接时,它不会检查流中的任何 AAUX 或 VAUX 包。 相反,它根据 DV 设备的以下特征使用一组默认值:
- 设备是支持使用者格式 (DVCR) 还是专业格式 (DVCPRO)
- 信号类型
- 格式是 NTSC 还是 PAL。 (如果设备不报告此信息,MSDV 默认为 NTSC 设置)
流式处理开始后,用户模式筛选器(如 DV 拆分器)负责检查每个 DV 帧的实际内容。 由于信息可能会因帧而变化,因此筛选器可能需要执行动态格式更改。 例如,如果音频速率发生更改,筛选器可能需要重新协商音频类型。
如果捕获类型 1 DV 文件,结构 DVINFO
将作为流格式写入文件, ('strf') 区块。 此数据直接取自 MSDV 提供的格式块。 如前所述,流的实际内容可能不同。 应用程序负责检查每个帧中的 AAUX 和 VAUX 包。
在以下主题中,可以找到列出 MSDV 使用的所有字段的表。
阅读这些表时,请参阅以下规范:
- IEC 61834
- SMPTE 314M
- SMPTE 370
在每个表中,第一列提供字段代码,后跟括号 () 位数。 其余列提供字段值。 许多 AAUX 和 VAUX 字段与引脚连接无关,在这种情况下,MSDV 设置一个虚拟值。 每个表的底部列出了整个包的数值。
每个表后面的注释提供了有关所选字段的详细信息。 有关完整说明,请参阅规范。 此外,某些字段在 SMPTE 314M/SMPTE 370 中的含义与 IEC 61834 中的含义不同。
注意
目前,DirectShow 不支持 DVCPRO 格式。 为 DVCPRO 格式列出的值已定义以供将来使用。
相关主题