计算参数值

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

输入缓冲区可能非常大。 理想情况下,当 DMO 处理缓冲区时,参数将在整个数据批次中完全遵循其曲线。 但是,DMO 在计算这些值的方式方面有一定的余地。

  • 最准确的方法是计算每个原子单元数据的确切值;例如,每个音频示例。 此方法是计算成本最高的方法。
  • 另一种方法是将数据切片为一些固定大小的较小单位,例如 100 个样本。 此方法会产生“楼梯步进”效果。 对于某些参数,这可能是可以接受的。 在音频效果中,它可能会创建可听见的项目。
  • 折衷方案是使用以前的技术,但在每批中,为每个样本执行参数值的线性内插。

这些问题对于音频处理尤其重要。 一秒钟的音频每个通道可能包含 48,000 个音频样本,这是要执行的很多计算,但耳朵对伪像(如别名)很敏感。

媒体参数