InterFrame 2.8.2 (Updated 21 May 2015)

Introduction:

InterFrame is an AviSynth script.
Its main use is to give videos higher framerates like newer TVs do. Common names are framedoubling, smooth motion, HFR (high framerate) and 60FPS conversion.
High framerate (HFR at 48fps) was used in The Hobbit and will be used in upcoming films like the Avatar sequels, which will use HFR at 60fps, so why not watch all your movies at higher framerates?

Download:

Examples:

Here is a before and after video comparison:
Original File
InterFrame (default settings with GPU=true)

Code Samples:

Here is a sample of what the AviSynth script could look like.
It shows the recommended syntax and should be used with SET’s AviSynth 2.6 build from here.

Cores=4
SetMemoryMax(512)
SetMTMode(3, Cores)
LoadPlugin("svpflow1.dll")
LoadPlugin("svpflow2.dll")
Import("InterFrame2.avsi")
dss2("video.mkv", fps=23.976).ConvertToYV12()
SetMTMode(2)
InterFrame(Cores=Cores)

Description:

Dependencies are included in the download.

To use it in your script just call the function InterFrame(Cores=x) (replacing the path with the path to the flow DLL files) and it will automatically choose a good framerate and preset for you.
There are more specifics like optional parameters and examples on this page, which is also included in the download.

There is also a complete guide on how to use it for those with no knowledge about any of this stuff here.
If you have any questions about it please check the guide first, there is a FAQ section and everything πŸ™‚

Changelog:

21/05/2015 – 2.8.2:

  • Updated to SVPflow 1.1.15, which increased speed (thanks, SVP!)

02/05/2015 – 2.8.1:

  • Updated to SVPflow 1.1.14, which increased speed by up to 15% (thanks, SVP!)

10/03/2015 – 2.8.0.1:

  • Updated to SVPflow 1.1.13, which fixed the unused SVConvert function (thanks, SVP!)

05/03/2015 – 2.8.0:

  • Updated SVP libraries (thanks, SVP!) which:
    • Increased speed by up to 20%
    • Reduced memory usage
    • Removed 2 dependencies (from 4 to 2)
  • Updated documentation

03/01/2015 – 2.7.0:

  • Added “fastest” preset, for even more speed but lower quality.

09/09/2014 – 2.6.0:

  • Added new boolean option “FrameDouble”, which when set to “true” will always double the framerate of the input video, unless NewNum is greater than 0.
  • Updated the “Recommended” script in the documentation

11/05/2014 – 2.5.2:

  • Updated SVP libraries (thanks, SVP!) which:
    • Improved quality
    • Fixed bugs

16/12/2013 – 2.5.1:

  • Minor code cleanup
  • Updated SVP libraries (thanks, SVP!) which:
    • Improved quality
    • Improved GPU support
    • Fixed bugs

18/02/2013 – 2.5.0:

  • Minimized artifacts (thanks, Widezu69!)
  • Made motion smoother by default (only in GPU mode)
  • Updated libraries which improve scene-change detection, thanks to SVP

24/01/2013 – 2.4.0:

  • Updated libraries which improve scene-change detection, thanks to SVP

16/01/2013 – 2.4.0 RC1:

  • Fixed the presets Weak and Faster when not using GPU (thanks, Motenai Yoda!)
  • Fixed the Animation tuning (thanks, HolyWu!)

11/01/2013 – 2.4.0 Beta 1:

  • The “Medium” preset is back to what it was in 2.2.0
  • The “Fast” preset is the same as “Medium” was in 2.3.0
  • The new “Faster” preset is the same as “Fast” was in 2.3.0
  • The “Animation” tuning has been changed a lot based on SVP recommendations
  • The “Weak” tuning has been changed a lot based on widezu69’s recommendations
  • The “Smooth” tuning is smoother

24/12/2012 – 2.3.0:

  • Increased speed
  • Decreased blobs/artifacts in high-action scenes
  • Updated libraries which optimise memory use and support more video cards, thanks to SVP

13/11/2012 – 2.2.0:

  • Fixed a syntax bug that appears to have had little-to-no effect (thanks to HolyWu for reporting it).
  • Tweaked scene-change detection again (tightened this time to improve artifacts).

27/06/2012 – 2.1.0:

  • Improved smoothness in high-action scenes by loosening scene-change detection.

05/06/2012 – 2.0.2:

  • Better interpolation stability.
  • Supports more video cards.
  • Better compatibility with AviSynth 2.6.
  • Thanks to SVP.

05/05/2012 – 2.0.1:

  • Updated libraries to support new video cards like GTX 680, thanks to SVP.

03/05/2012 – 2.0:

  • Updated libraries, thanks to SVP.

17/04/2012 – 2.0 RC1:

  • Updated libraries, thanks to SVP.

12/04/2012 – 2.0b4:

  • Reduced instances of warping by fixing usage of SAD mask, thanks to Bernardd for reporting the bug.
  • Further reduced instances of warping by lowering area_sharp (sadgamma).

11/04/2012 – 2.0b3:

  • Updated libraries, thanks to SVP.
  • Changed some fields from string to int (NewNum, NewDen, OverrideAlgo and OverrideArea).

30/03/2012 – 2.0b2:

  • Updated libraries, thanks to SVP.
  • Fixed 3D modes.
  • Fixed “overlap must be even” error.

24/03/2012 – 2.0b1:

  • Rewrite which no longer uses MVTools2 and has better quality and is faster.

23/03/2012 – 1.14:

  • Allow any value for OverrideAlgo.
  • Lots of documentation updates.

29/02/2012 – 1.13:

  • Added the “OverrideAlgo” option for users who wants to override the recommended algo value.
  • Added the “OverrideSadML” option for users who wants to override the recommended sadml value.
  • Updated FFTW to 3.3.1 from 3.2.2.
  • Updated MVTools2 (SVP Build) to 2.5.11.9 from 2.5.11.8, thanks to SVP.
  • Updated libflowgpu to 1.2.7 from 1.2.6, thanks to SVP.

31/12/2011 – 1.12.3:

  • Updated libflowgpu to 1.2.6 from 1.2.5 which improves ATI GPU compatibility, thanks to SVP.
  • Code reshuffle (no changes)

03/11/2011 – 1.12.2:

  • Updated MVTools2 (SVP Build) to 2.5.11.8 from 2.5.11.7 which improves speed by 2-15%, thanks to SVP.

16/09/2011 – 1.12.1:

  • Updated MVTools2 (SVP Build) to 2.5.11.7 from 2.5.11.6 which synchronises the build with the official 2.5.11.2 beta release.
  • Updated libflowgpu to 1.2.5 from 1.2.0 which improves GPU compatibility, thanks to SVP.

12/09/2011 – 1.12:

  • Improved some warping.
  • Added new UltraSmooth tuning and changed the Smooth tuning. Smooth now has more error-correction than before, while UltraSmooth is roughly what Smooth was before.

05/07/2011 – 1.11:

  • Increased quality of all presets. This change makes fast panning less smooth, but also decreases errors in general.
  • Fixed bug with Placebo preset (thanks to Alek93j and Gavino).

18/06/2011 – 1.10:

  • Increased quality of all presets. Thanks to DeathTheSheep for collaborating.
  • Increased speed of “Ultra Fast” and “Super Fast” presets.
  • “Animation” tuning is now much better and recommended for cartoon/anime inputs.
  • What used to be the “Animation” tuning is now called “Weak”.

23/05/2011 – 1.9:

  • Added support for 2 more types of 3D inputs (Half-SBS and Half-Over-Under).

20/05/2011 – 1.8.1:

  • Fixed stuttering motion particularly visible in cartoons.

04/05/2011 – 1.8:

  • Improved support for 2 types of 3D content – SBS (Side-By-Side) and OU (Over-Under), AKA Top-to-Bottom. This new feature is controlled by the new parameter InputType.

30/04/2011 – 1.7.1:

  • Increased the speed by roughly 40%, thanks to SVP

28/04/2011 – 1.7:

  • Increased the quality of all presets

20/04/2011 – 1.6:

  • Updated libflowgpu from 1.1 to 1.2 which improves the quality of GPU=true mode, thanks to SVP
  • Added more presets (“Faster” and “Super Fast”) based on some realtime user’s suggestions, so now there is a smoother step between presets

13/04/2011 – 1.5.2:

  • Set GPU=false by default instead of true, because of slight quality loss with GPU=true

13/04/2011 – 1.5.1:

  • Fixed bug with GPU=false mode

11/04/2011 – 1.5:

  • Improved the quality of the default, Fast and Placebo presets
  • It now checks for the existence of the mandatory value for FlowPath and displays an alert if it isn’t defined
  • Added the GPU parameter (true for GPU-acceleration, false for CPU-only)

10/04/2011 – 1.4:

  • Added custom mvtools2 and GPU-acceleration thanks to SVP
  • Improved the quality of all presets
  • Updated the sample videos in this post

01/04/2011 – 1.3.1:

  • Added input validation for Tuning and Preset values with descriptive error messages

30/03/2011 – 1.3:

  • Added new Tuning value called Smooth
  • Improved detection of scene-changes

24/03/2011 – 1.2:

  • Renamed Fast preset to Ultra Fast
  • Added Very Fast and Fast presets
  • Increased quality of Placebo and Medium presets
  • Added Tuning variable
  • Improved detection of scene-changes
  • Added the file dependencies to the download since a couple of them were confusing some people
  • Added links to the dependency websites in the help file

22/03/2011 – 1.1:

  • Renamed Quality preset to Medium (default)
  • Renamed Speed preset to Fast
  • Increased quality of Medium (default) preset
  • Added Placebo preset (little quality gain with big performance hit, not recommended)
  • RemoveGrain is now required for Medium (default) preset
  • EEDI2 is required for Placebo preset

21/03/2011 – 1.0.2:

  • Increased speed of both presets

20/03/2011 – 1.0.1:

  • Slightly faster
  • Scene-changes no longer fade/blend

17/03/2011 – 1.0:

  • Initial release

31 Comments

  1. @SubJunk: I’m dealing with a 15 FPS MJpeg video with a fast scroll. InterFrame does handle it enough well but it looks like the speed of the pan is too high for the low frame rate then i see some artifact in the resulting video. In the detail, a snowmobile running fast and the side snow heaps sometime appear not to correctly move with the rest of the terrain). I tried to play with the parameters but i don’t see any noticeable difference in the result. Can you give some hint to handle this case (if any)? Thank you!

  2. Hey! When we have this wonder in GNU / Linux?

  3. @liko28 probably never, since it uses AviSynth which is Windows-only. Sorry!

  4. Π•Π²Π³Π΅Π½ΠΈΠΉ

    February 2, 2015 at 4:04 am

    How can i use my GTX780TI? I have only 10FPS Processing Rate πŸ™

  5. A little typo.
    By “(Updated 03 Jan 2014)” in the title, you must have meant “03 Jan 2015”.

  6. @performant you’re right, thanks πŸ™‚

  7. Standard error stream

    March 3, 2015 at 2:10 pm

    I get an error at 99% when encoding: http://i.imgur.com/bA7n3XV.png
    Please help, i’ve converted many videos in the last days but now i’m having this issue.

  8. @”Standard error stream” that’s a codec issue, try using a different codec for MP4 files. There’s a FAQ entry about it in my conversion guide.

  9. When using InterFrame-2.8.0.1 in potplayer 1.6… on specific frames of the video to fail and potplayer is closed, and when using InterFrame-2.7.0 video plays fine without crashing.

  10. (I can’t write english well, so I have grammatical errors.)
    InterFrame 2.8.1 version’s Animation Tuning has a big flaw. It makes the screen bob up and down and choppy.
    The screen has broken. Please revise this Animation Tuning.
    For example, InterFrame 2.3.0 version’s Animation Tuning didn’t make it bob up and down and choppy.
    Thank you for making interframe. It’s very useful.(Especially, for animation)

  11. Impressive demo indeed but questionable . That is how can one be sure that things here are not the way around …

    I mean the source video would be 1280*720 @59.94fps ( here the ‘InterFrame version’ ) , being simply severely downgraded to 23.97fps (here the ‘original file’ ) !?

    Added interpolated inter-frames figures do not fit well here with frame rates . The addition of interpolated frames should more naturally and nicely cap to 48fps not 59.94 . Which then raises some doubt …

    More demos that one could re-produce on his own machine would be welcome.

  12. @sainthomas just use whatever video you have on your computer. The source for the demo video is The Tall Man, a movie at 23.976FPS.

  13. “The tall man” , are you sure ? from what I see , I recognize Ron Perlman which does not play in this movie .

    anyway a good practice , and quite useful to your readers, could be to give all info ( exact script more than generic recommanded, etc..) so that they can reproduce your result on their computer. Then indeed it would be time to congratulate you for such achievement .

    I should take time to watch side by side the source and export movie , so that I can have a close look a the interpolated frames . As there are quite a few here ! 36 extrapolated for 24 reference frames … no small potatoes for any regular interpolation algo !

    Even the excellent QTGMC does not do that ( in its own way indeed , as using previous and next frame for deinterlace)

    Provided I would/will get your result you’d deserve much regard. Don’t misinterpret my post : I am quite impressed , almost too much in the first place πŸ™‚

  14. So okay , I had a close look , frame by frame, and it is very …trivial, though it works ! it is ‘efficient’ the simple way it acts .

    that is basically “re-slicing” if I may say so , a 24fps movie in 60 new ‘slices’ (frames) ; while it is so simple , it still does indeed produce a smoother action , but there is NO interpolated frames per se , NO so-smart calculation of interpolated frames ( by some clever mix of the actual frame and the next one , for instance, well what -interpolation- is basically ).

    It simply mimics a monitor fps up-sampling , but it is okay , it does smooth motion obviously πŸ™‚

    It is simply a matter or resampling the framerate. I am still amazed it does work though

  15. BTW , I have to apologize since I confess I did not read the entire page , I just took interest in the video samples and then I ‘made my way inside’ on true interpolation.

    So it is about frame doubling (or so) and it is something I had never seen as separate software. It is quite an achievement and so kudos for your work.

    Still the idea remains so simple , it still astonish me a simple idea can be that great πŸ™‚

    Best regards

    ps : all my posts have not such interest they should join more useful comments. That is I wrote to you in the first place. When I will have time I will try this script and see if I can then be more useful to your work

  16. the point which made me wrong on what InterFrame is comes from some reference I found (regarding InterFrame and higherframe rates ) to aknowledged interpolation techniques such as refered here http://www.svp-team.com/

    Indeed this is quite false when it comes to the way InterFrame behaves .

  17. @sainthomas the samples from The Tall Man are on the InterFrame post (http://www.spirton.com/interframe/) while the guide (http://www.spirton.com/convert-videos-to-60fps/) uses a sample from Sons of Anarchy. The samples are from years ago, and since then the quality has improved slightly and conversion speed has improved a lot.
    I tried to select samples that show varying success with the script. Interpolation looks great with panning and when large things move, but not so much when small things move quickly on the screen, so all of the samples try to represent all of those scenarios.

  18. The samples from Sons of Anarchy ( the one I looked at) are great at improving (panning) motion fluidity. In the first place I would think of some ‘trick’ not involving a lot of computational interpolation but then again I was wrong ! lol . I basically assumed on some ‘mimic’ of the persistance of human vision , hence in a panning some simple solution like ‘capturing’ more …interframes , a bit like many intermediate screen captures ! Then I realized that consecutive discrete frames would simply not allow for this so simple solution. You would simply ‘capture’ a mixed bag of different things almost upside down !! no POV here inthe images themselves , only the human eye has πŸ™‚

    So , okay, it’s about interpolation, and this is quite a feat ! kudos

  19. Hello,
    i have the error “svsmoothfps unable to init GPU-based renderer”
    Do you know how to fix it?
    Thank you

  20. SVPflow 1.1.16
    ————–
    svpflow1.dll 2.0.4, svpflow2.dll 2.0.2
    = fixed crash in svpflow1

  21. what is the difference in the script which is generated using SVP 3.17 and this which uses interframe().

  22. i see that this was very uniform but there were artifacts while i was encoding anime

  23. @Jacuzzi there’s an anime mode, see the docs

  24. Thank You for this plugin. Works good, but I’m not able to set tuning to “UltraSmooth”. MeGUI says that it is not valid tuning.

  25. Hello,
    I just wanted to help those who have the error message “please make sure….avisynth… can’t stream the video etc”. I tried to reinstall everything+ the codec pack and it didn’t work.
    The solution for me was to install Smoothvideoproject Free with his additionnal codecs, then MeGUI worked perfectly.

  26. why do we need this .when there is daum pot player+ avisynth. and it can work using less resources than this interframe plugin

    i tested interframe in daum pot player it consumes more cpu than normaly giving the smooth motion script

  27. Would converting a 1080i 25fps video to 720p 59.94fps with Interframe give better results than ConvertFPS? Here’s my script:

    Spline36Resize(1280,1080)
    QTGMC(Preset=”Slow”)
    Spline36Resize(1280,720)
    InterFrame(Cores=1, Tuning=”Smooth”, GPU=true)

    Doesn’t seem to matter if I specify more cores or not as I get the same speed since I’m not running in MT mode. The video finishes encoding but the resulting video only has video for the first several minutes. When I try to go further the video just stays paused while I can hear the audio carry on playing.

    How can I get this working correctly? I’m using DGDecodeNV as the indexer in MeGUI. I’ve encoded Standard Definition videos before using InterFrame and FFMS as the indexer and it worked fine.

  28. How interframe used in avidemux? Please

  29. @Peter yeah it’s called “Smooth”

  30. @thanveer because these videos can be played anywhere including on TVs instead of being dependent on one player

  31. Hi! Is this project abandoned or there is simply no need for updates?

Leave a Reply

Your email address will not be published.

*

© 2016 Spirton

Theme by Anders NorenUp ↑