51

(18 replies, posted in Using SVP)

Thanks guys, yeah I use lav video / hardware deinterlacer usually but still of course it would be fantastic if it was all part of the same smooth video product. Itd be a monster of a task to implement in software though, ie to have it run in the same flow as normal interpolation. Back to gpu hardware deinterlacing it is. Should going from 50 -> 52.08 fps cause microjudder in the output video, as this is what svp seems to do at the moment, is there a way to improve the interpolation in this scenario doing such a small adjustment in fps.

52

(18 replies, posted in Using SVP)

Hi guys,

I tried the deinterlace option in SVP tray today with some interlaced content, and enabling it enables deinterlacing in ffdshow. Thats fine but I have two questions / issues.

1) When using ffdshows yadif deinterlacer with double frame rate, 30fps interlaced content for example comes out to 60 progressive as it should, but svp / avisynth scripts still think its 30fps and start doing double frame rate on it again bringing me to 120fps. Therefore each second crame is getting dropped by the video renderer.

Has spv a workaround for this? I wrote a bug report on ffdshow what seems like years ago now but nobody seems interested I guess, to fix this particular issue. Just wondering is there a tweak in svp options that can avoid this second frame rate increase?

2) Have you guys ever thought of incorporating existing avisynth based deinterlacing techniques, into SVP. This would be great. I for example often try to playback 25fps interlaced DVDs, (that need to be both deinterlaced, aswell as slowed down to their correct 24fps / 48fps rate). So I do the following

25fps interlaced decoded frames -> deinterlaced to 50fps in lav video -> speed up to 52.08 fps using svp -> reclock slow down by 4% = 50fps out

I never see very smooth motion in these clips, I assume due to the tiny frame rate increase of 50.00 to 52.08 fps in svp, but maybe this could be improved with all of the deinterlacing and frame interpolation happening in one smart stage?

Would be great if some distant SVP version could do all of this work in one step smile

53

(18 replies, posted in Using SVP)

Perfect will do,

In summary, I tried the following number of threads with my core i7 and have the following findings.

9 = too slow, hundreds of frame drops in busy scenes, memory graph stays flat
10 = no frame drops, cpu seems to get used more, memory graph stays flat
11 = memory increases until svp popup
12 = memory increases until svp popup

Looking forward to 3.1 big_smile

54

(18 replies, posted in Using SVP)

When I use standard SVP to manage the script, I don't see the memory increase. I honestly don't know what part of interframe script that causes the memory jump versus SVP with svp_scheduler=true

Are you able to reproduce the memory growth on you're end with my avisynth script and svp_scheduler=true?

EDIT: Using 9 threads and svp_scheduler=true doesn't show the big memory increase. Using 15 / 16 does so although I probably shouldn't be using 15 / 16, I guess it still shouldn't eat more and more memory?

EDIT 2: I do find using 9 threads on my machine isn't enough. I can repeatedly reproduce hundreds / thousands of frame drops with 9 threads versus 10 in some scenes.. Why is 9 recommended for core i7. At least for me, 10 is needed.

55

(18 replies, posted in Using SVP)

No problem.

Last Launch Log

21:45:29.025 (SVPmgr) - Start: SVPMgr starts...
21:45:29.025 (SVPmgr) - Start: read settings file settings.ini
21:45:29.027 (SVPmgr) - Start: load language file - English. Duration: 11 ms
21:45:29.038 (SVPmgr) - Start: clear Logs folder. Duration: 1 ms
21:45:29.039 (SVPmgr) - Start: SVPMgr folders prepare. Duration: 3 ms
21:45:29.042 (SVPmgr) - Start: performance graphs prepare
21:45:29.042 (SVPmgr) - Start: read settings file SVPMgr.ini. Duration: 1 ms
21:45:29.043 (SVPmgr) - Start: monitors settings detection. Duration: 1078 ms
21:45:30.121 (SVPmgr) - Start: disable LNG-file write when UAC enabled
21:45:30.121 (SVPmgr) - Start: change SVP-manager priority
21:45:30.121 (SVPmgr) - Start: register hotkeys. Duration: 2 ms
21:45:30.123 (SVPmgr) - Start: check launched instance of SVP-manager
21:45:30.123 (SVPmgr) - Start: check Avisynth installed. Duration: 1 ms
21:45:30.124 (SVPmgr) - Start: refresh autostart state in registry. Duration: 1 ms
21:45:30.125 (SVPmgr) - Start: some more work with registry. Duration: 1 ms
21:45:30.126 (SVPmgr) - Start: create menu. Duration: 24 ms
21:45:30.150 (SVPmgr) - Start: update settings file settings.ini. Duration: 21 ms
21:45:30.171 (SVPmgr) - Start: update monitor settings
21:45:30.171 (SVPmgr) - Start: get versions of modules used. Duration: 24 ms
21:45:30.195 (SVPmgr) - Start: prepare "About the program" window. Duration: 4 ms
21:45:30.199 (SVPmgr) - Start: enable ffdShow waiting mode. Duration: 1 ms
21:45:30.200 (SVPmgr) - RefreshSVP begin. Duration: 1 ms
21:45:30.201 (SVPmgr) - RefreshSVP end: Waiting for ffdshow video...
21:45:30.201 (SVPmgr) - Start: prepare to work is complete. Duration: 5220 ms
21:45:35.421 (SVPmgr) - T1T: preparing
21:45:35.423 (SVPmgr) - T1T: begin. Duration: 1 ms
21:45:35.424 (SVPmgr) - T1T: GetAllMediaParams
21:45:35.424 (SVPmgr) - T1T: SettingsPrepare. Duration: 3 ms
21:45:35.427 (SVPmgr) - T1T: Configure a smooth playback .... Duration: 1 ms
21:45:35.428 (SVPmgr) - T1T: WriteAllMediaParamsToIni. Duration: 1 ms
21:45:35.429 (SVPmgr) - application launch...
command: C:\Program Files (x86)\SVP\SVPMgr
parameters: main "C:\Users\Tester\AppData\Roaming\SVP\" 1920 1080 23.976 1920 1080 25 12
write to log: True. Duration: 52 ms
21:45:35.481 (SVPmgr) - T1T: SVPMgr main. Duration: 17 ms
21:45:35.498 (SVPmgr) - T1T: Smooth playback ...
21:45:35.498 (SVPmgr) - SetPriorityPlayer: 2
21:46:04.805 (SVPmgr) - RefreshSVP begin. Duration: 1 ms
21:46:04.806 (SVPmgr) - RefreshSVP end: Waiting for ffdshow video...

AVS Script from last play is

Import("G:\MovieStarter\avisynth\InterFrame.avsi")

Which contains the following.

#------------------------------------------------------------------------------#
#                                                                              #
#                         InterFrame 1.12.1 by SubJunk                         #
#                                                                              #
#     A frame interpolation script that primarily uses MVTools2 for making     #
#        accurate estimations about the content of non-existent frames         #
#      Its main use is to give videos higher framerates like newer TVs do      #
#------------------------------------------------------------------------------#


# For instructions and further information see the included InterFrame.html
# For news go to spirton.com
    realpal=true
    FlowPath="C:\Program Files (x86)\AviSynth 2.5\plugins\"
    GPU=true
    NewNum=50
    NewDen=1
    Tuning="Film"
    
    svp_scheduler=true
    Setmemorymax(1024)
    svp_cache_reduce=true
    SetMTMode(1,16)
    Input = ffdshow_source()
    SetMTMode(2)

    (Input.Framerate == 25 && realpal == true) ? Eval("""
        Preset="Medium"
    """)  : (Input.Framerate >29 && Input.Framerate <= 30) ? Eval("""
        Preset="Medium"
    """)  : (Input.Height <= 720) ? Eval ("""
        Preset="Medium"
    """) : Eval("""
        Preset="Mark"
    """)
    
    # Create processed clip for slower presets
    Preset == "Mark" || Preset == "Placebo" || Preset == "Medium" || Preset == "Fast" || Preset == "Faster" ? Eval("""
        ProcessedSource = Input.RemoveGrain(mode=17)
    """) : Eval("""
        # Don't want ProcessedSource
    """)

    # Set variables controlled by Tuning
    BlockSize = (Tuning == "Film" || Tuning == "Animation") ? 16 : \
       (Tuning == "Weak") ? 32 : 16
    Overlap1 = (Tuning == "Animation") ? 0 : 4
    Overlap2 = (Tuning == "Animation") ? 0 : 2
    Algo = (Tuning == "Smooth") ? 23 : 13
    SadML = (Tuning == "Smooth") ? 150 : 0

    # Create super clip/s
    SuperRegular = MSuper(Input, hpad=BlockSize, vpad=BlockSize, rfilter=4)

    Preset == "Placebo" ? Eval("""
        CustomLuma   = EEDI2(Input, field=1).Spline36Resize(2*width(Input), 2*height(Input), src_left=0.25             )
        CustomChroma = EEDI2(Input, field=1).Spline36Resize(2*width(Input), 2*height(Input), src_left=0.5 , src_top=0.5)

        CustomPelClip = MergeChroma(CustomLuma, CustomChroma, 1)

        Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4, pelclip=CustomPelClip)
    """) : Preset == "Medium" ? Eval("""
        Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4)
    """) : Preset == "Mark" ? Eval("""
        Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4)
    """) : Eval("""
        Super = MSuper(Input, hpad=BlockSize, vpad=BlockSize, rfilter=4)
    """)

    # Make interpolation vector clip
    Preset == "Ultra Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , chroma=false, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, chroma=false, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
    """) : Preset == "Super Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
    """) : Preset == "Very Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2)
    """) : Preset == "Faster" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3)
    """) : Preset == "Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3)
    """) : Preset == "Medium" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3, dct=5)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3, dct=5)
    """) : Preset == "Mark" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true, search=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600,dct=5,searchparam=1)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, search=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600,dct=5,searchparam=1)
        backward = MRecalculate(Super, backward, blksize=8, search=3,searchparam=1)
        forward  = MRecalculate(Super, forward,  blksize=8, search=3,searchparam=1)    
    """) : Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3, dct=5)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3, dct=5)

    """)

    # Determine new framerate
    NewNum != 0 ? Eval("""
        # Use user values
    """) : Input.Framerate == 25 ? Eval("""
        NewNum = 50
        NewDen = 1
    """) : Input.Framerate == 30 ? Eval("""
        NewNum = 60
        NewDen = 1
    """) : Eval("""
        NewNum = 60000
        NewDen = 1001
    """)

    # See whether to use GPU-acceleration or not
    svp_flow_lib = GPU == true ? FlowPath+"libflowgpu.dll" : FlowPath+"libflowsse.dll"
    Finest = GPU == true ? SuperRegular : MFinest(Input, SuperRegular)

    (Input.Framerate == 50 && realpal == false) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=5208333, den=100000, algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)  : (Input.Framerate == 25 && realpal == true) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=2*Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)  : (Input.Framerate <= 29) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=NewNum, den=NewDen, algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)  : (Input.Framerate >29 && Input.Framerate <= 30) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=2*Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """) : Eval ("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

56

(18 replies, posted in Using SVP)

np, heres with svp_scheduler=false, with numbers on the graph. The memory usage doesn't grow.

http://img141.imageshack.us/img141/6241/falsej.png

Number of threads is set as 16, as someone suggested to use a higher value like that when using libflowgpu.dll Should I use less or 0 to allow auto choosing?

57

(18 replies, posted in Using SVP)

Yes the first picture is with svp_scheduler=true and the second is with svp_scheduler=false

svp_scheduler=false seems to be default for me, as if I comment out that line of code in my avisynth script, I get the same flat memory graph as explicitly using svp_scheduler=false

In summary

svp_scheduler=true # Memory graph increases rapidly
svp_scheduler=false # Memory graph remains flat
#svp_scheduler=true (commented out) # Memory graph remains flat

Im on a core i7 920, 6GB RAM, 32bit mpc-hc, Windows 7 64bit, Nvidia GTX 295 with 295.73 drivers

58

(18 replies, posted in Using SVP)

With it enabled (the popup about memory usage appeared after about 1.5 minutes, see it at the end of the graph.
http://img638.imageshack.us/img638/2549/witht.png


Without it enabled
http://img252.imageshack.us/img252/1708/without.png

59

(18 replies, posted in Using SVP)

with svp_scheduler=true I can see mpc-hc's memory usage in process explorer skyrocket really quickly, making this popup appear every minute or so.

With svp_scheduler=false, the mpc-hc memory usage both starts lower, and stays flat so perhaps theres something wrong with svp_scheduler=true MAG?

Actually, using SetMTMode(1,16) and svp_scheduler=true shows a huge memory increase every few seconds.

Using SetMTMode(1,8) svp_scheduler=true seems to start off much lower and stay flat also smile I assume (1,8) is a good setting for my cpu then, core i7 920? Should (1,16) cause this huge memory rise though, I assume thats still wrong?

EDIT: svp_scheduler=false and SetMTMode(1,16) still gives me way less frame drops.

60

(2 replies, posted in Using SVP)

Thanks Mag, the SVPmgr.ws workaround worked perfectly, I can see my custom script is in use.

Fantastic.

Incase you're interested, my avisynth interframe modified script is as follows, I have paths through the script mainly for 1080p (Profile called medium), 720p and less (Profile called Mark), and some pieces of script to handle pal content thats going to be slowed down by reclock, I need to change its rate to 52.08333 FPS in SVP, so that reclock can slow it down by 4% and get to an even 50.0

atm this is as high quality as I can seem to get from svp, and not get frame drops. Any suggestions of course are welcome but I'm really happy so far, and looking forward to 3.1, thanks to you guys for all of the hard work. Only issue so far is getting the settings tuned right for each machine, and my current choice is to use my own custom versions of interframe so that I know what I'm setting and can use dct=5 etc.


#------------------------------------------------------------------------------#
#                                                                              #
#                         InterFrame 1.12.1 by SubJunk                         #
#                                                                              #
#     A frame interpolation script that primarily uses MVTools2 for making     #
#        accurate estimations about the content of non-existent frames         #
#      Its main use is to give videos higher framerates like newer TVs do      #
#------------------------------------------------------------------------------#


# For instructions and further information see the included InterFrame.html
# For news go to spirton.com
    realpal=true
    FlowPath="C:\Program Files (x86)\AviSynth 2.5\plugins\"
    GPU=true
    NewNum=50
    NewDen=1
    Tuning="Film"
    
    Setmemorymax(1536)
    #svp_scheduler=true
    svp_cache_reduce=true
    SetMTMode(1,16)
    Input = ffdshow_source()
    SetMTMode(2)

    (Input.Framerate == 25 && realpal == true) ? Eval("""
        Preset="Medium"
    """)  : (Input.Framerate >29 && Input.Framerate <= 30) ? Eval("""
        Preset="Medium"
    """)  : (Input.Height <= 720) ? Eval ("""
        Preset="Medium"
    """) : Eval("""
        Preset="Mark"
    """)
    
    # Create processed clip for slower presets
    Preset == "Mark" || Preset == "Placebo" || Preset == "Medium" || Preset == "Fast" || Preset == "Faster" ? Eval("""
        ProcessedSource = Input.RemoveGrain(mode=17)
    """) : Eval("""
        # Don't want ProcessedSource
    """)

    # Set variables controlled by Tuning
    BlockSize = (Tuning == "Film" || Tuning == "Animation") ? 16 : \
       (Tuning == "Weak") ? 32 : 16
    Overlap1 = (Tuning == "Animation") ? 0 : 4
    Overlap2 = (Tuning == "Animation") ? 0 : 2
    Algo = (Tuning == "Smooth") ? 23 : 13
    SadML = (Tuning == "Smooth") ? 150 : 0

    # Create super clip/s
    SuperRegular = MSuper(Input, hpad=BlockSize, vpad=BlockSize, rfilter=4)

    Preset == "Placebo" ? Eval("""
        CustomLuma   = EEDI2(Input, field=1).Spline36Resize(2*width(Input), 2*height(Input), src_left=0.25             )
        CustomChroma = EEDI2(Input, field=1).Spline36Resize(2*width(Input), 2*height(Input), src_left=0.5 , src_top=0.5)

        CustomPelClip = MergeChroma(CustomLuma, CustomChroma, 1)

        Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4, pelclip=CustomPelClip)
    """) : Preset == "Medium" ? Eval("""
        Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4)
    """) : Preset == "Mark" ? Eval("""
        Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4)
    """) : Eval("""
        Super = MSuper(Input, hpad=BlockSize, vpad=BlockSize, rfilter=4)
    """)

    # Make interpolation vector clip
    Preset == "Ultra Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , chroma=false, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, chroma=false, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
    """) : Preset == "Super Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
    """) : Preset == "Very Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2)
    """) : Preset == "Faster" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3)
    """) : Preset == "Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3)
    """) : Preset == "Medium" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3, dct=5)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3, dct=5)
    """) : Preset == "Mark" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true, search=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600,dct=5,searchparam=1)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, search=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600,dct=5,searchparam=1)
        backward = MRecalculate(Super, backward, blksize=8, search=3,searchparam=1)
        forward  = MRecalculate(Super, forward,  blksize=8, search=3,searchparam=1)    
    """) : Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3, dct=5)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3, dct=5)

    """)

    # Determine new framerate
    NewNum != 0 ? Eval("""
        # Use user values
    """) : Input.Framerate == 25 ? Eval("""
        NewNum = 50
        NewDen = 1
    """) : Input.Framerate == 30 ? Eval("""
        NewNum = 60
        NewDen = 1
    """) : Eval("""
        NewNum = 60000
        NewDen = 1001
    """)

    # See whether to use GPU-acceleration or not
    svp_flow_lib = GPU == true ? FlowPath+"libflowgpu.dll" : FlowPath+"libflowsse.dll"
    Finest = GPU == true ? SuperRegular : MFinest(Input, SuperRegular)

    (Input.Framerate == 50 && realpal == false) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=5208333, den=100000, algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)  : (Input.Framerate == 25 && realpal == true) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=2*Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)  : (Input.Framerate <= 29) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=NewNum, den=NewDen, algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)  : (Input.Framerate >29 && Input.Framerate <= 30) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=2*Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """) : Eval ("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

Hi guys,

I use a customized version of interframe in my HTPC, and am using the latest SVP GPU dlls.

Below is my simple piece of code thats in the ffdshow video decoder avisynth section.

Import("G:\avisynth\InterFrame.avsi")

I do this as I want complete control over all entries in this avisynth file and it works great, BUT if I use the SVP tray icon, it overwrites the contents of my ffdshow avisynth script section. Can I stop it doing this? Basically I want to use the feature of SVP that allows me to stop using avisynth when seeking.

I need this as perhaps 1 out of every 5 seeks crashes mpc-hc and its really unprofessional looking when I'm playing back a movie for guests etc. So in summary

Can I use SVP tray icon, and associated features like disabling avisynth on seek, aswell as having complete control over the avisynth script that gets run?