Набор свойств изменения скорости

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

Набор свойств Rate Change позволяет фильтрам источника и средства синтаксического анализа MPEG-2 изменять скорость воспроизведения. Декодеры MPEG-2 должны поддерживать этот набор свойств. Dvd-навигатор и подсистема потокового буфера используют это свойство, заданное для управления скоростью воспроизведения.

Метка Значение
Идентификатор GUID набора свойств AM_KSPROPSETID_TSRateChange

 

Идентификатор свойства Описание
AM_RATE_CorrectTS Сообщает декодеру, что навигатор устанавливает правильные метки времени.
AM_RATE_ExactRateChange Является устаревшей.
AM_RATE_MaxFullDataRate Запрашивает у декодера максимальную скорость передачи данных.
AM_RATE_QueryFullFrameRate Запрашивает у декодера максимальную полнокадровую частоту декодера.
AM_RATE_QueryLastRateSegPTS Запрашивает у декодера время начала сегмента скорости, который был задан последний раз.
AM_RATE_SimpleRateChange Отправляет изменение скорости в декодер.
AM_RATE_Step Является устаревшей. См . раздел Набор свойств пошагового выполнения кадра.
AM_RATE_UseRateVersion Указывает используемую версию механизма изменения скорости.

 

Комментарии

В контексте этого набора свойств скорость измеряет скорость, с которой метки времени перемещаются относительно эталонных часов. Оцените обратную скорость воспроизведения. Например, если скорость воспроизведения составляет 2 раза, метки времени должны увеличиваться на 1/2 от нормальной скорости. Это приводит к более быстрой скорости воспроизведения, так как примеры отрисовываются раньше, чем обычно.

Примеры отправляются в декодер с меткой времени, равной времени презентации, с частотой 1 раз. Декодер должен масштабировать метки времени в выходных примерах до правильного времени представления текущей частоты. Например, если скорость составляет 1/2 (то есть скорость воспроизведения составляет 2 раза), декодер должен масштабировать метки времени на 1/2. Как правило, метки времени есть только у меня фреймов. Декодер должен интерполировать метки времени для кадров B и P. Обратите внимание, что во время обратного воспроизведения метки времени продолжают увеличиваться— метки времени никогда не идут назад.

Определены две версии набора свойств Изменения скорости: версии 1.0 и версии 1.1. Поведение по умолчанию определяется версией 1.0. Поставщикам декодера рекомендуется поддерживать версию 1.1, так как она обеспечивает более плавное воспроизведение. Dvd Navigator в настоящее время использует версию 1.0. Подсистема потокового буфера использует версию 1.1.

Изменение частоты версии 1.0

Версия 1.0 набора свойств Rate Change определяет поведение по умолчанию для декодеров MPEG-2.

Фильтр источника сигнализирует об изменении скорости, задавая свойство AM_RATE_SimpleRateChange . Данные для этого свойства — это новая скорость, а также время начала входной выборки, когда ставка вступает в силу. Декодер поддерживает очередь ожидающих изменений скорости, отсортированных по времени начала.

Прежде чем DVD-навигатор переключится на скорость, отличной от 1x, он доставляет все ожидающие выборки, временно устанавливает скорость 1.0 и очищает граф. Затем он задает новую ставку. Все изменения скорости запланированы на конец текущего VOBU (единица видеообъекта). Обратите внимание, что при очистке графа время представления сбрасывается до нуля.

DVD-навигатор работает либо в плавном режиме, либо в режиме сканирования. В плавном режиме он отправляет в декодер каждый кадр, включая кадры B и P. DVD-навигатор использует плавный режим всякий раз, когда скорость воспроизведения больше нуля, но меньше максимальной скорости передачи данных декодера. Если скорость воспроизведения меньше нуля (обратное воспроизведение) или превышает максимальную скорость передачи данных декодера, DVD-навигатор использует режим сканирования, в котором отправляет декодер только I-кадры. При очень высоких скоростях, он может пропустить некоторые I кадры; например, он может отправлять все остальные кадры I.

По умолчанию DVD-навигатор отключает звуковой поток для скорости, отличной от 1.0. Это можно изменить, вызвав IDvdControl2::SetOption с флагом DVD_AudioDuringFFwdRew.

Изменение скорости версии 1.1

Версия 1.1 набора свойств Rate Change соответствует тем же основным принципам, что и версия 1.0, со следующими отличиями:

  • Фильтр источника сигнализирует декодеру об использовании версии 1.1, задавая свойство AM_RATE_UseRateVersion . В противном случае декодер должен использовать поведение версии 1.0.
  • Фильтр источника не очищает график между изменениями скорости. Таким образом, метки времени монотонно увеличиваются через границы изменения скорости, а не сбрасываются до нуля.
  • Вместо того чтобы ставить в очередь изменение скорости для определенного ссылочного времени, исходный фильтр может указать, что изменение скорости применяется к самой прямого выборке декодера, определенной как выборка в начале исходящей очереди декодера. Для этого исходный фильтр использует свойство AM_RATE_SimpleRateChange , но устанавливает время начала, равное -1.
  • Исходный фильтр может запрашивать у декодера время начала изменения скорости, которое было помещено в очередь в последний раз. Для этой цели используется свойство AM_RATE_QueryLastRateSegPTS .
  • Исходный фильтр не удаляет примеры. Если скорость превышает максимальную скорость передачи данных декодера, при необходимости декодер должен удалить кадры.
  • Фильтр источника не отключит звуковой поток, независимо от максимальной скорости передачи данных декодера звука. Декодер звука может удалять образцы, если скорость воспроизведения превышает максимальную скорость декодера. Однако он по-прежнему должен поддерживать очередь запланированных изменений скорости.

Требования

Требование Значение
Заголовок
Dvdmedia.h

См. также раздел

Наборы свойств