Re: Диалоги с душевнобольным

>На чем основывается этот вывод? hmm
В гейминге, скажем, есть фпс. Монитор в 60гц работает, хотя и нет никаких проблем в воспроизведении 100, 200, 2000фпс, если тянет. Хоть и можно верт синхронизацию залить чтоб меньше жрало.

>Какое значение Вы вкладываете в слово "фейк"? Часто его пишете.
Недавно прочитал о происхождении этого слова (до того как его использовал) https://pikabu.ru/story/proiskhozhdenie … ke_6642154
Но в целом в данном случае когда заявленная ценность сильно выше реальной. Например в случае с реклоком который вроде для качественного аудио под идеальную инхронизацию, что бы это ни значило, там скорее речь о слишком малослышимой разнице. Щас всё переходит на онлайн-сервисы, онлайн кинотеатры, стриминг, и как-то без реклоков уживаются. А если скажем о России учесть, что в основном смотрят с озвучкой, которая сильно искажает ориг смысл, интонации, то погрешность, даваемая озвучкой прям сильно больше, чем то что есть без реклока

Re: Диалоги с душевнобольным

А про реклок, там в самом форуме нет нифига ответов, нулевая активность, видимо это мало кому надо https://forum.redfox.bz/forums/reclock.85/
А вот CRU куда топовей реклока)

78 (edited by Dreamject 18-04-2019 09:49:28)

Re: Диалоги с душевнобольным

Да, Еще, не был и все еще не понятен восторг по поводу абсолютной синхронизации звука.

Мы ведь получаем процентов 80 глазами, а тот же фреймрейт в основе своей имеет охренительный Рассинхрон (60/23.976), когда не получается равномерно во времени показывать кадры. Я блондинко, Но что-то мне подсказывает, что со звуком на порядки лучши - там же речь о десятках тысяч герц, а не впихнуть в шисят невпихуемое. И какие-то нанопроцентные улучшения малой части входящий информации того что и так должно работать в тыщи раз лучше , чем картинка... Крч я не могу представить.

А в случае с делителями , вы писали, что чем меньше делителя, тем лучше. Но свп прекрасно работает с делителем 10000, я никакого падения производительности или качества не заметил, зато соответвие выходному фпсу с точностью до 6 знака после запятой forum.doom9.org/showthread.php?p=1871890#post1871890 . Там же встретил аргумент, что делитель, меньший чем то что авс флоат поддерживает, имеет смысл чтоб точно выразить 30*1000/1001, якобы там дробь крутая получается и по наносекундам все. Но как я понял, фильмы в основном забивают на 1000/1001, просто 23.976000 используют. Да и сам ависинк флоат все равно походу не крутую дробь выдаст, а просто 6 знаков после запятой, а не 3.

Людям все равно пофиг на знаки после запятой, да и погоня за ними в похожих случаях даст какое-то наноулучшение, не стоящее времени, или вообще надежды на огромные дроби технически бессмысленны из-за пределов

79 (edited by dlr5668 18-04-2019 16:05:16)

Re: Диалоги с душевнобольным

Есть например оборудование, которое держит 50 но не держит 48. Или держит 70 но не держит 72.
Подгон на пару % за счет реклока (или video-sync=display-resample) отлично дает воспользоваться более простой дробью (в данном случае 2/1 и 3/1). Чем проше дробь тем больше оригинальных кадров мы видим.
Я смотрю через сонарр (ставит новый контент в очередь) + торрент + мпв + коди (каталогизация). На озвучку ***, если это не аниме

Re: Диалоги с душевнобольным

>Чем проше дробь тем больше оригинальных кадров мы видим.
В оригинале СВП и так выкидывает половину оригинальных кадров, или прикидывает по по крайней мере, надо ли это делать. Если запустить mode:1 , то каждый ориг кадр будет отображаться 1 раз и нагрузка одна. А если 3, она вырастет. Какая бы дробь не была, mode:1 и так будет отображать ориг кадры 1 раз по крайней мере

Re: Диалоги с душевнобольным

> В оригинале СВП и так выкидывает половину оригинальных кадров
Не в "оригинале". В случае повышения плавности 24>60.
При 25>60 выкидываются 4 из 5-ти. А при 30>60 сохраняются все исходные кадры.

Чтобы добиться равномерности надо идти на такие жертвы. Режим 1m - это компромисс. Все исходные кадры показывает, но часть из них оказываются показанными не в своё время, поэтому равномерность страдает.

ReClock замедляет или ускоряет звук (и видео), чтобы синхронизировать частоту кадров с частотой обновления экрана. Остальное прошу прочитать в документации к ReClock. Приложил.

Post's attachments

Readme.zip 243.48 kb, 117 downloads since 2019-04-19 

82 (edited by Dreamject 19-04-2019 10:06:15)

Re: Диалоги с душевнобольным

Мое капризное имхо, у людей особенно админов бывает сильное преувеличение не очень значащих вещей, лучше математику подключить.

Допустим, индекс человеческого восприятия плавности 1-100/фпс . Допустим, при 50 кадрах он равен -2, чем ближе к единице, тем плавнее. Если будет 500, то 0.8, а если 5000, то 0.98. Но увеличение вычислений и требований на порядки даст относительно малый прирост восприятия.

Скажем, я, не вижу особой разницы между дефолтном и мод1 поведением даже на максималках. А когда узнал, что ноут из-за грелся, что в середине фильма залагивало, был раздосадован, как и когда на слабом железе не работало. что гуй в итоге предлагает бескомпромисные решения типа либо замещаем ориг кадры, либо показываем каждый 2 раза. А если железка набрала достаточно очков, но под свп падает в троттлинг и или использует менее качественные настройки ради несущественного повышения качества плавности (и точно уменьшения качества картинки), по идее вас должно заботить. А меня заботит только в ключе, что хочу смотреть по дефолту плавные фильмы хорошего качества с рандомными людьми без дубляжа и чтоб не приходилось объяснять, почему так лучше.

Я включал выключал реклок, разницы, кроме вспывающего назойливого окна, не заметил. Инструкцию почитаю, но с точки зрения обыватель, свп не изменяет количество времени фильма, звук же ко времени привязан должен быть, а не к герцовке или фреймрейту, но может что открою в домах, Спасибо. Правда щас логику реклока те же легко представить, как 1/1000 от яблока

А чтоб КПД выкидывания ориг кадров рассчитать относительно мод1, надо сооьнести хотя бы расснхрон на исходнике в 24, на 60 в мод1 и мод0. По мне он куда меньше нагрузки, нагрева, ухудшение качества кадра из-за потерь деталей, шумов

83 (edited by dlr5668 19-04-2019 10:24:46)

Re: Диалоги с душевнобольным

"индекс человеческого восприятия плавности" нельзя так просто апроксимировать. 24->48->50 с минимумом артефактов воспринимается лучше чем 24->240 фпс

Re: Диалоги с душевнобольным

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

85 (edited by Dreamject 19-04-2019 18:23:18)

Re: Диалоги с душевнобольным

MAG79 wrote:

> В оригинале СВП и так выкидывает половину оригинальных кадров
Не в "оригинале". В случае повышения плавности 24>60.
При 25>60 выкидываются 4 из 5-ти. А при 30>60 сохраняются все исходные кадры.

Чтобы добиться равномерности надо идти на такие жертвы. Режим 1m - это компромисс. Все исходные кадры показывает, но часть из них оказываются показанными не в своё время, поэтому равномерность страдает.

ReClock замедляет или ускоряет звук (и видео), чтобы синхронизировать частоту кадров с частотой обновления экрана. Остальное прошу прочитать в документации к ReClock. Приложил.

yikes чо бл
https://cs7.pikabu.ru/images/previews_comm/2019-04_3/1555358879152279883.png
Через слово DIVX, DVD Player, щас мамка дендик скажет выключить чтоб кинескоп не сажать. Я блин не разраб конечно, но 2кдевятнадцатый на дворе, плееры и даже браузеры воспроизводят любое-фпсное видео, какая нафиг подгонка. Вот 120фпс

ReClock is born from my own frustration. I have a fast PC, a good video card, and when I play a DVD or DIVX on my brand new Home Cinema, I get dropped frames here and there for no reason, or a completely jerky and un-watch able movie. This is very annoying.

To convert a film that runs at 24 fps to run at 29.97 fps, it is first necessary to slow down the video by 0.1% to 23.976 fps.



Well your PC isn’t smarter that any DVD player

big_smile

Вот 120фпс без всяких реклоков воспроизводится нормально в браузере
https://www.blurbusters.com/wp-content/ … _8mbps.mp4

With the tutorial PCC parameters and resolution 3840x2160@ 23.976Hz(madvr says 23.97457Hz)
It helped me to go from 1 frame repeated every 4 minutes to 1 frame drop every 59.44 minutes.

Что блин плохого в том что кадры повторяются, если это все устройства делают? пусть будет 60гц (хотя там и 60.015 может быть), пусть видео 23.976гц, пусть 1 кадр должен показываться 2,5025025025025025025025025025025 раза, пусть будет округление, 1 кадр покажется 2/60 секунды, другой - 3/60, небольшое плаванье туда-сюда, всё равно проблемы нет, главное чтоб в итоге рассинхрона не было в итоге.

Я не осознаю, что там сдвигает и как сдвигает реклок, но судя по примерам, что он дал мне и в интернете, получается типа
https://audiophilesoft.ru/articles/video_setup/reclock_fix.png
2873570,95/(2873570,95-1048,05)=1,0003648534882002159147277816306
44140/44180=0,99909461294703485740153915799004

В общем какая-то нанокоррекция на десятитысячные доли...

//ПС: я может что-то гоню, всё равно нифига не понятно

86 (edited by dlr5668 19-04-2019 20:56:14)

Re: Диалоги с душевнобольным

давно запускал на реклоке, но вроде там надо 23.976 поставить и чтобы значек зеленым горел (НЕ МИГАЛ) и гдето % поменять (вроде вторая вкладка) на 10% (это диапазон). например 10% даст с 50 до 55 фпс ускорить

Re: Диалоги с душевнобольным

шататель ускорения и в проигрывателе есть, да и у меня этот реклок чот ругается
https://s16.directupload.net/images/190419/temp/ta78cjwo.jpg
если частоту видео до 80.156563 подогнать, когда частота монитора 80,156, тоже просит изменить частоту до кратного 24. в общем хрен знает, что он хочет и зачем, и так всё работает, прогрессивную как интерлейсную видит

88 (edited by dlr5668 20-04-2019 08:24:14)

Re: Диалоги с душевнобольным

Что за дерьмообменник ? грузи картинки на https://imgur.com/ они не открываются big_smile
Реклок капризный, но у меня с mpc-hc x86 и win 10 псоледней нормально завелся

Re: Диалоги с душевнобольным

пора разработать прейскурант на задавание тупых вопросов...

90 (edited by Dreamject 20-04-2019 10:21:32)

Re: Диалоги с душевнобольным

>Что за дерьмообменник ? грузи картинки на https://imgur.com/ они не открываются big_smile
Я надеюсь ты в курсе, что даже в нулевых годах существовало понятие "превью", по которому надо было щёлкнуть и это правда хостинг глюкнул..? Ну нельзя же НАСТОЛЬКО старыми представлениями руководствоваться или не знать, как в интернетах или компах превью работает, что существуют удобные загружалки, имея статус бета тестера и рассуждая о высших материях с типа мадвра реклока.....

//посмотрел профиль, ни одного превью не увидел. чо происходит ваще :О
http://i7.5cm.ru/t/rL2I.jpg

Re: Диалоги с душевнобольным

слущай утомил уже да у меня глаза болят на твои посты смотреть

92 (edited by Dreamject 20-04-2019 11:09:55)

Re: Диалоги с душевнобольным

> reclock
> вроде фейковость какая-то
>Это основополагающая вещь. Какое значение Вы вкладываете в слово "фейк"? Часто его пишете.

СЕКУНДУ
Я кажется понял. Вы использовали реклок для борьбы с реальным рассинхроном аудио-видео после свп, а не по сотым долям?!
Подстройка аудио под текущий фреймрейт видео?!

Если я правильно понял, то это жесть.

В потплеере и думаю в ффмпеге есть галочка "уменьшать задержку видео за счёт ФПС"
https://s16.directupload.net/images/190420/temp/aklodk8c.png 

При её включении если проц не справляется, в том числе если и из-за свп, то невоспроизведённые кадры просто ПРОПУСКАЮТСЯ, синхронизация остаётся, хоть 500 кадров пропусти. Если скажем кадров 60, а в какой-то момент за секунду из-за лагов могло бы быть воспроизведено 30, то без галочки будет рассинхрон 0.5 секунд

НО если этот ваш реклок наоборот замедляет аудио когда замедляется видео, то это ЖУТЧАЙШИЙ обратный костыль, из-за которого будет не то что "идеальная синхронизация до миллионных секунд", а просто скорость аудио будет шататься под скорость лагающего видео, и целиком скорость воспроизведения будет шататься.

Я очень надеюсь, что я заблуждаюсь

93 (edited by James D 20-04-2019 11:20:42)

Re: Диалоги с душевнобольным

Chainik wrote:

пора разработать прейскурант на задавание тупых вопросов...

И двойной - за попытки ответить на них.
P.S. У нас разве можно изображения прикреплять, не относящиеся к скринам ПО? Это не к разделу Флуд относится?

94 (edited by Dreamject 20-04-2019 12:05:45)

Re: Диалоги с душевнобольным

> Это не к разделу Флуд относится?
В реальном тем более современном общении оно всегда выходит за рамки какой-то темы. Если друзья собираются на рыбалку, они не будут исключительно о рыбе разговаривать, либо же общение иссякнет. Плюс у взрослых людей какие-то тупые форумные предрассудки из нулевых, когда правила были актуальны, поэтому щас они вымирают, а молодёжь в такие рамки не полезет. Ну и возможно я нашёл нехилый костыль, который ещё и может не работать, который не работает на 64-версии и подсказал как его решить, это напрямую в их же интересах. В рамках "стандартного" форумного общения, когда критика к ереси приравнивается, когда нет срачей, комьюнити, когда пишут строго по делу и только когда что-то не работает (у меня всё и без реклока катается нормально), какие-то фундаментальные заблуждения нельзя обнаружить

Скажем, разраб когда свп зараждалось и глючило и компы были по 2гб оперативы, нашёл реклок и увидел, что это хорошо, а ЛАВ кодеки может быстрее были. Сознательно люди редко пересматривают взгляды, если "всё работает нормально", поэтому странная программа, которая оперирует терминами, которые я лет 13 назад слышал типа"синхронизирует твой двд/divx под частоту монитора, как это делает двд проигрыватель на телевизоре на ЭЛТ" , может восприниматься разрабами как "основа основ", даже если это какой-то мёртвый динозавр с мёртвым форумом, потому что он давно ненужен

Re: Диалоги с душевнобольным

https://i.imgur.com/x2c53eK.png Вот так у меня твои изображения выглядят big_smile

Re: Диалоги с душевнобольным

Они так выглядят скорее, потому что ты слишкам хакир и походу твои икстеншины скажем "антисупермега приватность тор 1080р впн прокси 2007" фигачат бб-коды/загрузку картинок чтоп не отслежевали и пр. Но вот прямая ссылка или в браузере без хакирства попробуй https://s16.directupload.net/images/190 … 78cjwo.jpg

Опробуй для себя, скажем, ImageUploader - делает  скриншот как угодно, загружает в облако, формирует превьюшки

97 (edited by dlr5668 21-04-2019 10:54:13)

Re: Диалоги с душевнобольным

->Ошибка при установлении защищённого соединения
Я пользуюсь shareX. У меня нет прокси иил впн, чисто ff + ublock

Re: Диалоги с душевнобольным

>->Ошибка при установлении защищённого соединения
Может на компе 1993 стоит. Директаплоад один из дефолтнейших хостингов, выкладывать изображения, которые могут целый экран занять и на форумах ещё вылезти куда-то - дурной тон.

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

Re: Диалоги с душевнобольным

на компе правильная дата стоит big_smile почти на всех форумах есть spoiler tag

100 (edited by Dreamject 26-04-2019 17:39:55)

Re: Диалоги с душевнобольным

https://pp.userapi.com/c855732/v855732518/2b533/qnD9VdlpKNE.jpg
8)
Настройка генерации, расширенные OSDы, дружба с Potplayerом и ffdshow из коробки, импорт в ffdshow через реестр (драг-дроп в батник), поддержка 32 и 64 битных библиотек, самостоятельное avs ядро с поддержкой параметров извне и тд
https://vk.com/doc275347426_500218067

# SuperSVP support vk.com/potplayerms t.me/supersvp

Try{ Core=Core }
catch(err){ 
fps= 45 #1..10 - 1..10X,>10 - target FPS. You can proportionally (targefps-originalfps) decrease CPU load reducing this value

Quality1= 0 Quality2=Quality1 #0-3  0-weakest, 3 - best. As I know, usually in original SVP Quality2=Quality1 , but you can control it manually
ArtefactRemove = 0 BlockSize = 0 #ArtefactRemove 0 - default, 50 - middle, 200 - strong. Bigger values gives less smoothing; BlockSize 0-8, 0-w32, ol0; 1-w32,ol1; 2-w32; 3-ol; 4-ol1; 5-default 16,ol2; 6-w8,ol0; 7-w8,ol1; 8-w8 . Bigger block faster and less noisy, but small have better smooth.
GPU= 1 #  0 - off | 1(11) - 1st GPU on 1st platform | 12 - 2nd GPU on 1st platform | 21 - 1st GPU on 2nd platform...
#BlockSize
Mode= 1 #1 - каждый ориг кадр используется один раз, остальное - расчётные кадры, 0 - из двух ориг кадров остаётся один, остальные расчётные (объясните, ЗАЧЕМ?! Ведь рассчётные хуже и доп нагрузка на ЦПУ), 2 - каждый ориг кадр дублируется (ЗАЧЕМ?! На выходе фейк уплавнение, нагрузка на ГПУ сильно возрастёт),  3 - по ситуации (дефолт), грузит ЦПУ примерно как 0. Я понимаю, что в сложных сценах может быть оправдан переход в 2 режим, но зачем он торчит в нулевом?!

Pel= 1 # 2 is default, higher is slower. The accuracy of the motion estimation. 1 means a precision to the pixel, 2 means a precision to half a pixel, 4 - to quarter pixel (not recommended to use). But Pel=1 is Okay
Thsad="thsad:200"#200 default, 250 for better quality, 1000 for smooth animation, 65000 for... I do not know, but it used some time ago.
Algo= 13 #13  algo for movies, 2 for animation. There is other algos, but they works bad, imho
OSD=2  #Times in seconds to show OSD, 9=infinity

#KOSTYLI - they improve speed, may reduce quality
CoarseWidth="width:530,"#default 1050, higher is slower
WeakGPU= 0 #if your GPU is overload, 1 means linear:false, 2 - cubic:0; 3 - cubic:0,linear:false . In modern version if SVP decides thay you have weak GPU, it paste only linear:false. Cubic:0 is for previous versions
SearchDistance="" #"distance:0," speeds up, but can looks good on GPU. Developers do not use it in script generator
#vectors= 3 #2 loads gpu less, but worse quality
Super_Override=""#like {scale:{up:0},gpu:1}
Analyse_Override=""
Smoothfps_Override=""

SetMemoryMax(2700)
PPcheck=1#WIDTH
PPcheck==1? eval ("""
SetFilterMTMode("ffdshow_source",3)
ffdshow_source()
ConvertToYV12()
global threads=4 #for regular player
""") : eval ("""
global threads=round(1.823 * #CPUS) #valid only for PotPlayer. You can calculate and input numbers of CPU Cores*2 manually
SetFilterMTMode("potplayer_source",3)
potplayer_source()
#ConvertToYV12()
""")}

orignum=FrameRateNumerator
origdenom=FrameRateDenominator


bit=GetProcessInfo()
Try{LoadPlugin(""+String(bit)+"\svpflow1.dll")
LoadPlugin(""+String(bit)+"\svpflow2.dll")}
catch(err){LoadPlugin("AviSynth\"+String(bit)+"\svpflow1.dll")
LoadPlugin("AviSynth\"+String(bit)+"\svpflow2.dll")}
#LoadPlugin("RoboCrop_x86.dll")
#LoadPlugin("C:\Program Files (x86)\SVP 4\plugins\svpflow1.dll")
#LoadPlugin("C:\Program Files (x86)\SVP 4\plugins\svpflow2.dll")
#LoadPlugin("C:\Program Files (x86)\SVP 4\plugins64\svpflow1.dll")
#LoadPlugin("C:\Program Files (x86)\SVP 4\plugins64\svpflow2.dll")
SetFilterMTMode("DEFAULT_MT_MODE",2)
SetFilterMTMode("SVSuper",1)
SetFilterMTMode("SVAnalyse",1)

denum=10000
origframerate=framerate
num=ceil(float(fps)*denum/Framerate)
framerate>40?eval("""num=1 denum=1""") : ""
fps <= 10 ? eval("""rate = "num:"+String(fps)+",den:1" """) : eval(""" rate = "num:"+String(num)+",den:"+String(denum)+",abs:false" """)

weakgpuparam= WeakGPU==1? "linear:false," : WeakGPU==2? "cubic:0," : WeakGPU==3? "linear:false,cubic:0," : ""
gpuid = (gpu>1) ? "gpuid:"+String(gpu)+"," : ""



Quality1 == 0 ? eval("""
AnalyseMainSearchCoarse="satd:false,"
""") : Quality1 == 1 ? eval("""
AnalyseMainSearchCoarse="type:2,distance:-6,"
""") : Quality1 == 2 ? eval("""
AnalyseMainSearchCoarse="distance:-8,"
""") : Quality1 == -1 ? eval("""
AnalyseMainSearchCoarse="distance:-8,"#okay...
Super_Override=""#like {scale:{up:0},pel:1,gpu:1}
Analyse_Override="{block:{w:32,overlap:0},main:{search:{type:2,distance:0,coarse:{width:530,type:2,distance:-1,satd:false,bad:{range:0}}},refine:[{thsad:200,search:{type:2,distance:0}}]}}}"
Smoothfps_Override=""
""") : Quality1 == -2 ? eval("""
AnalyseMainSearchCoarse="distance:-8,"#okay...
Super_Override="{scale:{up:0,down:2},gpu:1,pel:1,full:false}"#like {scale:{up:0},gpu:1}
Analyse_Override="{block:{w:32,overlap:0},main:{search:{type:2,distance:0,coarse:{width:530,type:2,distance:-1,satd:false,bad:{range:0}}},refine:[{thsad:0,search:{type:2,distance:0}}]}}}"
Smoothfps_Override=""
""") : eval ("""
AnalyseMainSearchCoarse="distance:-12,"
""")

AnalyseMainQuality2=""

Quality2 == 0 ? eval("""
AnalyseMainQuality2="range:0"
""") : Quality2 == 1 ? eval("""
""") : Quality2 == 2 ? eval("""
AnalyseMainQuality2="sad:2000,range:24"
""") : eval ("""
AnalyseMainQuality2="sad:2000"
""")

pel < 2 ? eval("""
pelparams="pel:1,full:false"
""") : eval("""
pelparams="pel:"+String(pel)+""
""")
AnalyseBlock = BlockSize==0 ? "block:{w:32,overlap:0}," : BlockSize==1 ? "block:{w:32,overlap:1}," : BlockSize==2 ? "block:{w:32}," : BlockSize==3 ? "block:{overlap:0}," : BlockSize==4 ? "block:{overlap:1}," : BlockSize==5 ? "block:{}," : BlockSize==6 ? "block:{w:8,overlap:0}," : BlockSize==7 ? "block:{w:8,overlap:1}," : BlockSize==8 ? "block:{w:8}," : "block:{}," 
BlockSizePx = BlockSize==0 ? "32" : BlockSize==1 ? "28" : BlockSize==2 ? "24" : BlockSize==3 ? "16" : BlockSize==4 ? "14" : BlockSize==5 ? "12" : BlockSize==6 ? "8" : BlockSize==7 ? "7" : BlockSize==8 ? "6" : "12" 

gpuparams = gpu>0 ? "scale:{up:0},gpu:1" : "scale:{up:2},gpu:0"

#MultiplerW=width/DisplayW
#MultiplerH=height/DisplayH
##width*height<DisplayW*DisplayW? OverrideRes=0 : OverrideRes=1
#OverrideRes==1?eval(""" """)
#MultiplerW>MultiplerH? cropstring="width/MultiplerW,height/MultiplerH,c=0.75":cropstring=""

#RoboCrop()

global source_width = width
global source_height = height
global crop_string  = ""
global resize_string = ""#BicubicResize(1366,768,b=0,c=0.75)"
global super_params     = Super_Override=="" ? "{"+gpuparams+","+pelparams+"}" : Super_Override
#global analyse_params   = "{"+AnalyseBlock+"main:{search:{type:2,"+SearchDistance+"coarse:{"+CoarseWidth+""+AnalyseMainSearchCoarse+" bad:{"+AnalyseMainQuality2+"}}},refine:[{"+thsad+"}]}}}"
part1="{"+AnalyseBlock+"main:{search:{"+SearchDistance+"coarse:{"+CoarseWidth+""+AnalyseMainSearchCoarse+""
part2="bad:{"+AnalyseMainQuality2+"}},type:2}},refine:[{"+thsad+",search:{}}]}"
global analyse_params = Analyse_Override == "" ? ""+part1+""+part2+"" :  Analyse_Override
global smoothfps_params = Smoothfps_Override=="" ? "{"+weakgpuparam+"rate:{"+rate+"},"+gpuid+"algo:"+String(algo)+",mask:{area:"+String(ArtefactRemove)+"},scene:{mode:"+String(mode)+"}}" : Smoothfps_Override

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.


NewWidth = 1366
NewHeight = 768
SourceAspect = float(source_width) / float(source_height)
MyAspect = float(NewWidth) / float(NewHeight)
SourceAspect > MyAspect ? eval("""
ResizedWidth=NewWidth
ResizedHeight=round(float(source_height) * float(NewWidth) / float(source_width) / 2.0) * 2
""") : eval("""
ResizedHeight=NewHeight
ResizedWidth=round(float(source_width) * float(NewHeight) / float(source_height) / 2.0  ) * 2
""")
#resize_string="BicubicResize("+String(ResizedWidth)+","+String(ResizedHeight)+",b=0,c=0.75)"

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 ###########

#override= Analyse_Override=="" || Smoothfps_Override=="" ||Super_Override=="" ? "" : "OVERRIDE MODE" WTF why dont works
override= Analyse_Override!="" ? "OVERRIDE MODE" : Smoothfps_Override!="" ? "OVERRIDE MODE" : Super_Override!="" ? "OVERRIDE MODE" : ""
#"Orignumden="+String(orignum)+"/"+String(Origdenom)+"->"+String(FrameRateNumerator)+"/"+String(FrameRateDenominator)+"/8\n" + \  
SourceAspect = float(source_width) / float(source_height)
targetframerate=framerate
OSDtime= OSD==9? (Framecount-1) : round(float(FrameRateNumerator)*OSD/FrameRateDenominator)    
OSD>0? eval("""
fontsize=round(40*width/1920.0)
Subtitle( \
 ""+String(source_width)+"x"+String(source_height)+" "+String(SourceAspect)+":1 "+String(origframerate)+"*"+String(float(num)/denum)+"="+String(targetframerate)+"("+String(fps)+") "+override+" SuperSVP support vk.com/potplayerms t.me/supersvp \n" + \   
 "Quality1:"+String(Quality1)+"/3, Quality2:"+String(Quality2)+"/3\n" + \  
 "ArtefactRemove:"+String(ArtefactRemove)+", Block:"+String(BlockSize)+"/8 "+BlockSizePx+"px\n" + \  
 "GPU:"+String(gpu)+", Mode:"+String(mode)+"/3\n" + \  
 "Pel:"+String(pel)+"/4, Threads:"+String(threads)+"\n" + \  
 "WeakGPU:"+String(weakgpu)+"/3, Coarse"+String(CoarseWidth)+" Search"+String(SearchDistance)+"\n" + \
 "OSD:"+String(OSD)+"sec, OSDframes:"+String(OSDtime)+"\n" , \
         font="Comic Sans MS", size=fontsize, lsp=10, last_frame = OSDtime )
Subtitle( \
  "PPcheck:"+String(PPcheck)+"\n" + \
  ""+super_params+"\n" + \
  ""+part1+"\n"  + \
  ""+part2+"\n"  + \
  ""+smoothfps_params+"\n", \
         font="Comic Sans MS", size=40*width/1920, y= height-6*fontsize, lsp=10, last_frame = OSDtime )

""") : ("")

WriteFileStart("someinfo.txt", "analyse_params")




Prefetch(threads)
/*
190424
Более быстрый и корректный скрипт, запись лаконичнее
Исправлена ошибка, приводящая к нарушению генерации скрипта. Рефайн отодвинут, поиску присвоено значение по умолчанию type:2
Debug переименован в OSD, запись по возможности более лаконичная запись
Упрощённая запись ОСДов - если указать 0, то её не будет, если указать 9 - она будет идти вечно, если указать любое другое значение - она будет столько секунд, сколько надо
*/