arestarh1986
Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Новый рендерер Sync Renderer (переименован в текущих билдах в EVR Sync) (автор рендерера Arto Jarvinen a.k.a ar-jar) Что за зверь такой? Рендер включает в себя несколько альтернативных механизмов для устранения или уменьшения дрожания. Он основан на EVR и, таким образом, имеет те же фичи и ограничения, что и EVR. В будущем такие механизмы могут быть добавлены в существующие рендеры. Сейчас они введены в отдельный рендер для минимизации проблем. Для чего его использовать? Есть же много других рендереров... Разработка данного рендерера это еще одна попытка побороть *дрожание* картинки. Хм... *Дрожание* картинки. А можно как-то точнее изьяснятся? Прежде хотелось бы упомянуть о тиринге. В MPC-HC имеется Тearing test, который некорректно перевели как "Тест дрожания". На самом деле, Тearing в переводе означает разрыв. Это когда верхняя и нижняя части картинки принадлежат разным кадрам. Из-за чего видна раздражающая граница посреди экрана. вот пример. Лечиться вертикальной синхронизацией (V-sync). А дрожание на ихнем называется judder. Сей эффект может возникать из-за несоответствия частоты кина и экрана. Как и разрывы, дрожание хорошо заметно на плавном панорамном движении в кадре, только эффект другой. Выглядит это так: картинка плавно движется, а потом вдруг либо затормозиться, либо дернется и так по циклу. Чем то напоминает криворукое преобразование из NTSC в PAL. Кстати, избавление от разрывов (tearing) может привести к дрожанию (judder). Дрожание лучше смотреть по графикам (Display stats - Показать статистику). Данные инструкции применимы к сборкам MPC-HC 1465 и последующим. 1. Нужно загрузить MPC-HC GothSync с ostrogothia.com или MPC-HC ревизии не ниже 1486 с XvidVideo.RU. 2. Если ваша цель отличная синхронизация, то проверьте, чтоб частота обновления экрана и частота воспроизведения видео(fps, Кадров\с), или их производные, отличались менее чем на 0.1%. Например, для видеоматериала с fps 23.976 подходящая частота обновления экрана будет 23.976 Гц или 47.95 Гц[т.е., (2*23.976 - 47.95)/47.952=0.00004=0.004% < 0.1%]. Для материала с fps 25 подходит частота обновления экрана 25 Гц, 50 Гц, 75 Гц, … . Тогда вы получите хорошую *картинку* на экране. Present at nearest vsync альтернативная синхронизация не требует совпадения частот, т.к. разработана для минимизации паразитных эффектов от несовпадения частот. Также имейте в виду, что частота обновления, которую вы видите на панели контроля вашего видоадаптера(Сatalyst Сontrol Сenter, NVIDIA Control Panel), не всегда корректна\верна. MPC-HC GothSync измеряет реальную частоту обновления в начале передачи(стриминга) и отображает её в экранной статистике(по Ctrl+J) как эталонную. Если у вас проблемы с синхронизацией, проверьте сначала соблюдение данных условий. 3. Проверьте, чтоб программа Reclock не была запущена если вы используете альтернативные методы синхронизации 1 и 2(см. ниже). 4. Убедитесь, что у вас в системе присутствет Enhanced Video Renderer (EVR). Для Windows XP, нужно загрузить и установить .NET 3.5 framework от Microsoft для задействования EVR. Sync Renderer основан на EVR. 5. Запустите плеер (mpc-hc.exe). 6. Откройте Вид -> Настройки -> Вывод. 7. Выберите Sync Renderer в DirectShow Видео. Закройте диалог настроек. Альтернативный метод синхронизации 1: Синхронизация частоты воспроизведения видео с частотой обновления экрана Используйте сперва этот альтернативный метод если у вас совпадают частоты видео - экрана(пункт 2 выше) и вы не смотрите много ТВ (или видео с видеокамеры, или других источников в реальном времени(live)). Метод должен работать со всеми мониторами и видеоадаптерами. Если используется SPDIF (цифровой) аудиовыход из ПК, данный метод может привести к небольшой рассинхронизации видео и аудио на протяжении всего просмотра. Для точной синхронизации аудио и видео необходимо использовать аналоговый аудиовыход. (Смотрите данный пост в блоге.) Данный метод синхронизации использует частоту обновления экрана как опорную и подгоняет скорость воспроизведения видео и аудио под неё. Важно, чтоб разница между скоростями\частотами медиа и экрана была малой. Если она будет больше 0.5%, то аудио будет не синхронизировано, даже в случае, если видео будет синхронизировано\отвечать большинству контрольных параметров (см. ниже). 1. Oткройте Вид -> Настройки -> Воспроизведение -> Синхронизация. Выберите Sync video to display. Frequency adjustment необходимо задать как 0.0012 (~0.12% номинальной частоты), Target sync offset как 10 – 18 мс для частоты обновления 50 Гц и 8 – 14 мс для частоты 60 Гц, и Control limits как 2.0 мс. Вы не сможете менять\задавать настройки Синхронизации если не выбран Sync Renderer на вкладке Вывод или идет воспроизведение медиа (выберите Файл -> Закрыть в этом случае). 2. Посмотрите хороший фильм и проверьте синхронизацию согласно этой инструкции. Альтернативный метод синхронизации 2: Синхронизация частоты обновления экрана с частотой воспроизведения видео Этот метод синхронизации теоретически более точен и имитирует метод синхронизации ТВ экранов к видео на входе (хотя бы как в старую добрую эпоху аналогового ТВ). Также метод применим для live-источников, таких как ТВ. Но недостатком данного метода есть то, что он подойдет не для всех комбинаций видеокарта-дисплей-разрешение дисплея. Т.е., необходимо немного поэкспериментировать. Для этого метода необходимо применение программы PowerStrip. Когда выбран данный метод синхронизации, Sync Renderer использует PowerStrip для подстройки выходной частоты обновления видеоадаптера так, чтобы она была синхронизирована с частотой воспроизведения видео на входе. Для достижения этого, добавляются или удаляются, если необходимо, (невидимые) столбцы или строки к передней порции видеокадра (изображения). Добавление столбцов или строк уменьшает эффективную скорость воспроизведения если время для отображения каждого пикселя остается постоянным. Удаление столбцов или строк увеличивает скорость воспроизведения. Типы дисплеев, как то проекторы или ЖК ТВ, допускают такие(добавление или удаление и строк, и столбцов) изменения скорости воспроизведения. Некоторые дисплеи более *снисходительны* к изменению количества столбцов, в то время, как другие их типы более *снисходительны* к изменению количества строк. Наилучший способ подгонки скорости воспроизведения может быть экспериментально определен следующим образом: 1. Загрузите PowerStrip с Entech Taiwan. PowerStrip предоставляет API для подгонки временных параметров графического адаптера из программы. Также может использоваться для регулировки частоты обновления и разрешения экрана. PowerStrip'ом можно пользоваться определенный период времени бесплатно. Следуйте инструкциям установки PowerStrip. 2. Не позволяйте PowerStrip загружатся вместе с Windows (уберите галку с Autoload with Windows диалога Options программы). Автоматическая загрузка PowerStrip вместе с Windows может привести к неприятным последствиям если вам удастся выйти с разрешением, которое дисплей не поддерживает. Также нужно убедится, что разрешение экрана и частота обновления выставлены в значения по умолчанию. Сочетание клавиш CTRL+ALT+S в PowerStrip позволяет сбрасывать настройки графического адаптера в значения по умолчанию и может быть полезным в процесс подстройки при синхронизации. Для детального рассмотрения возможностей PowerStrip, воспользуйтесь встроенной в программу функцей помощи. 3. Откройте Вид -> Настройки -> Воспроизведение -> Синхронизация. Выберите Sync display to video. Выставьте Target sync offset как 10 – 18 мс (для 50 Гц дисплея) или 8 – 14 мс (для 60 Гц дисплея) и Control limits как 2.0 мс. Вы не сможете менять\задавать настройки Синхронизации если не выбран Sync Renderer на вкладке Вывод или идет воспроизведение медиа (выберите Файл -> Закрыть в этом случае). 4. Выберите дисплей, который будет использоваться для просмотра видео. Настройте ваш видеоадаптер(выставьте частоту обновления и разрешение экрана) так, как вы его используете большую часть времени, например, 720 линий @ 50 fps (720p50) как в большей части Европы. 5. Запустите PowerStrip и следуйте инструкциям по настройке при первом запуске. При запуске PowerStrip в системном трее появится иконка программы. 6. Кликните правой кнопкой мыши на иконке и выберите Display profiles -> Configure…. Выберите Advanced Options. Вы должны при этом увидеть диалог - примерно как изображено на рис. ниже (возможно, с некоторыми дополнительными параметрами). 7. Перетяните мышкой вызванный диалог на дисплей, который хотите использовать. Параметры диалога должны при этом обновится в соответствии с новым дисплеем. Убедитесь, что отмечена опция Real-time adjustment. 8. Для проверки того, как выш дисплей воспринимает изменения разрешения, попробуйте уменьшать или увеличивать число строк и столбцов во Front porch, используя стрелки вверх\вниз. Попробуйте и горизонтальную (столбцы) front porch и вертикальную (строки) front porch. Если вы можете изменять как число строк, так и число столбцов на одно деление больше\меньше номинального значения без видимых артефактов на экране, то GothSync сможет контролировать параметры дисплея с использованием тех же методов регулировки. Убедитесь, что вы можете увеличивать и уменьшать число в инкрементах 1 и 2. Если нет, то попробуйте изменить параметры разрешения дисплея. Некоторые значения разрешений позволяют использовать только большие инкременты (например, 8), что является очень грубым значением для точной подстройки GothSync. Если дисплей отображает черное, вы можете или подождать сброса разрешения (что происходит, если вы не Применили новые настройки, или использовать комбинацию клавиш CTRL+ALT+S. 9. Убедитесь, что все параметры видеоадаптера сброшены в номинальные значения (например, нажатием сочетания клавиш CTRL+ALT+S в PowerStrip) после проведения экспериментов. 10. Откройте Вид -> Настройки -> Воспроизведение -> Синхронизация. Если ваш дисплей поддерживает смену числа столбцов (см. выше), введите 1 (или 2, если 1 не разрешается PowerStrip) в поле столбцов. Если ваш дисплей также поддерживает смену числа строк, введите 1 (или 2, если 1 не разрешается PowerStrip) в поле строк. Инкремент 1 должен сочетаться с разрешением в 720 строк. С разрешением в 1080 строк вы можете попробовать сначала значение 2. Инкремент должен вызывать изменение частоты обновления приблизительно на 0.1%. При воспроизведении видео вы можете видеть реальные частоты на экранной статистике (по Ctrl+J) в процессе подстройки с использованием альтернативного метода синхронизации. Этот альтернативный метод синхронизации был протестирован с использованием собственного плеера, GothPlayer, на разных видеоадаптерах NVidia серий 5000, 6000 и 7000 (PowerStrip пока что на совместим с 8000 и выше серией адаптеров) и ATI 3450. Также есть сообщение о работе PowerStrip с серией 4000 видеоадаптеров от ATI/AMD. (См. пост с PowerStrip forum.) Нужно, чтоб PowerStrip мог подстраивать временные параметры видеоадаптера для возможности Sync Renderer изменять частоту обновления. На форуме EntecTaiwan Forums, зайдя в раздел PowerStrip for Windows -> Announcements: Latest PowerStrip release notes, вы можете найти список поддерживаемых видеокарт. Запись "Yes" в колонке "Timing" означает, что метод синхронизации будет применяться к вашей видеокарте. Функция синхронизации была проверена (опять на GothPlayer) на четырех разных HDTV дисплеях с номинальным разрешением у всех 720 строк. Сообщались ошибки при использовании дисплеев с 1080 строками. Альтернативный метод синхронизации 3: Представление при ближайшем vsync Этот альтернативный метод для тех, кто хочет использовать SPDIF выход вместо аналогового (альтернативный метод синхронизации 1 не работает) и нет совместимых с PowerStrip дисплея и видеоадаптера (альтернативный метод синхронизации 2 не работает) или просто не могут совпасть частоты обновления экрана и воспроизведения видео в силу ограничений дисплея. Также данный метод хорошо работает в паре с программой ReClock. Этот альтернативный метод призван минимизировать паразитные эффекты нативной синхронизации путём (1) постоянного представления нового кадра видеоадаптеру на определенном удалении от vsync для упреждения разрыва(tearing) и (2) "вырывания\перехода" к ближайшему vsync как можно дольше. Распространённой причиной видимого дрожания(judder) есть тот момент, что номинальное время представления кадра как раз в начале vsync. Из-за свойственной коду представления видео неточности иногда кадры будут представлены или до vsync, или после vsync, что может означать, что кадры не будут представлены через равномерные интервалы времени. Это приводит к эффекту дрожания(judder) как показано на рис. ниже. Неизбежное дрожание(judder) когда время представления близко к vsync, без синхронизации. Это дрожание(judder) проявлялось при проигрывании видеоматериала с fps 25 с 50.01 Гц частотой обновления экрана. При включении опции Present at nearest vsync, дрожание(judder) уменьшается до одного "чистого" всплеска как показано на рис. ниже. When the Present at nearest vsync активна проявляется только один "чистый" всплеск при vsync. Данная коррекция удерживает время призентации *вдали* от vsync на протяжении всего времени и только позволяет сдвигать полный период vsync назад или вперёд в случае надобности, но не непрерывно как показано на рис. выше. В даном случае нам необходимо показывать один кадр видео в одном дополнительном дисплейном цикле немедля и потом оставатся в *синхроне* в силу того, что период vsync стал больше на этот "всплеск". Для активации этого метода нужно: 1. Откройте Вид -> Настройки -> Воспроизведение -> Синхронизация. Выберите Present at nearest vsync. Выставьте Target sync offset как 10 – 18 мс (для 50 Гц дисплея) или 8 – 14 мс (для 60 Гц дисплея) и Control limits как 2.0 мс. Вы не сможете менять\задавать настройки Синхронизации если не выбран Sync Renderer на вкладке Вывод или идет воспроизведение медиа (выберите Файл -> Закрыть в этом случае). Данный материал лишь перевод вводной статьи автора рендерера Arto Jarvinen a.k.a ar-jar. Также есть его же статья Как проверить синхронизацию. P.S. Данный материал может быть где-то неточен/неграмотен и, по возможности, укажите на ошибки. P.S.S. Большое спасибо данной ветке ru-board и форуму Doom9 за детальное обсуждение работы MPC-HС, форуму AVS, разработчикам - за создание данной модификации MPC!!!! | Всего записей: 241 | Зарегистр. 23-06-2008 | Отправлено: 20:50 05-01-2010 | Исправлено: arestarh1986, 22:09 01-03-2010 |
|