totalz
Your spec is good enough to smooth video play. Just you need to tune it.
How many displays connected to your PC?
You are not logged in. Please login or register.
SmoothVideo Project → Posts by MAG79
totalz
Your spec is good enough to smooth video play. Just you need to tune it.
How many displays connected to your PC?
totalz
Any you want.
SVP does motion interpolation.
madVR's smooth motion does frame blending.
I don't use madVR's smooth motion because I not need in frame blending. I use SVP + ReClock. This combination gives me framerate synchronized to refreshrate of my monitor. With perfect sharpness.
smart
MSU Stereo to Multiview... MSU_FRC... в чем разница?
Первый продукт публично недоступен, второй - доступен. По описанию MSU Stereo to Multiview карты глубины не используются, другие технические детали не раскрыты. Можно предположить, что это близкие по существу продукты. В любом случае нам доступен только MSU_FRC 2007-го года.
Утверждают что их алгоритм наиболее качествененн
Где они это утверждают? не нашел.
SVP можно сравнивать с их результатами?
Если разговор про MSU_FRC - то можно, уже сравнивалось ранее. Библиотека MSU_FRC перестала развиваться и безнадежно отстала от библиотеки MVTools, которая переросла в набор библиотек SVPFlow и развивается до сих пор в рамках проекта SVP.
Как с помощью SVP создать из двух кадров стереопары, некоторое количество промежуточных кадров, по возможности наилучшего качества?
Написать avs-скрипт с использованием SVPFlow и сохранить результат отдельными картинками, например, при помощи AvsP.
Пример скрипта:
ImageSource("01.png",end=0)
left=Crop(0, 0, -0, -540)
right=Crop(0, 540, -0, -0)
left+right
BicubicResize(960,540).Crop(1,1,-1,-1)ConvertToYV12
super=SVSuper("{gpu:1}")
vectors=SVAnalyse(super, "{}")
SVSmoothFps(super, vectors, "{rate:{num:10}}", url="www.svp-team.com")Пример результата:
Использовался 6-й скриншот из этой раздачи Аватара (Вертикальная анаморфная стереопара)
gilbertroyalva
Error: File can't be deleted
C:\Users\GilbertRoyAlva\AppData\Roaming\SVP 3.1\Logs\WSFError.txt
This error can be if you have "aggressive" antivirus software installed on your system. It blocks this file. Try to add folder C:\Users\GilbertRoyAlva\AppData\Roaming\SVP 3.1\Logs\ to exception list of your AV software.
Kanade
1. via SVP only:
2. Intepolating via SVP & blending via madVR:
- in SVP select frame doubling: Double click on icon ehan playing - Target frame rate: Double source frame rate - OK;
- in madVR enable smooth motion: rendering - smooth motion - enable - OK
is there anything else I can try to remove the dragonfly artifacts completely?
You can try to change any settings. All main settings I told you before. You can reduce visibility of artifacts but it is impossible to remove this kind of artifatcs completely.
DAAO
Что за сторонняя прога?
himspb
Поздравляю. Было обычное несовпадение частот, которое давало накапливающуюся регулярную ошибку, приводившую к повтору кадра каждые 15 сек.
Размер экрана и частота обновления: 1920x1080 pixels, 60.005 Hz
Результирующая частота видеокадров: 59.94 fps
Повтор 1 кадра каждые 15 сек (без ReClock)
ReClock дотягивает частоту кадров до точного совпадения с частотой обновления экрана, тем самым исключая эту регулярную ошибку.
himspb
Такое вполне может быть, если не используется ReClock.
Что пишет madVR в статистике по Crl-J?
Интересует точная частота экрана и строчка про регулярный пропуск или повторение кадра. Можно скриншотом.
Эта же информация есть в SVP - показать - дополнительную информацию.
Добавлю объективности к выше сказанному.
Написал небольшой скрипт определения количества дублей в файле. Посчитал для имеющихся трех файлов.
Итак, Цифры, характеризующие качество работы вышеприведенных скриптов:
В исходном файле BF4_720p60.mp4 1142 одиночных выпавших кадра и 56 двойных.
В файле BF4_720p60_DropsFixed.mkv 318 одиночных выпавших кадра и 84 двойных.
В файле BF4_720p60_DropsFixed_v2.mkv 189 одиночных выпавших кадра и 96 двойных.
Видно, что число одиночных выпавших кадров во второй версии сокращено еще почти вдвое. Причину, по которой растет число двойных выпавших кадров я пока не знаю, но найду. А вот что самое главное, раз я теперь умею считать эти кадры, то смогу и заменить их, не пропустив ни одного. ![]()
Исправил несколько ошибок в предыдущем скрипте, переназвал вставляемые кадры по-правильному: как они соотносятся во времени к заменяемому:
fix50 - взять кадр между текущим и следующим по середине (+50%);
-fix50 - взять кадр между текущим и предыдущим по середине (-50%);
-fix33 & fix33 - всегда идут парой друг за другом с той же логикой: (-33% и 33%);
Картинки-диаграммы движения с выпавшим кадром, которые умеет восстанавливать скрипт:
Скрипт GameDropFix_v2
SetMemoryMax(1024)
global svp_scheduler=true
global threads=3
global svp_cache_fwd=threads+2
LoadPlugin("C:\Program Files (x86)\SVP 3.1.4\plugins\svpflow1.dll")
LoadPlugin("C:\Program Files (x86)\SVP 3.1.4\plugins\svpflow2.dll")
SetMTMode(3,threads)
DSS2("G:\Downloads\Game_60fps_trailer\BF4_720p60.mp4").ConvertToYV12()
SetMTMode(2)
global super_params_mini="{scale:{up:0},gpu:1}"
global analyse_params_mini="{block:{w:16,h:16}}"
mini=BicubicResize(width/2,height/2)
super_mini=mini.SVSuper(super_params_mini)
vectors_mini=SVAnalyse(super_mini, analyse_params_mini)
vectors_Forward=SVConvert(vectors_mini, false)
HorizontalSpeed_luma=mini.MMask(vectors_Forward, kind=3).convertToRGB32().PointResize(width/32, height/32).PointResize(width/8, height/8).ConvertToYV12().mt_lut(y=2, u=128, v=128)
global super_params="{scale:{up:0},gpu:1}"
global analyse_params="{main:{search:{coarse:{distance:4,bad:{sad:2000}},type:2,distance:4},penalty:{lambda:1,pglobal:10000}},refine:[{thsad:65000}]}"
global smoothfps_params_2_1="{gpuid:21,rate:{num:2,den:1},algo:13,scene:{limits:{blocks:50}}}"
global smoothfps_params_3_1="{gpuid:21,rate:{num:3,den:1},algo:13,scene:{limits:{blocks:50}}}"
super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
global fix50 = SVSmoothFps(super, vectors, smoothfps_params_2_1, mt=threads, url="www.svp-team.com").SelectOdd()
fix_3_1 = SVSmoothFps(super, vectors, smoothfps_params_3_1, mt=threads, url="www.svp-team.com")
global fix33 = fix_3_1.SelectEvery(3,1).Subtitle("fix33", align=3, size=12)
global fix66 = fix_3_1.SelectEvery(3,2).Subtitle("-fix33", align=3, size=12)
global min_move=0.02
global move_idx=10
global debug=0
global spc=" "
global fmt="% 1.2f"
global star="*"
global fix50t="fix50"
global fix50nt="-fix50"
last.ScriptClip("
luma_lft=HorizontalSpeed_luma.crop(0,0,width/32,0)
luma_rgh=HorizontalSpeed_luma.crop(width/32+width/16,0,0,0)
AvgLuma_lft=128-luma_lft.AverageLuma
AvgLuma_rgh=128-luma_rgh.AverageLuma
AvgLuma_lft_prev=128-(luma_lft.trim(1,1)+luma_lft).AverageLuma
AvgLuma_rgh_prev=128-(luma_rgh.trim(1,1)+luma_rgh).AverageLuma
AvgLuma_lft_next=128-luma_lft.trim(1,0).AverageLuma
AvgLuma_rgh_next=128-luma_rgh.trim(1,0).AverageLuma
AvgLuma_lft_next2=128-luma_lft.trim(2,0).AverageLuma
AvgLuma_rgh_next2=128-luma_rgh.trim(2,0).AverageLuma
Max_lft=max(abs(AvgLuma_lft_prev),abs(AvgLuma_lft),abs(AvgLuma_lft_next))
Max_rgh=max(abs(AvgLuma_rgh_prev),abs(AvgLuma_rgh),abs(AvgLuma_rgh_next))
A_prev= (Max_rgh>Max_lft) ? AvgLuma_rgh_prev : AvgLuma_lft_prev
A_cur= (Max_rgh>Max_lft) ? AvgLuma_rgh : AvgLuma_lft
A_next= (Max_rgh>Max_lft) ? AvgLuma_rgh_next : AvgLuma_lft_next
drop_lft= (AvgLuma_lft_prev*AvgLuma_lft_next>0 && abs(AvgLuma_lft*move_idx)<Max_lft && abs(AvgLuma_lft_prev)>min_move && abs(AvgLuma_lft_next)>min_move && abs(AvgLuma_lft)<=min_move) ? 1 : 0
drop_rgh= (AvgLuma_rgh_prev*AvgLuma_rgh_next>0 && abs(AvgLuma_rgh*move_idx)<Max_rgh && abs(AvgLuma_rgh_prev)>min_move && abs(AvgLuma_rgh_next)>min_move && abs(AvgLuma_rgh)<=min_move) ? 1 : 0
drop = drop_lft*drop_rgh
drop = (drop==0 && A_cur==0 && abs(A_prev)>min_move && abs(A_next)>min_move) ? 1 : drop
Max_lft2=max(abs(AvgLuma_lft),abs(AvgLuma_lft_next),abs(AvgLuma_lft_next2))
Max_rgh2=max(abs(AvgLuma_rgh),abs(AvgLuma_rgh_next),abs(AvgLuma_rgh_next2))
A_prev2= (Max_rgh2>Max_lft2) ? AvgLuma_rgh : AvgLuma_lft
A_cur2= (Max_rgh2>Max_lft2) ? AvgLuma_rgh_next : AvgLuma_lft_next
A_next2= (Max_rgh2>Max_lft2) ? AvgLuma_rgh_next2 : AvgLuma_lft_next2
drop_lft2= (AvgLuma_lft*AvgLuma_lft_next2>0 && abs(AvgLuma_lft_next*move_idx)<Max_lft2 && abs(AvgLuma_lft)>min_move && abs(AvgLuma_lft_next2)>min_move && abs(AvgLuma_lft_next)<=min_move) ? 1 : 0
drop_rgh2= (AvgLuma_rgh*AvgLuma_rgh_next2>0 && abs(AvgLuma_rgh_next*move_idx)<Max_rgh2 && abs(AvgLuma_rgh)>min_move && abs(AvgLuma_rgh_next2)>min_move && abs(AvgLuma_rgh_next)<=min_move) ? 1 : 0
drop2 = drop_lft2*drop_rgh2
drop2 = (drop2==0 && A_cur2==0 && abs(A_prev2)>min_move && abs(A_next2)>min_move) ? 1 : drop2
drop2==1 \
? abs(A_prev2)/1.3>abs(A_next2) \
? (fix50.trim(1,1)+fix50).Subtitle(fix50nt, align=3, size=12) \
: (abs(A_prev2)/1.3<=abs(A_next2) && abs(A_prev2)>=abs(A_next2)/1.3) \
? fix66.trim(1,1)+fix66 \
: last \
: last
drop==1 \
? abs(A_prev)<abs(A_next)/1.3 \
? fix50.Subtitle(fix50t, align=3, size=12) \
: abs(A_prev)/1.3<=abs(A_next) \
? fix33 \
: last \
: last
debug==1 ? Subtitle(x=10,y=10,string(AvgLuma_lft_prev,fmt)+spc+string(AvgLuma_rgh_prev,fmt)) : last
debug==1 ? Subtitle(x=10,y=30,string(AvgLuma_lft,fmt)+spc+string(AvgLuma_rgh,fmt),text_color=$FF8888) : last
debug==1 ? Subtitle(x=10,y=50,string(AvgLuma_lft_next,fmt)+spc+string(AvgLuma_rgh_next,fmt)) : last
debug==1 ? Subtitle(x=10,y=70,string(AvgLuma_lft_next2,fmt)+spc+string(AvgLuma_rgh_next2,fmt)) : last
debug==1 ? Max_rgh>Max_lft ? Subtitle(x=70,y=90,star) : Subtitle(x=20,y=90,star) : last
debug==1 ? Subtitle(x=10,y=110,string(drop_lft)+spc+string(drop_rgh)+spc+string(drop)) : last
(debug==1 && drop==1 && abs(A_prev)/1.3>abs(A_next)) ? Subtitle(x=10,y=130, star+star+star+star+star+star) : last
")
trim(0,framecount-10)
Distributor()Результат работы скрипта стал лучше:
BF4_720p60_DropsFixed_v2.mkv (1,22 ГБ)
danila_112
есть неиспользуемые резервы CPU в размере 30%
Их не надо использовать. Иначе в погоне за качеством получите подергивания и тормоза. 30% - это минимально необходимый резерв.
danila_112
могу сказать определенно сейчас плавность супер и загрузка процессора не более 70%
Я рад, что получилось. Мои поздравления! ![]()
Kanade
If you have any antivirus software then you need to disable virus check in this folder. You need add to exception list your folder: C:\Users\Eric\AppData\Roaming\SVP 3.1\Logs
Error appears because avisynth can not write to file just created by him. AV soft is taking this file for some time. It is unexpected to avisynth.
Подкинул тут Булат95 ссылку на плавный трейлер игрушки BattleField 4.
Трейлеры 720p и 1080p и правда имеют 60 к/сек, но вот только во многих сценах присутствуют выпавшие кадры. Мне это дело не очень понравилось, поэтому решил попытать свои силы в задаче повышения плавности игровым трейлерам. ![]()
Заодно развить алгоритм замены выпавших кадров.
Вышел довольно сложный, но мощный скрипт: GameDropFix
SetMemoryMax(1024)
global svp_scheduler=true
global threads=7
global svp_cache_fwd=threads+2
LoadPlugin("C:\Program Files (x86)\SVP 3.1.4\plugins\svpflow1.dll")
LoadPlugin("C:\Program Files (x86)\SVP 3.1.4\plugins\svpflow2.dll")
SetMTMode(3,threads)
DSS2("G:\Downloads\Game_60fps_trailer\BF4_720p60.mp4").ConvertToYV12()
SetMTMode(2)
global super_params_mini="{scale:{up:0},gpu:1}"
global analyse_params_mini="{block:{w:16,h:16}}"
mini=BicubicResize(width/2,height/2)
super_mini=mini.SVSuper(super_params_mini)
vectors_mini=SVAnalyse(super_mini, analyse_params_mini)
vectors_Forward=SVConvert(vectors_mini, false)
HorizontalSpeed_luma=mini.MMask(vectors_Forward, kind=3).convertToRGB32().PointResize(width/32, height/32).PointResize(width/8, height/8).ConvertToYV12().mt_lut(y=2, u=128, v=128)
global super_params="{scale:{up:0},gpu:1}"
global analyse_params="{main:{search:{coarse:{distance:4,bad:{sad:2000}},type:2,distance:4},penalty:{lambda:1,pglobal:10000}},refine:[{thsad:65000}]}"
global smoothfps_params="{gpuid:21,rate:{num:2,den:1},algo:13,scene:{limits:{blocks:50}}}"
global smoothfps_params3366="{gpuid:21,rate:{num:3,den:1},algo:13,scene:{limits:{blocks:50}}}"
super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
global fix50 = SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com").SelectOdd().Subtitle("fix50", align=3, size=12)
fix3366 = SVSmoothFps(super, vectors, smoothfps_params3366, mt=threads, url="www.svp-team.com")
global fix33 = fix3366.SelectEvery(3,1).Subtitle("fix33", align=3, size=12)
global fix66 = fix3366.SelectEvery(3,2).Subtitle("fix66", align=3, size=12)
global min_move=0.02
global move_idx=10
global debug=0
global spc=" "
global fmt="% 1.2f"
global star="*"
last.ScriptClip("
luma_lft=HorizontalSpeed_luma.crop(0,0,width/32,0)
luma_rgh=HorizontalSpeed_luma.crop(width/32+width/16,0,0,0)
AvgLuma_lft=128-luma_lft.AverageLuma
AvgLuma_rgh=128-luma_rgh.AverageLuma
AvgLuma_lft_prev=128-(luma_lft.trim(1,1)+luma_lft).AverageLuma
AvgLuma_rgh_prev=128-(luma_rgh.trim(1,1)+luma_rgh).AverageLuma
AvgLuma_lft_next=128-luma_lft.trim(1,0).AverageLuma
AvgLuma_rgh_next=128-luma_rgh.trim(1,0).AverageLuma
AvgLuma_lft_next2=128-luma_lft.trim(2,0).AverageLuma
AvgLuma_rgh_next2=128-luma_rgh.trim(2,0).AverageLuma
Max_lft=max(abs(AvgLuma_lft_prev),abs(AvgLuma_lft),abs(AvgLuma_lft_next))
Max_rgh=max(abs(AvgLuma_rgh_prev),abs(AvgLuma_rgh),abs(AvgLuma_rgh_next))
A_prev= (Max_rgh>Max_lft) ? AvgLuma_rgh_prev : AvgLuma_lft_prev
A_cur= (Max_rgh>Max_lft) ? AvgLuma_rgh : AvgLuma_lft
A_next= (Max_rgh>Max_lft) ? AvgLuma_rgh_next : AvgLuma_lft_next
drop_lft= (AvgLuma_lft_prev*AvgLuma_lft_next>0 && abs(AvgLuma_lft*move_idx)<Max_lft && abs(AvgLuma_lft_prev)>min_move && abs(AvgLuma_lft_next)>min_move) ? 1 : 0
drop_rgh= (AvgLuma_rgh_prev*AvgLuma_rgh_next>0 && abs(AvgLuma_rgh*move_idx)<Max_rgh && abs(AvgLuma_rgh_prev)>min_move && abs(AvgLuma_rgh_next)>min_move) ? 1 : 0
drop = drop_lft*drop_rgh
Max_lft2=max(abs(AvgLuma_lft),abs(AvgLuma_lft_next),abs(AvgLuma_lft_next2))
Max_rgh2=max(abs(AvgLuma_rgh),abs(AvgLuma_rgh_next),abs(AvgLuma_rgh_next2))
A_prev2= (Max_rgh2>Max_lft2) ? AvgLuma_rgh : AvgLuma_lft
A_cur2= (Max_rgh2>Max_lft2) ? AvgLuma_rgh_next : AvgLuma_lft_next
A_next2= (Max_rgh2>Max_lft2) ? AvgLuma_rgh_next2 : AvgLuma_lft_next2
drop_lft2= (AvgLuma_lft*AvgLuma_lft_next2>0 && abs(AvgLuma_lft_next*move_idx)<Max_lft2 && abs(AvgLuma_lft)>min_move && abs(AvgLuma_lft_next2)>min_move) ? 1 : 0
drop_rgh2= (AvgLuma_rgh*AvgLuma_rgh_next2>0 && abs(AvgLuma_rgh_next*move_idx)<Max_rgh2 && abs(AvgLuma_rgh)>min_move && abs(AvgLuma_rgh_next2)>min_move) ? 1 : 0
drop2 = drop_lft2*drop_rgh2
drop2==1 \
? abs(A_prev2)/1.3>abs(A_next2) \
? fix50.trim(1,1)+fix50 \
: (abs(A_prev2)/1.3<=abs(A_next2) && abs(A_prev2)>=abs(A_next2)/1.3) \
? fix66.trim(1,1)+fix66 \
: last \
: last
drop==1 \
? abs(A_prev)/1.3<=abs(A_next) \
? fix50 \
: abs(A_prev)<=abs(A_next)/1.3 \
? fix33 \
: last \
: last
debug==1 ? Subtitle(x=10,y=10,string(AvgLuma_lft_prev,fmt)+spc+string(AvgLuma_rgh_prev,fmt)) : last
debug==1 ? Subtitle(x=10,y=30,string(AvgLuma_lft,fmt)+spc+string(AvgLuma_rgh,fmt),text_color=$FF8888) : last
debug==1 ? Subtitle(x=10,y=50,string(AvgLuma_lft_next,fmt)+spc+string(AvgLuma_rgh_next,fmt)) : last
debug==1 ? Subtitle(x=10,y=70,string(AvgLuma_lft_next2,fmt)+spc+string(AvgLuma_rgh_next2,fmt)) : last
debug==1 ? Max_rgh>Max_lft ? Subtitle(x=70,y=90,star) : Subtitle(x=20,y=90,star) : last
debug==1 ? Subtitle(x=10,y=110,string(drop_lft)+spc+string(drop_rgh)+spc+string(drop)) : last
(debug==1 && drop==1 && abs(A_prev)/1.3>abs(A_next)) ? Subtitle(x=10,y=130, star+star+star+star+star+star) : last
")
Distributor()Это пока предварительный вариант в стадии работающего прототипа. Настройки максимальной подвижности при интерполировании взяты такие же, как для повышения плавности видео с видеорегистратора. Т.к. характер движений в таком видео очень схож.
Скрипт умеет заменять одиночные выпавшие кадры, но с дополнительным анализом величины движений в соседних кадрах, что позволяет выявить три разных вида одиночных дропов с индивидуальным исправлением этих дропов в каждом из трех случаев.
Случай 1. Классический. Дроп, затем скачок.
Перед выпавшим кадром движение обычной амплитуды, на самом выпавшем кадре движений нет, на следующем за ним кадре - движение в два раза больше из-за пропуска фазы движения. Такой дроп лечится классической заменой кадра-дропа интерполированным кадром, взятого посередине длинного движения. На картинке обозначен: fix50.
Случай 2. Обратный. Скачок, затем дроп.
Перед выпавшим кадром по какой-то причине игровой движок показывает кадр из будущего. Выглядит как скачок. А за ним следует дроп. Видимо движок игры неровно тратит время на отрисовку кадров и если предыдущий кадр ему дался легко, то со следующим он провозился так долго, что не успел подготовить кадр до следующего синхроимпульса монитора, пришлось повторить имеющийся, т.е. вывести дроп. Такой дроп лечится хитро. Вторая копия кадра оставляется нетронутой, а первая заменяется на fix50.
Случай 3. Пропуск кадра из-за низкой частоты рендера кадров игровым движком.
И перед выпавшим кадром и после него нет скачков. Кадра просто не считалось игрой изначально. Если заменить такой дроп на один интерполированный по середине с соседом кадр, то получим два кадра с уполовиненным по скорости движением. Я пока решил интерполировать оба кадра, которые ограничивают кадровый интервал. Первый кадр интерполирую с левым, получая положение 66%: fix66, второй кадр - с правым до положения 33%: fix33.
Таким образом получаю вместо дропа серию из трех замедленных на 33% но равномерно двигающихся кадров. Выглядит уже лучше, чем дерганный исходник.
Все желающие могут скачать и посмотреть результат:
BF4_720p60_DropsFixed.mkv (1,21 ГБ)
jkauff
If simple then go to reset profiles dialog and select lighter profile from the list than current.
jkauff
Yes. Thank you for reminding. ![]()
One-frame DVD menu is hard thing for me. I tried several times, but I could not fixed it a once.
I will be try again. I had a good rest for that ![]()
Почемучкин
Правой кнопкой по окну плеера во время воспроизведения файла.
MPC-HC:
PotPlayer:
Kanade
Do you mean as in seek slowly and not fast?
No. I mean programmers trincks. Just released in SVP. You can see them in "SVP menu - Turn off on seek" option.
One more thing, to update any components (for example: SVP lite, fddshow and avisynch) do I download the latest installers and just run them?
Or do I have to delete everything first and than install?
If you advanced user and use a lot of software that uses avisynth/ffdShow then install them separately manually. Otherwise just douwnload and install SVP_full. Last version of SVP usually contains all last versions of used compinents.
danila_112
Нет.
Включенный GPU - это галка в меню SVP, которая включает использование GPU-ускорения.
Профили с буквами g/c - это только наборы настроек подобранные с учетом того, что GPU-ускорение забирает (или нет) на себя часть нагрузки с процессора. Буква g/c - это только название, которое никак не влияет на GPU-ускорение. Поэтому после включения/отключения GPU-ускорения рекомендуется сбрасывать профили, чтобы выбрался соответствующий набор профилей под текущую конфигурацию.
Почемучкин
Что там в меню по правой кнопке при отключенном SVP?
Интересует список DS-фильтров.
Если использовать только рекомендуемые фильтры (устанавливаемые пакетом SVP_full), то никаких ошибок и зависаний. Давайте выяснять, что у Вас нестандартного в списке фильтров.
danila_112
всё это при использовании расчётов GPU?
Да. При процессорном построении точность расчетов пиксельная и полу-пиксельная. В зависимости от настройки в профиле.
OpenCL выключен, если всё так оставить, то после обновления SVP станут движения плавнее?
Нет, без OpenCL все останется как было.
судя по выводам скорости SVP не добавилось, и я опять буду иметь затыки\рассинхроны звука и видео
На 13-м шейдере скорость прибавилась. Я могу у себя смотреть 720p с пиксельным шейдером повышения резкости sharpen complex2, SVP-шейдером 13. И все это на Intel HD Graphics 4000.
Почемучкин
Поздравляю!
Значит, MPC-HC плеер использует встроенный декодер, который оказался лучше совместим с SVP, чем тот, который использовался у Вас в системе до этого.
Почемучкин
выводится окошко с сообщением об ошибке
Привести текст ошибки полностью.
R4Zi3L
The error tell about lack of graphic memory.
Error preparing smooth playback! Script error:
SVSmoothFps: unable to init FlowLib [code 0x3FFFA]
(C:\Users\DESKTOP\AppData\Roaming\SVP 3.1\AVS\ffdshow.avs, line 38)
(C:\Users\DESKTOP\AppData\Roaming\SVP 3.1\AVS\ffdshow.avs, line 53)
It is because of old graphic card with low memory size.
detected graphics (OpenCL) adapter: 11. GeForce 9600 GT (264). Duration: 16 ms
You need to optimize video memory use.
Look at video memory use by enabling/changing/disabling of these components:
- CUDA decoder;
- SVP GPU-calculations;
- video renderer.
You can use GPU-Z to monitor used memory size.
Additional topic to read: Out of video memory (0x3FFFA error) on madVR
В новой версии драйверов Intel наконец-то исправлена ошибка, не позволявшая использовать субпиксельную точность расчетов промежуточных кадров. Это делало движения не достаточно плавными. Ступенчатыми. Теперь после установки драйвера 9.18.10.3071 плавность становится идеальной, такой же, как и на остальных GPU-ускорителях от NVIDIA и AMD.
Модификация SVP 3.1.4 добавляющая субпиксельную точность для ускорителей Intel HD Graphics 2500 / 4000.
- Скачать и установить драйвера 9.18.10.3071
- Скачать: SVPMgr314.912_HD_Graphics_subpixel_mod.zip
Скорость новых драйверов Intel в среднем стала немного выше. Картина следующая. Результаты синтетических тестов упали, а реальных тестов где-то возрасли, где-то упали.
Увеличилась скорость реальных тестов на простых и средних настройках плавности (fastest, simple 1, good, simple 2). Результаты реальных тестов на максимальных настройках упали (high, highest). Скорее всего из-за того, что объективно уменьшилась скорость работы видеокарты: видно по синтетическим тестам. Скорость передачи данных с GPU на CPU упала аж на 33%.
Отчего же наблюдается прирост в целом и на слабых/средних настройках повышения плавности? Скорее всего из-за того, что оптимизированы были только некоторые простые команды, выполняющиеся на GPU. В результате чего SVP шейдеры 1 и 13 стали быстрее, а тяжелый SVP-шейдер 23 стал работать медленней (см. настройки подтестов SVPmark).
Это надо взять на заметку пользователям Intel HD Graphics.
SmoothVideo Project → Posts by MAG79
Powered by PunBB, supported by Informer Technologies, Inc.