SVP 4 Setup Guide for Smooth “60 FPS” Anime Playback

Table of Contents

Now that I got your attention with the “60 FPS” title please don’t ever setup SVP to 60 FPS unless absolutely necessary (explained later).

This guide will teach you how to properly configure SVP 4 specifically for anime. I included configurations for both people who hate frame-blending interpolation, and those who prefer a smoother video experience.

What is SVP 4?

For those who don’t know what SVP (Smooth Video Project) is, it’s basically a program that interpolates videos to a higher frame rate for smoother playback experience. A license costs $25 which is rather pricey, although they do have a 30 day trial so test it out to see if you think it’s worth it. Linux users rejoice, you can use it for free.

For those who stream anime, SVP also has a SVPTube plugin that enables you to stream directly to your mpv player with SVP enabled.

Demos

(RANT) WHY DaFuQ DOES WORDPRESS STRIP <button> and <iframe> HTML CODE???

What Works Best with SVP

SVP works best for anime with smooth animations spanning every frame. This means that scene panning, 3D CGI camera movement/panning and CGI models work best (e.g. Demon Slayer, FMP – Invisible Victory, etc. ). Unfortunately many hand drawn action scene aren’t true 24 FPS and SVP struggles to interpolate those resulting in artifacts and lots of frame blending. Fortunately, it is possible to “filter” these scene out (adaptive mode) and disable interpolation with SVP which I go through later. A common mistake I often find in SVP guides is that people trying to force interpolation in such scene resulting in an even worse viewing experience imo.

1080p content also works much, much better than 720p. Sometimes I get annoyed that SVP refuses to interpolate what all might think is an “easy” scene, only to realize the 1080p version works fine. Quality also matters, web streams tend to not work as well as bluerays especially at 720p.

Why should I never set SVP to 60 FPS?

The problem is illustrated in the following code block:

• = Monitor Frame Timing
F = Original 24 FPS Video Frame 
- = Frames to be Interpolated

•••••••••••••••••••••••••••••• (60 Hz Monitor)
F--F-F--F-F--F-F--F-F--F-F--F- (24 FPS Video)

•••••••••••••••••••••••••••••• (48 Hz Monitor)
F-F-F-F-F-F-F-F-F-F-F-F-F-F-F- (24 FPS Video)

As 99.9% of anime are 24 FPS, interpolating to 60 FPS results in uneven interpolated frames. This results in an annoying judder during fast panning. While 60 FPS at first glace may seem like a huge improvement, once you try setting you monitor to 48 Hz you’ll never go back to 60 FPS. As for Mac users, Apple locks your screen at 60 Hz (RIP).

Setting up SVP 4, Monitor, and System Recommendations

Read the documentation on how to setup SVP with your specific player. It’s super easy on Windows. Mac/Linux users will need to compile a vapoursynth enabled mpv build (also really simple). I personally recommend mpv (IINA on MAC) for all platforms, and MPC + MadVR on Windows for the lazy. MadVR are for those who don’t want to spend the time tinkering with scripts, configs and shaders. Mpv are for those who want full control over the player (plus it’s also much more efficient which I recommend for weaker systems). Psst. I have a mpv setup guide you can find on the side bar/menu.

Important: Due to anime often encoded in 10-bit, go to application settings > frc > color > allow 10-bit and set it to true. If not you will experience terrible color-banding due to SVP not dithering 10 > 8 bit properly.

For those with 120 Hz monitors as long as you got a good CPU/GPU you’re gucci. For 60 Hz monitor plebs like me, you got 2 options.

  1. Overclock to 72Hz (multiple of 24). Use this UFO tool to check for frame skipping. If successful you’re good. (Those with TVs that have “Smooth motion / sport mode” you might be able to make 120Hz work from PC input, for 4K @120Hz you need HDMI 2.1). Keep in mind for weaker laptops you might be forced to use 48Hz instead as you CPU might not be able to keep up with 72fps.
  2. Setup 48Hz (might need to use Custom Resolution Utility (CRU) or NVidia/AMD’s GPU control panel to create 48 Hz profile).

As for minimum system specs, I do not recommend going any lower than 4/8 U-series (~2.5+ GHz all-core sustained; sufficient for 48fps) CPUs and Intel Iris (1x deband + no upscale/video filter) or MX150 GPU (basic upscale filter + 2x deband). For optimal playback I recommend 6/6+ desktop-class CPU (4.0GHz+ all-core sustained; powerful enough for 120fps) and a GTX 1050+ (can run advanced upscale shader + 2-4x deband + maybe 1 video filter).

Bonus: Mpv users have access to the high quality in-built deband shader. MPC users – here is the ported hlsl shader from mpv if you dislike the MadVR one.

Remember to check for frame drops! ctrl+J for MPC & shift+I on mpv. Try not to exceed 70-80% usage (for buffer + any more usually starts dropping frames) on both CPU and GPU while video playback in fullscreen.

Monitor Refresh-Rate: Extended

Some simple math:

Multiples of 24fps: 24    48    72    96 120 144
Multiples of 48fps:       48          96     144
Multiples of 30fps:    30    60    90    120
Multiples of 60fps:          60          120

120Hz is the sweet spot due to being the smallest common multiple of 24, 30 and 60, the most common video framerates. While interpolating to 120fps do make videos silky smooth, 4 interpolation frames in between true frames do lose some image sharpness. If you dislike this and wish to only interpolate to 48Hz (double of 24fps videos), you should have your monitor at 144Hz, which most high R-R monitors are anyway.

How to Quickly Switch Refresh Rate (for non-MadVR/MPC Users)

Display Changer II (dc2) is a simple utility that allows changing refresh rate with command line. Custom Resolution Utility (CRU) is a utility that allows adding custom monitor profiles to the system. If you’re on desktop you may also add custom resolution in NVidia/AMD’s control panel. After creating your 48Hz profile in CRU / GPU control panel (if it doesn’t exist in the first place), switch to it and run dc2 -create="48.xml". Then switch back to 60Hz and run dc2 -create="60.xml". Next, create a similar bat file as follows:

:: Set the dc2 directory to where yours is.
@echo off
"C:\Tools\dc2\dc2.exe" -configure="C:\Tools\dc2\48.xml" -temporary
echo Changed refresh rate to 48 Hz. To restore 60 Hz please press any key...
pause >nul
"C:\Tools\dc2\dc2.exe" -restore

Lastly, create a shortcut with similar code as follows to the bat file and pin it wherever you want.

cmd /c "C:\Tools\dc2\RRto48.bat"

It is also possible to use AutoHotKey or even PowerShell to create more advanced version of this but a simple bat file should suffice for most people. It also stays open to remind you that you’ve changed your refresh rate until you press an key to revert back.

SVP 4 Options Overview

Finally to the juicy details. This section is done in a summary format. I had demos and full length explanations done but decided against using it as it gets way too long.


  • Function: Relevant/Available Settings (Bold = Recommended Settings)
    • Description

  • Frames Interpolation Mode: 2m, 1.5m, 1m, Uniform, Adaptive
    • Always set to Adaptive for Anime. 2m has least artifacts, uniform is most fluid but most artifacts. Adaptive mode gives each frame a score of “good”, “bad”, or “worst”, and each scenario uses the interpolation mode set in adaptive pattern setting.
  • Adaptive Pattern: Uniform-1-1.5, Uniform-1-2, 1-1.5-2, 1-2-2
    • Frame interpolation mode to do on “good”-“bad”-“worst” scenarios. Set to Uniform-1-2 for frame-blending shaders, or 1-2-2 if you hate artifact/excess frame-blending. Always set to 1-2-2 for non-frame-blending shaders. 1-1.5-2 is an intermediate of both, viable for content with complex texture.
  • SVP Shader: Fastest, Sharp, By Blocks, Simple Lite, Simple, Standard, Complicated
    • Algorithm to use for interpolation. Fastest & Sharp do not frame-blend. Sharp is higher quality. Remember to set adaptive pattern to 1-2-2 since both these algorithms create terrible puddle artifacts on non-optimal scene and should only be used on “good” scenarios. By blocks to Complicated work similar to each other (frame-blending techniques), the quality of the algorithm increases as you go down the list. (Technically they differ in masking techniques but real world results are almost identical, with the only difference being their quirks with artifacts). Frame blending shaders combine both frame blending and non-frame blending methods to interpolate creating a smoother experience at the cost of potentially more artifacts. Set to Fastest/By Blocks depending on preference, and if processing power allows use the higher quality counterpart Sharp/Standard. If you interpolate more than 2x the frame rate, do not use the fast/sharp shader.
  • Artifact Masking: Disabled, Weakest, Weak, Average, Strong, Strongest
    • Stronger masking = more blending into next frame. Depends on personal preference. Keep in mind stronger masking may have a smoother experience in complex-textured scene but may introduce ghosting in fast objects and fast-panning simple scene. If you dislike the ghosting/blending effect typically seen on TV “sport mode” turn artifact masking off. A “weak” artifact masking is sufficient to mitigate ‘tearing’ effects caused by interpolation errors for small static objects / credits text on a panning scene.
  • Motion Vectors Precision: Half, One, Two
    • Precision in interpolating vectors. Set to half if processing power allows. Only set to two if on low-end system.
  • Motion Vectors Grid: Small: 6, 7, 8 Medium: 12, 14, 16 Large: 24, 28, 32
    • Block size for motion vector prediction. Smaller = more CPU usage. Bigger = smoother panning but may overlook details, also abandons interpolation more easily on “bad/worst” scenarios; Smaller = better interpolation for smaller details but potentially more artifacts/halo due to “false positives”. Sane values 16-32, 24 or 28 recommended for 1080p. Remember to multiply value by 2/3 for 720p content for same effect. For really high-end CPUs, another strategy you may want to experiment is to utilize the smallest grid size (6,7,8) to make the artifacts as small as possible, then use artifact masking to cover them up.
  • Decrease Grid Step: Disabled, Local, Global
    • Refines Interpolation further, especially useful on smaller vector grid values. Set to global if processing power allows.
  • Search Radius: Small & Fast, Small, Average, Large
    • Larger = better at finding huge movements at the cost of artifacting (“stretching” effect). Small & Fast recommended. Small-average is viable for frame-blending shaders.
  • Wide Search: Disabled, Average, Strong, Strongest
    • Last-ditch effort at finding motion vector. Disabled recommended for 1-2-2 adaptive mode, disabled or average for Uniform-1-2 mode.
  • Width of Top Coarse Level: Small, Average, Large
    • Just leave this on average. Read wiki for more details. Set to large for weaker systems.

Recommendations

Now onto my recommendations for each type of systems/preference.

Setting A: Toaster Edition

Toaster Edition Recommended Settings (No Frame Blending/Frame Blending)
Pros: Minimal Resource Usage Cons: Easy to spot imperfections (artifacts/puddles)
Frames Interpolation Mode Adaptive
Adaptive Pattern 1-2-2
SVP Shader Fastest
Artifact Masking Disabled/Average
Motion Vectors Precision Two
Motion Vectors Grid 32
Decrease Grid Step Disabled
Search Radius Small & Fast
Wide Search Disabled
Width of Top Coarse Level Average/Large
Rendering Device No Change/CPU/GPU (Leave at no change unless you have issues, then test either CPU or GPU)

Now for those who absolutely hate frame-blending and artifacts, the goal is to let SVP abandon interpolation anything other than “good” scenarios. The downside for this particular setting is that if a panning scene has to much texture/detail, it will fail to interpolate and display the original. Additionally, if SVP incorrectly assigns such “bad” scene as “good”, the tear/puddle artifacts look horrible.

Please not that you absolutely MUST have your monitor refresh rate 2x of the video fps for this specific config or there will be constant interpolation judder/blending in attempt to sync to 60 Hz. Refresh rate more than 2x may also judder due to the fast/sharp algorithm being bad at interpolating more than 1 intermediate frames.

Setting B: I Hate Soap Opera Edition

No Frame Blending, Very minimal artifacts (basically only smooth panning/motion scene.) Recommended Settings
Pros: Moderate Resource Usage, Only interpolates when confident, No frame-blending (sharper image), No change from original if interpolation fails (SVP will abandon interpolation displaying a duplicate) Cons: Complex texture/CGI panning scene will fail to interpolate (due to 1-2-2 adaptive pattern), Occasional smooth to choppy judder due to a complex object entering a panning scene resulting in a sudden “good” -> “bad” switch with SVP abandoning interpolation, Fast-panning scene foreground text and fast small objects may occasionally “tear/puddle”, MUST set monitor refresh rate to multiple of video file.
Frames Interpolation Mode Adaptive
Adaptive Pattern 1-2-2
SVP Shader Sharp
Artifact Masking Disabled / Weak (Turning on masking helps mitigate small warping errors at the cost of ghosting/frame-blending on fast objects)
Motion Vectors Precision Half or One (Setting to One may avoid some small interpolation errors, but Half gives better accuracy)
Motion Vectors Grid 32
Decrease Grid Step Global
Search Radius Small & Fast
Wide Search Disabled
Width of Top Coarse Level Large

For those who don’t mind a bit frame-blending and some occasional artifacts for a “perceived” smoother experience. This is my favorite setting.

Those who like the Standard algorithm but want something less aggressive could use Setting B above with the algorithm replaced and artifact masking disabled.

Keep in mind a “smoother” setting tends to introduce more artifacts, halos/ghosting, more frame-blending, etc.

Setting C: Regular Edition

Minimal Frame-Blending Recommended Settings (Bold = my recommendation)
Pros: Less noticeable “puddle” artifacts, eliminates “tearing” effect, Complex scene slightly smoother from the frame-blending interpolation Cons: Still fails to interpolate the most complex/CGI/texturized fast motion scene (for 1-2-2 adaptive pattern)
Frames Interpolation Mode Adaptive
Adaptive Pattern 1-2-2/1-1.5-2 (1-1.5-2 for slightly more aggressive interpolation)
SVP Shader Standard
Artifact Masking All viable depending on preference, recommend Disabled/Weak
Motion Vectors Precision Half or One (Setting to One may avoid some small interpolation errors, but Half gives better accuracy)
Motion Vectors Grid 24/28
Decrease Grid Step Global
Search Radius Small & Fast
Wide Search Disabled/Average
Width of Top Coarse Level Average

This last set of settings should be the best in terms of “smoothness”. It also allows SVP to more successfully interpolate complex pan/CGI motion camera scene at the cost of more artifacts (mostly in the form of frame-blending).

Setting D: Sport Mode, but Actually Decent Edition

Frame-Blending Bold = my recommendation.
Pros: Complex CGI camera can successfully be interpolated, Frame-blending tricks eyes for smoother experience Cons: Arch enemy of those who hate frame-blending, May experience weird “ghosting” effect on fast moving/small objects
Frames Interpolation Mode Adaptive
Adaptive Pattern Uniform-1-2
SVP Shader Standard
Artifact Masking All viable depending on preference, recommend Average
Motion Vectors Precision Half or One (Prefer half if performance allows)
Motion Vectors Grid 16-28 depending on preference, recommend 24
Decrease Grid Step Global
Search Radius Small & Fast
Wide Search Disabled/Average
Width of Top Coarse Level Average

My personal favorite are settings C and switching artifact masking weak/disabled depending on the anime.

Conclusion

Thanks for reading! This guide took quite a while to complete. Let me know if you have any question!

Bonus Stuff

Here are some good clips to use to configure SVP 4.

Test clip.

  • Cop Craft OP: Lots of colors and action, good for tuning frame-blending/ghosting effect.
  • Cop Craft ED: Good for tuning smooth panning for complex textures w/ overlayed text.
  • Cop Craft 07 Intro: The first scene panning up the building, and the following scene panning across the *cough* room with moving objects may be a challenge for some settings.
  • Danmachi Oratoria OP: Lots of panning scene with detailed texture. Diagonal panning may post a challenge for “1-2-2” adaptive mode as it classifies many of these frames as “bad” scenarios.
  • Danmachi Orion no Ya: Complex lighting/colors panning. The intro scene in the caves, and panning objects, across the sky, and stars are good for testing motion vector grid sizes.
  • Danmachi S1 01: The intro portion is good for configuring motion vector settings.
  • Danmachi S1 OP: General panning/zoom panning/motion panning.
  • Danmachi S2 04: Starting from the familia battle you can tune motion vector settings. The sword fight is good for tuning motion vector options to prevent artifact forming on fast moving thin objects.
  • Danmachi S2 OP: Good for testing rendering options and shaders. The fast camera movement and foreground text credits are great for testing out shader options especially for text tearing.
  • Katanagatari OP1: (Not in test clip) Lots of textured 2D objects moving around, good for testing vector size settings.
  • Maou-sama, Retry! 06: The purple haired girl raises her hand, then proceeds to roll around. The low-budget anime frame rates absolutely destroys SVP. This is a great scene to test out settings for SVP to “give up” interpolation. Relevant options are motion vector grid size (bigger = more easily give up interpolation), range, and adaptive mode. You may also test out frame-blending shaders here as this specific scene is extremely unfriendly to these shaders.
  • NGNL Zero CGI motion: The motion camera CGI through the complex textured valley is very good for testing adaptive patterns and frame-blending thresholds. “1-2-2” adaptive mode will struggle very hard here. Using “Uniform-1-2” with the Standard shader is recommended. This particular scene is good for tuning your options for a very complex/detailed/textured motion for “bad” scenario frames.
  • NGNL Zero Rolling Credits: The end rolling credits, as you guessed, is to tune scrolling text. Adjusting motion vector precision settings here should help.

21 thoughts on “SVP 4 Setup Guide for Smooth “60 FPS” Anime Playback

  1. Oh my god, THANK YOU! I just upgraded to a 144Hz screen and the jadder in anime MADE ME GO NUTS. I am using your C setting set at 48FPS and daaamn it’s amazing. It’s not a soap opera but the panning scenes are smooth enough to not bother me anymore. This piece of miracle software is definitely worth the 25$.

    Like

      1. I tried setting c on a movie and i can clearly say it is really good in terms of smoothness. This setting also reduced the artifacts significantly but we still have those halos around moving people. If we only were able to eliminate those halos-ghosting artifacts it would be great.

        Like

  2. I have a 144hz monitor but my specs are not that good
    Ryzen 5 2600
    gtx 970 strix
    What resolution should i use ? My monitor creates a lot of motion blur at any hz i choose. It wasn’t like that when i was using a 60hz monitor.

    Like

    1. your spec is good.
      try default resolution, default refresh rate or set refresh rate to 60 Hertz (for 48fps)
      For “Do framerate conversion” in SVP set to Movie x2 or Movie x3

      Like

  3. just wanted to mention for tv which runs at 29.97fps, 60hz/120hz interpolation should be fine, but keep in mind 29.97 x2 is 59.94fps, not 60. To help fix this, if you’re a pro user, go to advanced settings, and change value of tolerance (might be called something different, I’m not at home right now, sorry in advance) to 0. this will get svp to interpolate to your exact current refresh rate. I noticed less judder.

    also nvidia optical flow removes most of the settings in this article. Kind of an older article so I don’t expect it to be updated to include optical flow any time soon, but Ill check back every now and then.

    Like

    1. I wouldn’t worry to much. 1 frame duplicate every 16 seconds is hardly a huge concern. Not to mention most monitors don’t display exactly 60/120Hz.

      Nvidia optical flow is kinda eh. It’s too aggressive to my liking, though people with with CPUs can consider it.

      Liked by 1 person

      1. I tried it out but the aurora artifacting was really bad with optical flow and there was random stuttering sometimes too so I went back to the settings in the guide.

        Like

    1. You could use it, though it’s pretty much identical to Standard. There are circumstances where it produces different results from Standard, but more than often I wouldn’t call these different results a significant “improvement”.

      Like

  4. Hi,
    So I am using the mpv builds by shinchiro and no matter what I try, I just cannot get SVP to work with it.

    This is my mpv.conf: https://pastebin.com/35RMHGRX

    I even tried this guide (I know it mentions mpv.net, but I just followed it with shinchiro mpv builds): https://www.reddit.com/r/mpv/comments/buhyxb/tutorial_smoothvideo_project_svp_for_mpvnet/

    The funny thing is, SVP control panel does “detect” mpv, but I do not get the SVP logo in mpv and it does not interpolate the video, even though it says it does. I cannot use the old mpv builds that SVP comes with because the newest Anime4K shaders does not play nice with it.

    Like

      1. Well, I can definitely confirm that it does not load any other config as my Anime4K glsl shaders that I have added do work, just not SVP.

        I will try a new config from scratch as you say then, thanks.

        Like

      2. You can also try downloading the build I provide and uncomment the SVP portion in the portable directory. If it works fine then there’s something conflicting.

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s