Topic: Using other Avisynth scripts in conjuncion with SVP ones

Hi,

I was wondering if it is possible to use other Avisynth scripts in conjunction with the script that automatically appears in ffdshow avisynth tab which is generated by SVP. I would like to use limitedfastersharper (my system is powerful enough to handle it together with motion compensation), but it seems that avisynth is "enslves" by the program and evrything else is overwritten!

Thanks smile

Re: Using other Avisynth scripts in conjuncion with SVP ones

Check "Program files\SVP 3.1\AVS\MSmoothFps.avs" wink

SVP directly copy the code to output AVS script.

Re: Using other Avisynth scripts in conjuncion with SVP ones

Thank you Chainik,

I realized that for some reasons (lav video I guess) when the tv and the video frame rate where equal even if SVP was actually running (as confirmed by the OSD messages) in reality it was not working (CPU consumption was inconsistent), but I imagined it was, so adding LFS was an option, then I did a fresh new installation and now the CPU (2630QM) in some scenarios hover to 90% and sadly there is no space for LFS but the motion compensation made by SVP is stunning and now that I have seen it the "Intelligent" frame creation of my TV set (Panasonic VT30) in comparison is garbage.

Only one question (if I may) about a thing which is still not clear to me, I undertand that adding new frames (created) for instance by dubbling the frame rate more fluidity is achived, but yesterday I was watching a TV serie (Doctor Who in blu-ray through MPC-HC+DVDfab) which is 1080i 50Hz and I set MPC-HC in this cases to obviously switch the TV refresh rate to 1080p 50Hz and let lav video filter do the deinterlacing job via NVIDIA CUVID (hardware) and SVP was working all the same (and wonderfully... never seen such fluidity with almost no artifacts!), but if no frame is created (video and movie fps are the same) how is the program creating fluidity? 

Thanks again and keep up the good work smile I will certainly donate.

Re: Using other Avisynth scripts in conjuncion with SVP ones

AndreaMG
I set MPC-HC in this cases to obviously switch the TV refresh rate to 1080p 50Hz and let lav video filter do the deinterlacing job via NVIDIA CUVID (hardware) and SVP was working all the same

Hmm, I believe in that case SVP should do nothing.
Could you post "Information -> Additional information" report here, just to make sure?

Re: Using other Avisynth scripts in conjuncion with SVP ones

Hi,

If I set in Lav video configuration "25p/30p"(film deinterlacing mode) SVP is triggered along with motion compensation:

Last processed file parameters:
Filename: index.bdmv
Frame size and frame rate: 1920x1080 pixels, 25 fps

Detected screen parameters
Screen size and refresh rate: 1920x1080 pixels, 50.002 Hz

Video smoothing info
Smooth factor: 2:1
Resulting video frame rate: 50 fps
Repeat 1 frame every 8.3 min (without ReClock)

Selected profile: 1920x1080@24

Profile settings of video processing
[ExMethod=MSmoothFps_3]        Frames interpolation mode: Adaptive (default)
[ExAlgo=13]            SVP shader: 13. Standart (default)
[Bicubic=1]            Motion vectors interpolation mode: Bicubic (by default)
[ExMulti=MON]            Target frame rate: To screen refresh rate (default)
[ExBlockSize=16x16:1]        Motion vectors grid: 14 px. Average 1
[ExRecalc=0:0]            Decrease grid step: Disabled (default)
[TypeDist=Exh:-14:SATD]        Search radius: Large
[ExPel=2]            Motion vectors precision: Half pixel (default)
[Badsad=1000:0]            Wide search: Disabled
[ExSadml=0]            Artifacts masking: Disabled (default)
[ExBlend=false]            Processing of scene changes: Repeat frame (default)
[ExDwnResize=0]            Decrease frame size: Disabled (default)
[ExConvertFps=false]        Blend frames to screen refresh rate:false

Settings by menu
[svp_libflowgpu=1]        GPU-acceleration (OpenCL): true
[ExThreads=0]            Processing threads: Auto
[HandCrop=None]            Frame crop: Disabled
[Borderlight=None]        Black bars lighting: Disabled
[VDelay=0]            Video delay: 0 ms
[ExDemo=0]            Demonstration mode: false
[ExTearingTest=0]        Tearing test: false
[EFrameDoubling=0]        Variable frame rate repair: false
[StopSmoothDelayOnRewind=1]    Turn off on seek: Turn off by 1 sec


If otherwise I set in Lav video configuration "50/60"(video deinterlacing mode) SVP is not triggered and there is no motion compensation at all sad :

Last processed file parameters:
Filename: index.bdmv
Frame size and frame rate: 1920x1080 pixels, 50 fps

Detected screen parameters
Screen size and refresh rate: 1920x1080 pixels, 49.999 Hz

Video smoothing info
Smooth factor: 1:1
Resulting video frame rate: 50 fps
Drop 1 frame every 1000 sec (without ReClock)

Selected profile: 1920x1080@24

Profile settings of video processing
[ExMethod=MSmoothFps_3]        Frames interpolation mode: Adaptive (default)
[ExAlgo=13]            SVP shader: 13. Standart (default)
[Bicubic=1]            Motion vectors interpolation mode: Bicubic (by default)
[ExMulti=MON]            Target frame rate: To screen refresh rate (default)
[ExBlockSize=16x16:1]        Motion vectors grid: 14 px. Average 1
[ExRecalc=0:0]            Decrease grid step: Disabled (default)
[TypeDist=Exh:-14:SATD]        Search radius: Large
[ExPel=2]            Motion vectors precision: Half pixel (default)
[Badsad=1000:0]            Wide search: Disabled
[ExSadml=0]            Artifacts masking: Disabled (default)
[ExBlend=false]            Processing of scene changes: Repeat frame (default)
[ExDwnResize=0]            Decrease frame size: Disabled (default)
[ExConvertFps=false]        Blend frames to screen refresh rate:false

Settings by menu
[svp_libflowgpu=1]        GPU-acceleration (OpenCL): true
[ExThreads=0]            Processing threads: Auto
[HandCrop=None]            Frame crop: Disabled
[Borderlight=None]        Black bars lighting: Disabled
[VDelay=0]            Video delay: 0 ms
[ExDemo=0]            Demonstration mode: false
[ExTearingTest=0]        Tearing test: false
[EFrameDoubling=0]        Variable frame rate repair: false
[StopSmoothDelayOnRewind=1]    Turn off on seek: Turn off by 1 sec

My guess is that in the first case the video is rebuily by Lav video into 25p and consequently SVP doubles the framerate (adding motion compensation), while in the second scenario nothing happens because te video is transformed by Lav video directly into 50p; from what I have understood these are two alternative ways of deinterlacing, but to obtain smoothnes (mind blowing in my case if I may add smile ) you have to choose always the first one! Correct me if I am wrong.

Thanks again:)

Re: Using other Avisynth scripts in conjuncion with SVP ones

AndreaMG
Yes. You are right. Deintarlace option in LAV is affect on input FPS and SVP work.
The best quality you can get when use "50/60" in LAV and SVP does nothing. wink

7 (edited by travolter 06-08-2012 12:35:58)

Re: Using other Avisynth scripts in conjuncion with SVP ones

Chainik wrote:

Check "Program files\SVP 3.1\AVS\MSmoothFps.avs" wink

SVP directly copy the code to output AVS script.

Thanks for the tip Chainik wink Currently I was editing the SVPMgr.wsf to add the avisyhtn filters. This new way is easier and handy.

One thing that I miss is the possibility to add/remove filters while movie playing.
Its possible to do that?

I have crappy video sources and when I used ffdshow+framedoublingscripts I did many tests with different filters while movie playing until I got the best filter-combo for the movie.

Best regards pal!!

EDIT.- What is the correct place into the ffdshow/avisynth tab to add my own avisynth filters? Its the solution for me to see the changes realtime

Re: Using other Avisynth scripts in conjuncion with SVP ones

travolter
Currently I was editing the SVPMgr.wsf to add the avisyhtn filters.

It's a much more advanced way cause you can conditionally modify output script with JS code smile
And these "conditions" can be set from Profile editor.

Re: Using other Avisynth scripts in conjuncion with SVP ones

Small example how it works:

1. Define new profile parameter - copy the code

MyVar;My custom variable
-1;One
-2;Two
-3;Three

to the end of "SVP 3.1\ProfileCfg\MSmoothFps_x" files

Restart SVP Manager and open profile editor:
http://www.svp-team.com/forum/misc.php?item=1745&download=1

2. Use this variable in SVPMgr.wsf code like this:

myVar=valueProfile("MyVar");
switch(myVar)
{
case 1: <do something>; break;
case 2: <do something else>; break;
...
}
Post's attachments

custom_var.png, 4.32 kb, 403 x 78
custom_var.png 4.32 kb, 2037 downloads since 2012-08-06 

10 (edited by travolter 06-08-2012 14:53:49)

Re: Using other Avisynth scripts in conjuncion with SVP ones

Thanks for the tip chainik. I didnt know that feature. Ill play creating new profiles wink

Re: Using other Avisynth scripts in conjuncion with SVP ones

Hi guys.. currently I use SVP with other avisynth filters and scripts.
I know the places in MSmoothfps and svpmgr.wsf to write the filters that will be applied Before SVP frameinterpolation process.
What is the file and place to write avisyhtn processing lines After SVP frameinterpolation process?

Thanks for the help and support wink

Re: Using other Avisynth scripts in conjuncion with SVP ones

obviously it's right after SVSmoothFps call

13 (edited by travolter 18-09-2012 18:34:19)

Re: Using other Avisynth scripts in conjuncion with SVP ones

(sorry for the new thread Chainik).

Adding a New line at the end of SVSmoothFps didnt work,
It works if you add a .myfilter() in the last line but not sure if its the correct place that you point

edit.- I get strange behavior if I use resizes in this place

Re: Using other Avisynth scripts in conjuncion with SVP ones

travolter
Show your script and tell what is wrong with resize.

15 (edited by travolter 19-09-2012 16:53:32)

Re: Using other Avisynth scripts in conjuncion with SVP ones

this is my MSmoothFps.avs file

super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
smooth_video=SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com").bilinearresize(1024,768)

Video with double view (left, right) + Green screen + artifacts.

My goal is use scripts that uses resize command to create masks/etc.. not just a simple resize as this example. (I wrote that in case someone reply saying that I can just resize after SVP with ffdshow )

Re: Using other Avisynth scripts in conjuncion with SVP ones

travolter
Your script is working on my system perfectly.
Please show another script that not work.

Adding a New line at the end of SVSmoothFps didnt work
You should use construction:

super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")
#your lines of code
smooth_video=last

Re: Using other Avisynth scripts in conjuncion with SVP ones

Hi MAG79
Im testing with your construction and there is some error with it.

avisynth Message
"I dont know what "lastsmooth_video"means

Im not suing any own avisynth line yet... My MSmoothFps.avs file only have these 5 lines that you posted

Re: Using other Avisynth scripts in conjuncion with SVP ones

man, you really need to learn avisynth syntax first

19 (edited by travolter 20-09-2012 16:21:41)

Re: Using other Avisynth scripts in conjuncion with SVP ones

@chainik
Oh My excuses. Im a newbie
@MAG79
I found the problem of this code:

super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
smooth_video=SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com").bilinearresize(1024,768)

The doubled image+green screen appear cause I use Overlay mixer. If I change to VMR7/9 the problem dissapear, but these renders are terribly slow in my mamchine. No 3D videocard here.

this way does not work for me:

super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")
bilinearresize(1024,768)
smooth_video=last

Re: Using other Avisynth scripts in conjuncion with SVP ones

travolter
Overlay mixer don't support any dynamic image resize. To use overlay mixer picture size must be the same as in source or decoder filter.
You must use another renderer.

lastsmooth_video
add line break (empty line) after last line in the file.

If it is no big secret show your TRUE final script. Or tell us what you want. In details. Then we can help. wink

21 (edited by travolter 21-09-2012 22:44:51)

Re: Using other Avisynth scripts in conjuncion with SVP ones

@MAG79

Yes finally it works with your empty line trick. Thanks a lot pal!
I dont have any world domination script that I dont want to share. I do lots of test trying to find the best filter combo for all sources (an impossible mission as you know but I enjoy with the experiments wink

sharpeners:
finesharp (very good for 1080 content)
awarpsharp2 (for anime and crappy sources)

line darkerners:
toonlite (anime)

remove noise:
hqdn3d
removegrain

deband:
gradfun2db


Everything available in doom9 forums as you know... no mysterious scripts wink

I was asking for place to add scripts After SVP cause I do lot of experiments. Sometimes same filter works better before SVP others after SVP.
Currently doing experiments adding noise (addgrain) before and after SVP when I use low quality sources.. or even add Scanlines.. that is only possible after SVP.

I think that Its an offtopic for this forum.. but these are the "other" scripts that I use a part from SVP smile

Re: Using other Avisynth scripts in conjuncion with SVP ones

Hi,

I'm using Avisynth "finesharp" script (sharpener) together with SVP, but I don't know if the command line has to be put before or after SVP script, is it correct to assume that if put after the sharpening will take effect on frames that are already doubled with the consequence that the cpu usege will be higher? If I put it before the frames will be on the other hand sharpened before the doubling? I thing the results should be visually the same, but if I put it before I have the advantage of the lower cpu consumption, please correct me if I'm wrong smile

I use this combination inside MSmoothFps:

MT("FineSharp(Mode=3, sstr=10.0)", 8)
super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
smooth_video=SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")

Is it correct to esplicitely indicate the number of threads or I just have to make the call without it and let SVP decide also for the command that I added how many threads to use?? The fact is that I do not understand how SVP handels the threads...

I also noticed a strange thing, while playing dvds if the the processing threads are set to "auto" the video horribly stutters at the change of chapters, but if I force it to use 8 threads (I have an i7 2 threads per core, total 8) everithing runs fine...

Is it correct in my case always force it to use 8 cores?

Thanks a lot. smile

Re: Using other Avisynth scripts in conjuncion with SVP ones

AndreaMG
I don't think using MT() in conjunction with SetMTMode() is a good idea. The script is already parallelized by some number of threads set in SVP.

If I put it before the frames will be on the other hand sharpened before the doubling?

yep

I thing the results should be visually the same

not really cause interpolated frames are always a little blurred
but I'm not sure if someone could really notice that smile

Is it correct in my case always force it to use 8 cores?

nope, in this case CPU won't use all it's power if it'll be needed
though it doesn't matter in case of DVDs

24 (edited by travolter 23-09-2012 18:48:24)

Re: Using other Avisynth scripts in conjuncion with SVP ones

@AndreaMG
Forget MT. Its not necessary. I use filters in this way

hqdn3d()
FineSharp()
super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")
#write here filters like addgrain, scanlines etc (if you like these effect), or you will get rare artifacts processing before SVP
smooth_video=last
(this is an empty line and have to be included)

If a filter needs an special multithread mode write a setmtmode(x,x) line before it

Re: Using other Avisynth scripts in conjuncion with SVP ones

travolter
write a setmtmode(x,x) line
Only one parameter will be accepted. You may write a setmtmode([mode]) line wink