Режим воспроизведения без отрисовки VMR (пользовательские выступающие распределителя)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
В режиме воспроизведения без отрисовки VMR не выполняет отрисовку. Вместо этого используется пользовательский распределитель-докладчик, предоставляемый приложением. Этот режим полезен для игр и других типов приложений с сложными видеоэффектами. Режим воспроизведения без отрисовки позволяет приложениям создавать и управлять собственной поверхностью DirectDraw (VMR-7) или Поверхностью Direct3D (VMR-9), а также получать доступ к битам видео во время презентации.
В режиме без отрисовки VMR-9 не загружает компонент микшера автоматически.
В режиме воспроизведения без отрисовки приложение выполняет следующие задачи:
- Управляет окном воспроизведения.
- Выделяет объект DirectDraw или Direct3D и буфер конечного кадра.
- Уведомляет остальную часть системы воспроизведения об используемом объекте.
- Представляет буфер кадров в нужное время.
- Обрабатывает все изменения режима разрешения, отслеживает изменения и потери поверхности. Он должен консультировать остальные системы воспроизведения этих событий.
VmR выполняет следующие действия.
- Обрабатывает все время, связанное с представлением видеокадра.
- Предоставляет сведения о контроле качества приложению и остальной части системы воспроизведения.
- Представляет согласованный интерфейс для вышестоящий компонентов системы воспроизведения, которые не знают, что приложение предоставляет выделение буфера кадров и выполняет отрисовку.
- Обеспечивает любое смешение видеопотоков, которое может потребоваться перед отрисовкой.
Так как деинтерлейсинг выполняется микшером, распределитель-выступающий всегда получал деинтерлейсированные кадры. Дополнительные сведения см. в разделе Настройка параметров deinterlace.
Дополнительные сведения о предоставлении пользовательского докладчика распределителя см. в следующих разделах:
- Предоставление пользовательского Allocator-Presenter для VMR-7
- Предоставление пользовательского Allocator-Presenter для VMR-9
- Синхронизация VMR с частотой обновления монитора