Re: Проблемки

Разговор про параметр в скрипте {scene:{mode:3}}. Режим интерполяции кадров. Может принимать значение от 0 до 3. Описание.
Этот параметр доступен из интерфейса в окне профилей и называется "Добавление промежуточных кадров".

Возьмем стандартное кино 24 к/сек и стандартный монитор 60 Гц.
mode:0 оставит в каждой секунде только 12 исходных кадров, 48 новых кадров будет досчитывать
mode:1 оставит все 24 кадра, досчитывать уже меньше: 36 новых.
mode:3 будет выбирать режим по ситуации, между режимами 0,1,2. Если видео спокойное, то по большей части будет выбираться mode:0, а это снова 48 новых кадров.

Re: Проблемки

Артефакты есть _на всех_ алгоритмах и настройках. Просто проявляются по-разному. Если Ваше видео состоит в основном из таких сцен через решетку, то мне неизвестен алгоритм, который повысит плавность вообще без артефактов. Мы проверяли настройки на большом количестве материала. Текущие профили - это наш выбор. В общем случае пользователь получает оптимальное качество для уровня производительности его системы.

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

Вы не согласны. Ваше предложение?

Re: Проблемки

> Множ 4 дел 1 куда больше жрет чем множ 12 дел 5
Да. Так и должно быть.

4:1 при 25 к/сек даст 25 исходных в секунду, и 25*3 = 75 новых
12:5 при 25 к/сек даст 5 исходных в секунду, и 55 новых

В первом случае получаете 100 к/сек, во втором - 60 к/сек
И по количеству новых кадров и по получаемой частоте кадров коэффициент 4:1 должен использовать больше ресурсов, чем 12:5

29 (edited by Dreamject 23-03-2019 08:17:50)

Re: Проблемки

Я ж написал, переходить на алго 13, с вектор:2 для слабых систем работает и меньше грузит проц. Также за основу взять mode 1 с удвоением кадров, Если не тянет - снижение фпс (через abs). Артефакты есть везде, но на алго 1 они слишком частые и от его применения скорее негативное впечатление будет.

Также можно пересмотреть политику «качественных» профилей. Сейчас качественные профили могут повесить систему или увеличить лаги, а можно понимать фпс до приемлимого индекса.

В общем выше качество - меньше промежуточных кадров. Кадры будут качественнее, но их будет меньше. По мне это само собой разумеется. Скажем, идешь в магазин, не хватает денег на 500г сметаны. Можешь взять блевотный сметанный продукт, можешь взять баночку поменьше. Свп менеджер не предлагает банку поменьше пока что, он предлагает взять в кредит под 100500% годовых, умножая вмеяемость выбора (берешь продукт,который есть нельзя/залезаешь в долги которые в принципе не потянешь)  на ноль.

30 (edited by Dreamject 23-03-2019 08:46:06)

Re: Проблемки

Возьмите лучше удвоение кадров, о слабых системах речь и 2х меньше грузит чем 60фпс. Может ошибаюсь, Но по факту мод2 в случае удвоения ПРОСТО фейк, он просто копирует кадры. Если 60 поставить, он достраивает 1 кадр на 5. То есть 2 кадра реальные, 2 тупо скопированные, 1 достроен.

По факту просто как понял фпс со множителем 1.5 получается, только с фейковой доп нагрузкой 60/24 на гпу, цпу тоже больше используется.

Мод0 поставил, так еще большие вопросы получилось. Пользуясь покадровой перемоткой увидел что да, реальных кадров меньше остается. Но достроенные кадры в принципе более артефачные и выглядят как наложенные, можете проверить. Зачем заменять заведомо более четкие реальные кадры промежуточными...?

В итоге мод2 - пустышка/фейк - нагрузка на цпу больше, чем нум3,ден2, нагрузка на гпу почти в 3 раза выше, плюс ещё рассчёт промежутки. Мод0(и похоже 3) - меньшая четкость

Re: Проблемки

Также в промежуточных кадрах не рассчитывается/не копируется оригинальный шум (по мне скорее баг). Оставим 12 из 24 кадров в 60 фпс, получим в целом совершенно другую картинку

https://s17.directupload.net/images/190323/temp/pes46ov3.png  https://s16.directupload.net/images/190323/temp/376majn7.png

32 (edited by Dreamject 23-03-2019 08:59:11)

Re: Проблемки

>12:5 при 25 к/сек даст 5 исходных в секунду, и 55 новых
Исходные кадры по факту более чёткие и правильные, чем достроенные, да и даже в примере из другого топика в мод0 (как терминальном случае) окажется 12 оригинальных...

В общем по мне (хоть и значка девелопера нет), математика более простая и в конечном счёте свп работает просто с дробными множителями. 12:6 = 2:1 = 100:50  . Я выставил эти значения и никакой разницы на слабом амд=ноутбуке не заметил. Пока единственное оправдание вижу в таком формате это если в скриптах не указываются дробные значения. Но и то можно записать проще, без делителя/в 1 аргументе, можно в константах, можно в относительных величинах указывать

1. num:screenrate/framerate // 60/24
2. targetfps:screenrate //60,40,30

Re: Проблемки

Ну и артефакты промежуточных кадров вот, когда достроенные кадры выглядят как среднестатистическое от 2х соседних - в этом примере сумка в руках
https://s17.directupload.net/images/190323/temp/72arjz9e.png  https://s17.directupload.net/images/190323/temp/gu8z8p5k.png 

По мне, но может чего-то не понимаю, самый приемлимый варик с точки зрения сохранения качества видео/загрузки цпу-гпу, и здравого смысла, это оставлять оригинальные кадры, т.е. mode:1

34 (edited by dlr5668 23-03-2019 11:12:24)

Re: Проблемки

только 72/96/etc https://www.svp-team.com/forum/viewtopic.php?id=1259 или 48(50 с реклоком или mpv)

35 (edited by Dreamject 23-03-2019 11:49:13)

Re: Проблемки

Да в целом не так критичны (в условиях ограниченного оборудования) дольки секунды, как неработающий мод2 или убирающий ориг кадры мод0.

И все равно кадр это целая картинка, Если 1 из трех кадров достроенный, это не должно быть хуже, чем 1 из двух, или 1 ориг кадр из 3. Да и сами достроенные кадры все равно фейковые (полистай покадровой) и не особо магические, обманка бдительности. Чем больше промежуточных кадров, тем плавнее, Но объективно качество видео хуже. Не думаю что перфекционизм "только целые значения и идеальная синхронизация" много даст, если свп внутри сделан правильно, а не как мод0/2,алго1

36 (edited by dlr5668 23-03-2019 14:32:20)

Re: Проблемки

Как работает 72 в текущей* ?
вектора нормальные (легкая сцена) 1mm1mm1mm (1m=uniform)
сложная сцена 11m11m11m (2m режим)
Свп тупо негде ошибаться.  При дробном множителе промежуточных кадров в 2-4 раза больше (72 vs 60 1mmmm)

*бете при небольшой настройке

Спорить не буду как нравится так и смотри smile

Re: Проблемки

Так форум для дискуссий и создан, я надеюсь, что ошибаюсь). 1 промежуточный кадр между двумя легче построить, чем 2, и ошибок меньше. Векторы и прочее это прекрасно, но на выходе все равно выглядит как среднеарифметическое из двух кадров, как будто выдержка большая, плюс немного магии . 1 промеж кадр неидеален, что про 2-7 говорить. Ну и плюс страшный шумодав.

Re: Проблемки

Что-то подкрутили, чтоб 13 шейдер перестал делать картинку "грязной"?

39 (edited by Dreamject 23-03-2019 17:14:07)

Re: Проблемки

Скорее открутил, скрипт от амд-недобука на А6. Из отличий от оригинала: указан vectors:2 (параметр от по идее 1 недо-алгоритма), mode:1 - по умолчанию mode:3 стоит, и похоже этот режим стирает оригинальные кадры

# This script was generated by SVP 4 Manager.
# Check https://www.svp-team.com for more details.
fps=60#1..10 - 1..10X,>10 - target FPS
SetMemoryMax(2700)

global threads=#CPUS * 2 - 1

LoadPlugin("svpflow1.dll")
LoadPlugin("svpflow2.dll")
SetFilterMTMode("DEFAULT_MT_MODE",2)
SetFilterMTMode("SVSuper",1)
SetFilterMTMode("SVAnalyse",1)
SetFilterMTMode("potplayer_source",3)
potplayer_source()
fps <= 10 ? eval("""rate = "num:"+String(fps)+",den:1" """) : eval(""" rate = "num:"+String(fps)+",den:1,abs:true" """)


global source_width = width
global source_height = height
global crop_string  = ""
global resize_string = ""
global super_params     = "{pel:1,scale:{up:0},gpu:1,full:false,rc:true}"
global analyse_params   = "{vectors:2,block:{w:32,overlap:0},main:{search:{type:1,coarse:{distance:-8,bad:{range:0},width:530},distance:0}}}"
global smoothfps_params = "{gpuid:11,rate:{"+rate+"},algo:13,scene:{mode:1}}"

global demo_mode=0
global stereo_type=0

########## BEGIN OF base.avs ##########
# This file is a part of SmoothVideo Project (SVP) ver.4
# This is NOT the full AVS script, all used variables are defined via
# JScript code that generates the full script text.

function interpolate(clip src)
{
    input = crop_string=="" ? src : eval("src."+crop_string)
    input = resize_string=="" ? input : eval("input."+resize_string)

    #MT-MODE-1  #do not remove this line!

    super=SVSuper(input, super_params)
    vectors=SVAnalyse(super, analyse_params, src=input)
    smooth=SVSmoothFps(input, super, vectors, smoothfps_params, mt=threads, src=src)

    #MT-MODE-2  #do not remove this line!

    return demo_mode==0 ? smooth : demo(input,smooth)
}

input=last

    stereo_type==0 ? eval(""" interpolate(input)
""") :     stereo_type==1 ? eval("""
        lf = interpolate(input.crop(0,0,input.width/2,0))
        rf = interpolate(input.crop(input.width/2,0,0,0))
        StackHorizontal(lf, rf)
""") :     stereo_type==2 ? Eval("""
        lf = interpolate(input.crop(0,0,0,input.height/2))
        rf = interpolate(input.crop(0,input.height/2,0,0))
        StackVertical(lf, rf)""") : input

########### END OF base.avs ###########


Prefetch(threads)

Re: Проблемки

и что ты там открутил?

Re: Проблемки

указан vectors:2 (параметр от по идее 1 недо-алгоритма), mode:1 - по умолчанию mode:3

Re: Проблемки

и как успехи?

43 (edited by Dreamject 23-03-2019 17:22:40)

Re: Проблемки

фуллхэдэ гоняет на х2, иногда на 40 фпс

Re: Проблемки

а как до этого тянуло?

45 (edited by Dreamject 23-03-2019 17:40:20)

Re: Проблемки

Никак, просто встает все. Но если железо тянет, лучше вектор 2 не использовать

Re: Проблемки

что за проц на котором запускается свп?

Re: Проблемки

Видеоряд ...смотреть надо, а не кадры разглядывать.

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

Особливо, если строить кадры процессором, выигрыш более чем чувствительный.

Re: Проблемки

A6 9225
Ароц

Re: Проблемки

ты смотришь 1080р с уменьшением до размера экрана? используется ли гпу в обработке?

Re: Проблемки

Я на мониторе смотрю также фулхд без преобразований