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


Метод CVideoTransformFilter.ShouldSkipFrame

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

Метод ShouldSkipFrame определяет, должен ли фильтр удалять указанную выборку.

Синтаксис

BOOL ShouldSkipFrame(
   IMediaSample *pIn
);

Параметры

Контактный

Указатель на интерфейс IMediaSample примера.

Возвращаемое значение

Возвращает значение TRUE , если фильтр должен удалить этот пример, или FALSE , если фильтр должен обработать этот пример.

Комментарии

Этот метод возвращает значение TRUE , если выполняются следующие условия:

  • Пример содержит метки времени.
  • Среднее время декодирования составляет не менее 25 % от длительности кадра.
  • В настоящее время отрисовщик с задержкой хотя бы на один кадр, о чем сообщается в сообщениях о качестве.
  • Пропуск следующего ключевого кадра не приведет к тому, что кадр будет поступать более чем на один кадр раньше.

Для целей этого вычисления фильтр записывает следующие сведения при обработке данных:

  • Среднее время декодирования за последние 20 кадров (m_itrAvgDecode)
  • Количество кадров с момента последнего ключевого кадра (m_nFramesSinceKeyFrame)
  • Оценка количества кадров между ключевыми кадрами (m_nKeyFramePeriod)

После того как фильтр удаляет кадр, он продолжает удалять кадры, пока не достигнет следующего ключевого кадра. Если этот метод возвращает значение TRUE, он также отправляет событие EC_QUALITY_CHANGE в диспетчер фильтров графов.

Требования

Требование Значение
Заголовок
Vtrans.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

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

Класс CVideoTransformFilter