MSDV 驱动程序中的 DVINFO 字段设置

[与此页面关联的功能(DirectShow)是一项旧功能。 它已被 MediaPlayerIMFMediaEngine取代,并在媒体基金会 音频/视频捕获。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia 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 格式列出的值。

 

在 DirectShow 数字视频

AVI 文件格式 DV 数据

MSDV 驱动程序