Поделиться через


Вычисление значений параметров

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Возможно, входной буфер может быть очень большим. В идеале, когда DMO обрабатывает буфер, параметры будут точно следовать их кривым во всем пакете данных. Однако DMO имеет некоторую свободу в том, как он вычисляет эти значения.

  • Наиболее точным подходом является вычисление точного значения для каждой атомарной единицы данных; например, каждый пример звука. Этот подход является самым ресурсоемким с точки зрения вычислений.
  • Другой подход заключается в том, чтобы разделить данные на меньшие единицы фиксированного размера, например на 100 выборок. При таком подходе создается эффект шаговой ступеней. Для некоторых параметров это может быть приемлемым. В звуковых эффектах он может создавать звуковые артефакты.
  • Компрометация заключается в использовании предыдущего метода, но в каждом пакете выполняется линейная интерполяция значения параметра для каждой выборки.

Эти проблемы особенно важны при обработке звука. Одна секунда аудио может содержать 48 000 звуковых образцов на канал, что является большим количеством вычислений для выполнения, но ухо чувствительно к артефактам, таким как псевдонимы.

Параметры мультимедиа