5,751

(466 replies, posted in Эксплуатация SVP)

Banny61rus
чем отличаются друг от друга EVR и EVR(C/A)?

Перевод ответа админа Peuj с форума поддержки KMPlayer:

Все отрисовщики появились из разных версий Windows или DirectX:

- Old Video renderer: это самый старый (выпущен в 1996) отрисовщик, который использует GDI для отображения видео.

- Overlay mixer: выпущен с DX6, он предназначен для проигрывания DVD, т.к ему добавлена совместимость со скрытыми титрами (closed caption). Видео отображается при использовании DirectDraw. Этот отрисовщик также поддерживает аппаратное ускорение (DXVA).

- VMR7: отображает видео, используя DirectX7.
В оконном режиме (windowed mode) вся отрисовка выполняется Microsoft-фильтром.
В renderless режиме плеер получает несжатое видео, добавляет субтитры, а затем отображает картинку. Именно в этом заключается причина, что только renderless-режим поддерживает скрытые субтитры (close captioning).

- VMR9: использует DirectX9 для отображения видео.
В windowed и renderless режимах различие то же самое.

- EVR: новый отрисовщик, прибывший с Windows Vista, он до сих пор использует DirectX9 (а не DX10, как некоторые думают).
EVR Custom (EVR C/A) режим является аналогом renderless-режима для VMR

wink

Noweol
заметил эффект, что, чем больше диагональ экрана, тем более плавным становится видео при той же частоте воспроизведения
Я вот могу сказать, что наоборот: чем меньше диагональ, тем плавнее выглядит видео. Расстояния-то между уплавняемыми объектами меньше.
А при увеличении диагонали с некоторого момента становится мало этой частоты кадров. Это легко проверить, сравнить плавность в небольшом окне (в четверть экрана), а потом развернуть на полный экран. wink

sergioleon
На плазме да - красивее чем на жк
Подтверждаю. У плазмы время переключения яркости пикселей = 0 ms. У DLP-проекторов тоже. Из-за этого кадры четче, смаз меньше.

droner
написан Splash
В Spalsh'е нет функции под названием "размытие движения". hmm
Поэтому и спрашиваю komandors, про какую функцию речь?
В SVP 2.0 размытие движения - это одно, в PotPlayer'е - совсем другое.

komandors
Здрасьте, приехали! Именно это и есть эффект повышенной плавности движений. Картинка 15 vs 30 vs 60 fps.
Что Вы раньше смотрели и почему этого эффекта не замечали, я не знаю. hmm

Поздравляю! На ноутбуке друга Вы наконец-то увидели, как это должно выглядеть при правильной настройке. cool

Эффект схож с функцией размытия движения
А вот здесь по-подробнее. Про которую функцию речь? Из PotPlayer'а?

Отчет SubJunk:

Только что посмотрел кино "Легенды ночных стражей", сохраненный с плавностью InterFrame 1.5.2 и он смотрелся почти как-будто был нарисован с 60 fps. Невероятно!

Это перевод его сообщения.

Тип: Мультфильм
Рейтинги: IMDb: 7.00, КиноПоиск.Ru: 7.585
Повышение плавности: рекомендовано
Настройки: InterFrame 1.5.2 (по-умолчанию ?)

nemoW
План развития SVP непубличный. Это план работ для нас, разработчиков. Все предложения и идеи записываются туда. Кроме этого, план доступен бета-тестерам, по нему и двигаемся.

Форум эксплуатации SVP - это лишь вершина айсберга. См. общее кол-во сообщений.

Mikluhamaklay
нашел такое решение проблемы - гребенка появилась - включаем деинтерлейс, досмотрели - выключаем, иначе на нормальном видео потом будут пакости.
Да. Именно так оно и задумывалось. Пока слежение за статусом деинтерлейса и принятие решения включить или отключить деинтерлейс лежит полностью на пользователе.
Деинтерлейс - ресурсоемкая задача, выполняемая сейчас на процессоре. В добавок (как замечено выше) может снижать вертикальную резкость. Без необходимости лучше не включать.

Нельзя ли как-то проверку поставить - а правда ли видео интерлейсное, правда ли нужно его приводить к нормальному виду
Это достаточно сложная задача, в добавок ко всему ресурсоемкая. Удачной реализации автоопределения интерлейса мне не встречалось. Тем не менее в плане такой пункт записан, поэтому если попадется толковая инструкция или уже готовая реализация определения интерлейса, то в следующих версиях можно ожидать автодеинтерлейс.

может быть можно его _сначала_ избавить от гребенки средствами видеокарты, а _потом_ уже уплавнять до нужных 60 Гц ?
До недавнего времени это было невозможно. Видеокарты выполняют деинтерлейс только на DXVA-конвеерах, откуда кадр передавался только в видеопамять и на экран. SVP работает с кадрами в оперативной памяти, и не мог пользоваться результатами деинтерлейса.

Теперь же появился PotPlayer с DXVA2-декодированием и передачей распакованных кадров в оперативную память. Остается выяснить, возможно ли при декодировании активировать аппаратный деинтерлейс. Если ответ на этот вопрос "да", и если деинтерлейс возможен на автомате в зависимости от картинки, записанной в кадре, то это решит сразу все обозначенные в теме проблемы wink

Mikluhamaklay
Размер кадра и частота: 1280x768 pixels, 29.953 fps
Вот в чем причина низкого SVP-индекса. Реальная частота кадров наверняка 23.976

Как проверить. Открыть вкладку "Информация" в ffdShow и посмотреть на реальное значение частоты кадров.

http://www.svp-team.com/forum/misc.php?item=231

В чем проблема. SVP при открытии файла спрашивает частоту кадров у ffdShow, а тот в свою очередь, пока не начал играть обращается к сплиттеру, а тот достает из контейнера записанное там число. Проблема в том, что в контейнере прописана частота 30 fps, а реально видеопоток идет с частотой 23.976 fps. Это и показывает SVP-индекс: 24/30 = 0.8

Как быть. Для таких файлов с некорректной цифрой частоты кадров в заголовке можно действовать следующим образом:
- открыть файл, включить воспроизведение
- выйти из SVP-менеджера и снова его запустить

Тогда на момент опроса ffdShow о частоте кадров, он уже будет знать настоящую частоту и сообщит SVP-менеджеру цифру не "29.953 fps", а близкую к реальной.

Проблема некорректной частоты кадров в заголовке встречается, кроме этого бывают гибридные видео с переменной частотой кадров, меняющейся в процессе воспроизведения. Поэтому в следующих версиях SVP научится контролировать частоту кадров на входе и реагировать на ее изменение. Это один из пунктов плана развития SVP.

5,759

(466 replies, posted in Эксплуатация SVP)

спасибо, исправил
wink

5,760

(466 replies, posted in Эксплуатация SVP)

Кто не в курсе, в предыдущем сообщении 7sh3 дал ссылку на сборку Daum PotPlayer 1.5.27623 RU (DXVA+CUDA+SVP).
Мне понравилось! cool

Правда такое обилие настроек при установке сперва немного даже смутило.

19w85
изображен пример не с радиусом 3, а с радиусом 1
С радиусом 3. Это анимашка из цикла "изучаем MVTools". smile

серая сетка: пиксели
синяя точка - пиксел начала поиска
красные точки - процесс (шаг) поиска
серые точки - уже проверенные точки на предыдущих шагах
зеленая точка - с лучшей оценкой, это и есть найденный вектор
увеличение и превращение зеленой точки в синюю - спуск на более тонкий уровень

Noweol
анимашек с силой подавления артефактов ещё не хватает
Там как раз все в порядке. Как написано, так и работает. Анимашки делать - занятие трудоемкое, поэтому как появится свободные час-два, сделаю. wink

komandors
может убрать настройку поведения на смене сцен?
Смешанные кадры очень полезны. Зря Вы так категорично.
1. Ошибочно определившиеся смены сцен на динамичных кадрах при включенном смешивании будут выглядеть лучше, чем при повторении.
2. Резкие смены освещенности (вспышки, блики) также выглядят приятнее, если при их отображении применяется смешивание.
3. На обычной скорости воспроизведения сложно отличить смешивание на сменах сцен от повторения.

зачем убрали отключение маски?
Маска не отключается. Отключается подавление площадных артефактов (вместе с маской).

Chainik
Пожалуй ты прав. Взгляну, что там SubJunk с этими значениями накрутил wink

19w85
как же тогда в версии SVP 1.4 был "продвинутый алгоритм"="уточнение" с блоками вплоть до 4x4?
Продвинутый алгоритм SVP 1.4 не содержал с списке блоки размером 32x32 и 32x16. Поиск происходил увеличенными линейно в 2 раза блоками, а уточнение - блоками указанного размера.

если сравнить полностью отключенное площадное маскирование с включенным площадным
Включил удвоение кадров и менял значения площадного маскирования и силы маски. Сделал четыре анимированных gif'а. Получились они по 2 МБ, поэтому выкладываю ссылками.
Подавление площадных: Отсутствует: sadml=0
Подавление площадных: Среднее; Маска: Слабая: sadml=100 sadgamma=0.5
Подавление площадных: Среднее; Маска: Средняя: sadml=100 sadgamma=1.0
Подавление площадных: Среднее; Маска: Сильная: sadml=100 sadgamma=2.0

http://www.svp-team.com/forum/misc.php?item=228

Как можно видеть, на практике оказалось наоборот, артефакты лучше маскирует Слабая маска, но и плавность бордюра, например, на ней хуже: он двоится. Теперь надо понять, почему так случилось. Видимо, придется пересматривать значения этих двух настроек и их названия. А так же может потребоваться изменение реализации площадного маскирования.

Спасибо за вопрос. Благодаря Вам я наткнулся на несоответствие силы маскирования ожидаемым результатам.

19w85
В силу некоторых обстоятельств какие-либо траты на что-либо в интернете мной исключены абсолютно полностью.
Во-первых, мы не заставляем Вас делать "трату в интернете".
Сделать пожертвование на развитие проекта - это дело абсолютно добровольное. При желании можно остаться полностью анонимным.

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

Если скачал, пользуешься, благодарен, готов, хочешь и можешь оказать материальную поддержку - вот ссылка. И не более. wink

19w85
Ответы на 1-3 вопросы просто шикарные
Спасибо.

В 100 раз удобнее просто самому добавить нужные размеры блоков в интерфейс, подредактировав в блокноте файлы из папки SVP\ExtCfg
Можно и так. Но это на свой страх и риск. Мы не гарантируем, что добавленные значения будут корректно работать.
Намного надежнее сообщить нам с каким скриптом и каким видео непредусмотренное в SVP3 значение настройки дает лучший результат. Тогда мы после проверки и тестирования сами добавим это значение в следующей версии SVP.

поподробнее?
При уточнении делением блоков размер блоков получается линейно в 2 раза меньше, а блоки 4x2 и 2x2 не поддерживаются MVTools.
Зато Вы можете выбрать блоки 8x8 и включить уточнение делением блоков, что в итоге Вам даст блоки 4x4. Это будет и быстрее и качественнее, чем сразу использовать блоки 4x4 без уточнения.

512x384 - уже меньше SD?
Да

Выше какого разрешения не имеет смысла использовать блоки мельче 8x8?
Однозначного ответа нет. Если Вам интересно, можете сами посравнивать разные разрешения.
Лично я иногда даже на SD использую блоки 16x16.

откуда тогда суммирование в конечные 255 пикселей?
Начертите окружность радиусом 128 пкс, поставьте точку на ней, из нее начертите окружность радиусом 64 пкс. Самая удаленная точка получившейся фигуры от первоначального центра большой окружности составит 128+64. Аналогичная логика дальше.

получается абсолютно одно и тоже на каждом уровне, нет?
Нет. Поиск вектора на каждом уровне идет из точки уже найденного до этого конца вектора с предыдущего уровня.

что даёт это ослабление/усиление маски с практической точки зрения?
Оно дает уменьшение и увеличение площади замаскированных областей и величины непрозрачности накладываемой маски на артефакты. Ослабление даст лучшую плавность, но большую заметность артефактов. Усиление даст лучшее маскирование артефактов за счет локальной потери плавности.

5,766

(466 replies, posted in Эксплуатация SVP)

droner
декодеры Пота прикрутить к КМР?
Думаю, что нет. Они же встроенные в PotPlayer. Если разговор про PotPlayer DXVA.

не нашёл декодеров этих
наобум щас перебирать
Ничего не понял. Их даже искать не надо. Все расписано, где их в PotPlayer'е включить. Зачем и что собираетесь перебирать?  hmm

5,767

(71 replies, posted in Эксплуатация SVP)

droner
Визуально яркая картинка больше понравилась. Это вторая: auto > auto.
Никогда эти вещи не настраивал. Т.е. просто не трогаю.
auto > auto - это кстати, значения по-умолчанию. wink

Так я это и хочу сделать. Текст перекинуть - это несколько минут.
В вики будет текущий вариант, а тут обсуждение, что добавить, что убрать. Что непонятно, что слишком подробно.

4) Маска площадных артефактов. Возможные значения: Слабая, Обычная, Резкая
Изменяет параметр sadgamma и принимает значения 0.5, 1.0 и 2.0 соответственно.

Эта настройка позволяет регулировать ослабление/усиление маски при подавлении площадных артефактов.

Подробнее см. параметр gamma для фукнции MMask с справке по MVTools.

Дал описания с прицелом перенести их потом в вики-справку SVP 3.
Если Вы нашли неточности или остались вопросы - задавайте, будем расширять описание.

3) Радиус поиска
Эта настройка позволяет указать радиус окрестности поиска для уточнения вектора на каждом масштабном уровне кадра. Обычно при поиске векторов для кадра разрешения SD строится 8 уровней, а для кадра FullHD - 10 уровней. Каждый грубый уровень линейно в 2 раза меньше предыдущего.

http://www.svp-team.com/forum/misc.php?item=212
http://www.svp-team.com/forum/misc.php?item=213

Поиск производится последовательно по всем уровням, начиная с грубого (показан снизу) и заканчивая тонким (самый верхний на картинке). На каждом уровне поиск производится в пределах радиуса, затем найденный вектор масштабируется и передается на более тонкий уровень. За счет этого масштабирования и уточнения максимальная длина вектора в единицах пикселей самого тонкого уровня будет вполне достаточной. По прикидкам значений радиуса поиска 1, 2, 3 и 4 пикселей более чем достаточно.

Например для радиуса=1 и 8-ми уровней (разрешение SD) максимальная длина вектора в пикселях тонкого уровня составит:
2^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2 + 1 = 128+64+32+16+8+4+2+1 = 255 пикселей

SVP 2.0 и более ранние версии использовали значение этого параметра некорректно. Применяемые ранее высокие значения радиуса поиска (в % и в блоках) были неточны, и главное, неоправданы, поэтому больше не используются.

Забегая вперед, приведу анимацию процесса поиска векторов исчерпывающим алгоритмом с радиусом 3. Показаны переходы от уровня к уровню.

http://www.svp-team.com/forum/misc.php?item=214

2) Размер блоков. Изменяет значение параметров blkh и blkv.
Доступные значения настройки в SVP 3: blkh x blkv = (32x32; 32x16; 16x16; 16x8; 8x8).

В SVP 2.0 и ранее применялись еще два размера блоков: 8x4 и 4x4. Продолжение их применения в SVP 3.0 вызвало сложности:
1. Необдуманное применение блоков этого размера для видео высокого разрешения HD и FullHD, ухудшающее результат;
2. Некорректная работа с блоками такого размера настройки "Уточнение векторов";
3. Прирост качества от использования данных размеров возможен лишь для видео разрешения меньше, чем SD, а нагрузка на процессор возрастает в разы.

При желании Вы можете вручную изменить в скрипте значения параметров blkh и blkv на значения, недоступные из интерфейса. Для этого обратитесь к справке MVTools, чтобы узнать полный список поддерживаемых размеров блоков.

По настройкам. По-порядку.

1) Построение на смене сцен (смешивать/повторять кадры).
Эта настройка изменяет в скрипте значение параметра blend (true/false).
Используется при построении промежуточного кадра из двух соседних.

Сменой сцены считается интервал между двумя соседними кадрами в исходном видео, которые относятся к разным ракурсам/периодам/сценам съемки. Между такими кадрами не имеет смысла интерполировать движение объектов, т.к. кадры принадлежат разным сценам.

http://www.svp-team.com/forum/misc.php?item=211

Алгоритм определения смены сцен заключается в подсчете изменившихся блоков в кадре. Настраивается параметром thSCD2 (от 0 до 255). По-умолчанию он равен 130 (что соответствует 51%). Т.е. при количестве изменившихся блоков в кадре равном 51% и более интервал перед кадром считается сменой сцены.
Признаком изменившегося блока является превышение порога thSCD1 рассчитанной для него количественной оценки его отличия (SAD - сумма абсолютный разностей) от соответствующего блока в соседнем кадре. По-умолчанию thSCD1=400.
Подробнее см. документацию MVTools2, параметры thSCD1 и thSCD2

В версии SVP 2.0 и ранее настройки "Построение на смене сцен" не было. При построении промежуточных кадров на сменах сцен всегда применялось смешивание (blend=true).

5,773

(71 replies, posted in Эксплуатация SVP)

droner
Что там у вас внутри .ts? Какой формат видео-дорожки?
CoreAVC умеет только AVC и H.264 декодировать, а MPEG2 и VC-1 не умеет.

Подтверждаю. Проблема постепенного роста памяти присутствует. Иногда наблюдается при включении теста дрожания. Иногда при других обстоятельствах. Как раз для этой цели и реализован мониторинг размера памяти, используемой плеером.

Конкретно для теста дрожания рекомендации следующие: использовать этот тест по назначению. Предполагается, что Вы будете включать тест дрожания длительностью не более 10-20 минут. Этого более чем достаточно, чтобы убедиться в правильности настройки плавности движений и в отсутствии подергиваний/дропов. Далее галку теста дрожания рекомендуется выключать.

Мы работаем над решением проблемы утечек памяти. Но данная проблема комплексная, заключается не в самом тесте дрожания, а в особенностях работы с памятью фрейм-сервера Avisynth. Поэтому просто это проблема не решается. Призываю приводить детали при обнаружении роста занимаемой памяти:
- текст скрипта;
- допинфо.

Чем больше соберем сведений об условиях появления роста памяти, тем раньше получим решение.

NightFox
Даже попытки были.
В ветке на хоботе выкладывали плавного контерстрайка и GTA с наладонника. wink
И то и другое с повышенной плавностью смотрятся намного приятнее. cool

Вот еще на тему удвоения частоты кадров для демок игр 2008 года: тема про 60fps демки с форума сайта AG