Topic: SVSmoothFps_NVOF parameters ?

Hi, can the developers release the parameters for SVSmoothFps_NVOF when using a custom avs script? On the svpflow plugin page it says "TODO!" Thanks in advance.

Re: SVSmoothFps_NVOF parameters ?

There're actually no parameters at all. Considering the usual script is:

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

the NVOF one would be like this:

nvof_blk = 16
nvof_src = input.BicubicResize(input.width/nvof_blk*4,input.height/nvof_blk*4,src_width=-(input.width % nvof_blk),src_height=-(input.height % nvof_blk))
SVSmoothFps_NVOF(input, smoothfps_params, nvof_src=nvof_src, mt=threads)

"smoothfps_params" string is exactly the same
you can play with different "nvof_blk" values (4,8,16,32), but the NVOF engine itself always uses 4*4 blocks - that is why we need to prepare resized clip first to emulate other block sizes

3 (edited by Milardo 03-04-2020 02:59:24)

Re: SVSmoothFps_NVOF parameters ?

Here is an example script, do I have the NVOF part correct? Am I missing something or need something to be deleted?

# This script was generated by SmoothVideo Project (SVP) Manager.
# Check http://www.svp-team.com for more details.
SetMemoryMax(6000)
global threads=11

ffdshow_source()

LoadPlugin("C:\svpflow1.dll")
LoadPlugin("C:\svpflow2.dll")

ConvertToYV12()

SetFilterMTMode("DEFAULT_MT_MODE",2)
global crop_string=""
global resize_string=""
global super_params     = "{pel:2,gpu:1,scale:{up:2,down:2},rc:true}"
global analyse_params   = "{gpu:1,vectors:3,main:{search:{coarse:{distance:-8,bad:{sad:2000,range:24}},type:2}},refine:[{thsad:250}]}"
global smoothfps_params = "{gpuid:0,rate:{num:144,den:1,abs:true},algo:21,linear:true,block:false,scene:{mode:0,blend:false}}"
global demo_mode = 0
global stereo_type = 0

global nvof = 2

########## 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)
    nvof=true ? eval("""
        super=SVSuper(input, super_params)
        vectors=SVAnalyse(super, analyse_params, src=input)
        smooth=SVSmoothFps(input, super, vectors, smoothfps_params, mt=threads, src=src)
    """) : eval("""
        nvof_blk = 16
        nvof_src = input.BicubicResize(input.width/nvof_blk*4,input.height/nvof_blk*4,src_width=-(input.width % nvof_blk),src_height=-(input.height % nvof_blk))
        smooth=SVSmoothFps_NVOF(input, smoothfps_params, nvof_src=nvof_src, mt=threads, src=src)
    """)
    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: SVSmoothFps_NVOF parameters ?

you just copied the SVP-generated script, obviously it is correct

===
gpuid:0

NVOF needs gpu acceleration ON

Re: SVSmoothFps_NVOF parameters ?

ok. For gpuid which value should I choose? I have a gtx 1660. I tried 21 but it says something about unable to initialize gpu renderer or some message like that. 11 works though. Also Im not seeing a big increase in gpu usage and cpu usage is the same?

Re: SVSmoothFps_NVOF parameters ?

gpuid=11
"nvof==0 ? ...", not "nvof=true ?"

why don't just run SVP and look at the script? hmm

Re: SVSmoothFps_NVOF parameters ?

Was trying it on a different computer without svp manager, just the dll files.

I put in gpuid=11 and changed to nvof==0 ? Whenever I change to "nvof = 2" and "nvof_blk = 4" the player crashes

Re: SVSmoothFps_NVOF parameters ?

Does it only work in 64 bit players?

Re: SVSmoothFps_NVOF parameters ?

yep

10 (edited by Enif 25-11-2022 11:41:02)

Re: SVSmoothFps_NVOF parameters ?

Chainik wrote:

the NVOF one would be like this:

nvof_blk = 16
nvof_src = input.BicubicResize(input.width/nvof_blk*4,input.height/nvof_blk*4,src_width=-(input.width % nvof_blk),src_height=-(input.height % nvof_blk))
SVSmoothFps_NVOF(input, smoothfps_params, nvof_src=nvof_src, mt=threads)

"smoothfps_params" string is exactly the same
you can play with different "nvof_blk" values (4,8,16,32), but the NVOF engine itself always uses 4*4 blocks - that is why we need to prepare resized clip first to emulate other block sizes

Hello,
Thanks for the sample script!
What would be the vapoursynth equivalent of this?
I tried:

nvof_blk = 16
nvof_src = input.resize.Bicubic(input.width/nvof_blk*4,input.height/nvof_blk*4,src_width=-(input.width % nvof_blk),src_height=-(input.height % nvof_blk))
smooth=core.svp2.SmoothFps_NVOF(input, "{gpuid:11}", nvof_src=nvof_src)

But this hangs the player (MPC-BE 64bit,VS R60 64 bit, Python 3.10.8 64 bit).

Re: SVSmoothFps_NVOF parameters ?

You can enable NVOF in SVP, playback video in player and check how script looks.
SVP menu Information > Additional information > Last generated script

12 (edited by Enif 26-11-2022 13:28:27)

Re: SVSmoothFps_NVOF parameters ?

MAG79 wrote:

You can enable NVOF in SVP, playback video in player and check how script looks.
SVP menu Information > Additional information > Last generated script

I am trying to run the script on a different pc with only the dll files, that is why I am asking.
But even with SVP manager generated script, it doesn't tell me how nvof_src is formulated.

13 (edited by Enif 08-05-2023 13:14:50)

Re: SVSmoothFps_NVOF parameters ?

How can I pass a variable as an argument for the SVP script in vapoursynth?
NVM I figured it out.