1 (edited by sch5 09-11-2015 04:15:50)

Topic: Scripting SVP 4 (avisynth)

Hey!

I recently just purchased SVP 4 in the hope that i can get a full featured plug for my avisynth chain i'm building in order to upsample some 24i ntsc dvd cartoon to a 1080p60 video.
So far the results are nice with the free version, and i already spent some fine hours trying to figure out the sorcery behind this exceptionally great tool you provide.

Do you maybe happen to have any updated/more detailed source of information regarding the plugin usage? https://www.svp-team.com/wiki/Plugins:_SVPflow
The link i found on your site doesn't seem to explain the usage nor 100% compatible with the actual dll's i just downloaded.

I'm just wondering if the full featured version might give better interpolation/rendering results than the free version i am currently having, and maybe a couple of more features or at least a detailed explanation (help file) of the settings?

Anyways, these are the settings i use now, but to be honest i have no a single clue about most of these params what exactly do. The result looks good though and it is fun to experiment with the plugins, but without the understaiding of the actual SVP settings these all are just some gibberish to me and i feel a bit lost on the topic tongue

super=SVSuper( Video, "{pel:1,scale:{up:2},gpu:1,full:true,rc:true}")
vectors=SVAnalyse( super, "{vectors:3,block:{w:16,h:16,overlap:1},main:{search:{coarse:{width:1050,type:4,distance:-128,bad:{sad:2000,range:-12}},distance:-24,type:4}},refine:[{thsad:250}]}")
Video = SVSmoothFps(Video, super, vectors, "{gpuid:11,cubic:1,linear:false,rate:{num:5,den:2},mask:{cover:100,area:100,area_sharp:1.0},algo:23,scene:{mode:3,blend:false}}", mt=threads)

Despite the hours i just spent on experimenting with the plugins there are some artifacts remains i'd like to get rid of. For example SVP cannot seem to handle VFR (variable frame rate) inputs without losing the sync with the audio signal, and when it comes to motion estimation between frames it sometimes cannot handle them very well. Attached an image. This happens when fast motions come into play (notice the lines on the ground are also wavy), while the backgrounds are just interpolated smoothly.

Please answer!

Post's attachments

sj11.jpg, 49.22 kb, 833 x 486
sj11.jpg 49.22 kb, 541 downloads since 2015-11-08 

Re: Scripting SVP 4 (avisynth)

sch5
Do you happen to know json?

SVPFlow options is set with json format and you look it at https://www.svp-team.com/wiki/Plugins:_SVPflow for what each option means


super=SVSuper( Video, "{pel:1,scale:{up:2},gpu:1,full:true,rc:true}")

This is for SVSuper options, so you look it here https://www.svp-team.com/wiki/Plugins:_ … _string.29


vectors=SVAnalyse( super, "{vectors:3,block:{w:16,h:16,overlap:1},main:{search:{coarse:{width:1050,type:4,distance:-128,bad:{sad:2000,range:-12}},distance:-24,type:4}},refine:[{thsad:250}]}")

This is for SVAnalyse options, so you look it here
https://www.svp-team.com/wiki/Plugins:_ … D:_clip.29


SVSmoothFps(Video, super, vectors, "{gpuid:11,cubic:1,linear:false,rate:{num:5,den:2},mask:{cover:100,area:100,area_sharp:1.0},algo:23,scene:{mode:3,blend:false}}", url="www.svp-team.com", mt=threads)

At last, this is SVSmoothFps, look it here https://www.svp-team.com/wiki/Plugins:_ … integer.29

I've been using SVPFlow x64 manually and the performance quite stable with 64bit filters chain.

Note 1: Each option already has default value, when your setting for that option has the same value, you can just leave that option all together without supplying it to functions.
Note 2: If you want to override the default value of setting when using SVP, you can change it in file override.js
Note 3: I have only used SVP 3, never tried it in SVP 4, it should be same but no guarantee here.

Re: Scripting SVP 4 (avisynth)

sch5
To reduce artifacts you need to remove black borders from your video. You can do it with SVP autocrop option or manually.

Re: Scripting SVP 4 (avisynth)

i have no a single clue about most of these params what exactly do

great! smile you just took almost all of existing parameters and assign them random values, right? smile

SVP cannot seem to handle VFR (variable frame rate) inputs without losing the sync with the audio signal

it's better to lock frame interpolation to just frame doubling (x2) for vfr videos
there was an option for this in SVP 3, we'll add it to SVP 4 soon

5 (edited by sch5 09-11-2015 15:41:33)

Re: Scripting SVP 4 (avisynth)

Thank you guys for the answers!

you just took almost all of existing
Great things come out of random experiments here smile

lock frame interpolation
Yes, vfr to cfr is a damn business, it would be rather nice to get a built in solution for this thing!

To reduce artifacts
Managed to fix a couple of artifacts just by tweaking the svp settings. I mosly just reduced the distance and range parameters that removed most of the artifacts.
The example image was a bit misleading since there are no borders around the content.

for what each option means
Thanks for the detailed answer, it is nice!
Yes, my problem is exactly with that! It would be nice to get a more detailed documentation about the settings just like mvtools has!
Btw, to get a better understading the idea behind motion interpolation, do the http://avisynth.org.ru/mvtools/mvtools2.html mvtools1/2 docs can be any good reading here?


SVPFlow x64
The dll's came with SVP 4 free installer seem to me like 32 bit only. No matters, they work very well at low system costs. No crashes either!

Re: Scripting SVP 4 (avisynth)

do the mvtools1/2 docs can be any good reading here?

sure!

Re: Scripting SVP 4 (avisynth)

sch5
For the starter, take a look at "Last used avs script". Compare it with what you read in the docs and what you observe in video.
After you grasp the very minimum of what setting that works, you can tweak from there.
Of course you can google some of unknown jargon there, but beware that some of results will seems academic big_smile
It's the approach that I took though, adapt it with what you deem comfortable smile


The dll's came with SVP 4 free installer seem to me like 32 bit only

Yeah, SVPFlow x64 bit is available only in SVPFlow download, and SVP manager still hasn't supported x64 filters chain. But it's already nagging at the users when they are using 64 bit players lol
cmiiw, Chainik said it's available only in developer build for beta testing.

Since I'm not developer nor beta tester, I'm using it manually via ffdshow smile

PS: If you want to reduce the artifacts, it's better if you use artifact masking. It's available via gui setting.
If you want to chain with another script or avisynth functionality, the option is in SVSmoothFps setting
to be precise: ..., mask: { area: 100 }, .... The value of 100 is the average in gui, 25 is the weakest, while 50 is weak

...
global smoothfps_params="{rate:{num:" + string(num) + ",den: " + string(den) + "},algo:13,mask:{area:50},scene:{}}"
...

Beware though, the bigger the masking, the less smooth, MaskingValue ~= 1/Smoothness