Well it comes down to budget. I think an 8700k should pull it off with custom (lower) SVP settings, but you could always go HEDT if you're really dead-set on an Intel mobo.

Honestly I don't see why though. Coffee lake mobos use a dead end socket, while AMD confirmed that Zen 2 will work on current AM4/TR4 motherboards if you want to swap CPUs in the far future. X399 is actually pretty upgradeable since you can get really high core count chips, but it costs an arm and a leg.

I doubt Vega would be much faster than a 1080TI in MadVR, especially if you OC the TI a little. It's at least on par, and the TI is faster in games for sure.

Have you tried resetting MadVR's settings to defaults? There are some old MadVR guides out there that suggest really bad/outdated settings. A 1080 TI should easily handle NGU, even at 4K/60 with 1080p input, so it sounds like something is off.

In theory the CPU should have nothing to do with MadVR performance, only SVP performance.


EDIT: Oh, you're at 1440p/144hz? Make sure SVP isn't choking your CPU, that can be alot for it to handle. It's also alot for MadVR if you're forcing it to double 1080p then downscale it at such a high refresh rate.

You should look at CPU and GPU usage during a video and see what's limiting everything.

3

(11 replies, posted in Using SVP)

GhostOfSparta wrote:

Yeah I did force enable GPU encoding and deciding which I can see while doing perf monitoring.
https://www.svp-team.com/wiki/Manual:SVPflow This link made me think SVP could be GPU accelerated since it says MSmoothFPS is GPU accelerated, but maybe I'm reading that wrong?  I'll be digging into the vapoursynth script today to see what I can learn.

Most of the actual SVP vapoursynth script is tucked away in the SVP dlls, the visible scripts just call it. You can't change much, unfortunately.

There may be a denoising step you can replace with KNLMeansCL (which is why I mentioned it), and you can cut out some of the extra steps, but that's about it.

And SVP IS GPU accelerated, just lightly/partially GPU accelerated. There was another thread on this that eludes me now, but the jist of it is that A: SVP is largely based on the old mvsfunc plugin, which means you can only offload so much to the GPU without rewriting everything from scratch, and B: the SVP devs wanted it to work in real-time on as many machines as possible. This means laptops with IGPs, which means you can't offload too much to the GPU without overloading it.

That was years ago though. The GPU power of the average machine has gone WAY up while CPUs have been relatively stagnant, hence SVP seems like it barely loads desktop GPUs at all. It's like an old game: it's using the GPU, it just doesn't need much and is ultimately limited by the CPU.



If you're just trying to use idle GPU resources, you might be able to inject MPV's GPU shaders into the encoding process? https://github.com/mpv-player/mpv/wiki/User-Scripts

Never tried it myself though. If you do it with StaxRip instead, there are a few GPU filters out there (Waifu2x and some denoisers IIRC).

4

(11 replies, posted in Using SVP)

GhostOfSparta wrote:

It just doesn't seem like it is using GPU acceleration since my CPU usage is spiking so high when it's processing.  Is there an additional config I need to get vapoursynth to process on the GPU?

Again, SVP just mostly uses the CPU. That's by design, and there's no way around it. If you're seeing a little GPU load with near full CPU usage, then it's working as intended.

But you CAN reduce the CPU load by shifting the transcoding part from the CPU to the GPU's encoding block. I'm not sure how you'd do it via MPV's CLI, but Staxrip can definitely do it.

5

(11 replies, posted in Using SVP)

Not sure why it's processing in real-time. But yeah, SVP is mostly a CPU load, you're doing nothing wrong.

IMO, SVPcode is good for quick and dirty transcodes, but if you're doing it regularly, you should use something like Staxrip's CLI: http://staxrip.readthedocs.io/cli.html

At it's core, SVP is just a giant avisynth/vapoursynth filter, and StaxRip is designed for transcoding videos using avisynth/vapoursynth filters.

Open the SVP menu during playback, and click on the "copy AVS script" button. Paste it in as a StaxRip filter, add another GPU filter if you want more uniform usage (like KNLmeansCL for denoising), save it as a profile, call that profile using the CLI, and you should get faster, more customizable transcodes that you can easily start with a CLI. NVEnc/VCE can transfer a bit more of the load to the GPU, if you want.

6

(14 replies, posted in Using SVP)

I haven't been keeping track of ffmpeg lately, but HDR support is wonky and WIP pretty much everywhere.

Seems like alot of the devs don't have appropriate displays to test with. And most "HDR" displays really aren't ready for HDR stuff TBH.

7

(12 replies, posted in Using SVP)

Apparently there are ads baked into potplayer now too...

Yeah, that's out the window then.

Fortunately there's a big discussion about MPV making some kind of GUI "official" on their GitHub page.

8

(12 replies, posted in Using SVP)

PotPlayer is one of those "old directshow players", and it doesn't necessarily need ffdshow video filter to run AviSynth.

It's been kinda finicky in the past though. Been a long time since I tested AviSynth/VapourSynth in it.

What was the original filesize?

I've heard that interpolation is theoretically possible in ReShade. And this is kinda what spacewarp already does in VR (it pans a still image at 90FPS even if the game refresh rate is lower)


However, that is WAY outside SVP's scope for many reasons. To do this, you'd need to totally start from scratch.

Hououin Kyouma wrote:
brucethemoose wrote:

Any reason in particular that you need to use Premiere Pro? You can use special plugins to export to avisynth/vapoursynth scripts, which you then feed to a video encoder, but that's a deep rabbit hole to do down.

Please tell me how to export AviSynth/AviSynth+ scripts. I bought SVP 4 and am trying to encode some anime to x265 60fps but the last generated scripts found in the scripts folder in app data always gives me the error saying that "there is no function named ffdshow_source" ... Sorry if this is off topic. But you mentioned there are plugins for this. I could really use some help. I've been searching for the solution for weeks

I attached an image of the settings Id like to encode the video with and here is the script SVP produces. Would it be possible to use one of those plugins you spoke of to  make a template that I can maybe use in an encoder such as StaxRip, MeGUI, or Internet Friendly Media Encoder (IFME)

Just as a side note scripts that were generated back when I used SVP 3 worked fine in MeGui. SVP 4's gives the error I mentioned

# This script was generated by SVP 4 Manager.
# Check https://www.svp-team.com for more details.

SetMemoryMax(6000)

global threads=7

LoadPlugin("C:\Program Files (x86)\SVP 4\plugins64\svpflow1.dll")
LoadPlugin("C:\Program Files (x86)\SVP 4\plugins64\svpflow2.dll")

SetFilterMTMode("DEFAULT_MT_MODE",2)
SetFilterMTMode("SVSuper",1)
SetFilterMTMode("SVAnalyse",1)
SetFilterMTMode("ffdshow_source",3)
ffdshow_source()

ConvertToYV12()

global source_width = width
global source_height = height
global crop_string  = ""
global resize_string = ""
global super_params     = "{scale:{up:0},gpu:1,rc:true}"
global analyse_params   = "{main:{search:{coarse:{distance:-8},type:2}}}"
global smoothfps_params = "{gpuid:21,rate:{num:5,den:2},algo:23,mask:{cover:80},scene:{blend:true,mode:0}}"

global demo_mode=0
global stereo_type=0

########## 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)

    #MT-MODE-1  #do not remove this line!

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

    #MT-MODE-2  #do not remove this line!

    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)


"ffdshow_source()" Is just the source of the video for the rest of the script. Normally that's where SVP gets the video, but MeGUI and StaxRip are going to use something different, so you have to change it to that. It's usually the first line of the default script in MeGUI or StaxRip.


For example, if the first line in MeGUI is "DirectShowSource("C:\test.mkv", fps=23.976, audio=true)", then your whole script should look like this:

# This script was generated by SVP 4 Manager.
# Check https://www.svp-team.com for more details.
SetMemoryMax(6000)
global threads=7
LoadPlugin("C:\Program Files (x86)\SVP 4\plugins64\svpflow1.dll")
LoadPlugin("C:\Program Files (x86)\SVP 4\plugins64\svpflow2.dll")
SetFilterMTMode("DEFAULT_MT_MODE",2)
SetFilterMTMode("SVSuper",1)
SetFilterMTMode("SVAnalyse",1)
SetFilterMTMode("DirectShowSource",3)
DirectShowSource("C:\test.mkv", fps=23.976, audio=true)
ConvertToYV12()
global source_width = width
global source_height = height
global crop_string  = ""
global resize_string = ""
global super_params     = "{scale:{up:0},gpu:1,rc:true}"
global analyse_params   = "{main:{search:{coarse:{distance:-8},type:2}}}"
global smoothfps_params = "{gpuid:21,rate:{num:5,den:2},algo:23,mask:{cover:80},scene:{blend:true,mode:0}}"
global demo_mode=0
global stereo_type=0
########## 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)
    #MT-MODE-1  #do not remove this line!
    super=SVSuper(input, super_params)
    vectors=SVAnalyse(super, analyse_params, src=input)
    smooth=SVSmoothFps(input, super, vectors, smoothfps_params, mt=threads, src=src)
    #MT-MODE-2  #do not remove this line!
    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)

BTW, if you're looking for quick encodes and have a newish computer, I suggest using StaxRip with hardware h.265 encoding instead of MeGUI. Also use vapoursynth SVP if you have SVP 4 Pro, since it's a bit faster. But if you want the smallest possible file size, just use whatever program you like the most.

12

(1 replies, posted in Using SVP)

Try turning off "decrease grid step" if you have it on.

13

(22 replies, posted in Using SVP)

Currently I watch 720p and lower res stuff with MPC-HC, since MarVR is better at scaling and sharpening the image in my experience.

Anything higher (up to 1440p), I use MPC-QT. It's kinda wierd to setup, but easy to configure and use, and I can manage "higher" SVP settings with it than I can with MPC-HC.


PotPlayer can theoretically get you the best of both, but it's a pain in the butt since you have to manually configure the VapourSynth script every time. Not worth in IMO.

14

(9 replies, posted in Using SVP)

MPC-QT has a bunch of HDR and ToneMapping options, you should give that a shot. You can also do straight AviSynth or VapourSynth SVP with PotPlayer (no ffdshow needed), but I have no idea how well it supports HDR atm.

BTW, I get ~20% better CPU performance in MPV/MPC-QT than MPC-HC. HC can't even handle smaller block sizes on my 4670k. Mind you, I only watch stuff in 8 bits and mostly at 1080p ATM, and MPV does seem to use a bit more GPU with similar settings.

kadigan.ksb wrote:

For now, I will try sticking to EVR-CP. It definitely works good enough, and I don't really see the difference from madVR... Maybe some color change, but I probably wouldn't notice (I'm used to slightly washed-out chroma much more nowadays, much like I'm used to much less compression on sound).

I still don't get why madVR was such an issue, though.

Not today, but in some time I'll try resetting it and changing settings one at a time to see which one is the offender -- assuming it's one, not a combination. We'll see. Will it be okay for me to append to this thread once I do?

Thanks again.

You need to do a full reset of MadVR, not a 1 by 1 change. I had a similar problem at one point, and it turns out an old MadVR config was absolutely tanking performance.

That said, I'm not surprised the Mac version works better. MPV's SVP is more efficient, even on Windows.

16

(3 replies, posted in Using SVP)

It doesn't necessarily have to be tied to SVP profiles, just like frame size and outer lighting aren't. In my head, I was picturing a separate "advanced" tab with Avisynth and Vapoursynth text boxes, and code that just parses lines from those 2 boxes and adds them to base.js.

Duckers wrote:
brucethemoose wrote:

Any reason in particular that you need to use Premiere Pro? You can use special plugins to export to avisynth/vapoursynth scripts, which you then feed to a video encoder, but that's a deep rabbit hole to do down.

SVPcode is a stand-alone utility. Whatever you have in Premiere, you can just export it then use that video file with SVPcode.

Yep, because premiere pro for me is much easier to use than having to use complicated scripts, than just using a decent interface to work with. I know next to nothing about scripting.

There's no scripting involved, you just click "browse for a video file to transcode..." in the GUI, find the file you're trying to transcode, and it goes to work.

Any reason in particular that you need to use Premiere Pro? You can use special plugins to export to avisynth/vapoursynth scripts, which you then feed to a video encoder, but that's a deep rabbit hole to do down.

SVPcode is a stand-alone utility. Whatever you have in Premiere, you can just export it then use that video file with SVPcode.

Being able to add your own, custom scripts just before SVP's script would be immensely useful, as it is much simpler than re-encoding a whole video.

For example, adding these 3 lines:

clip = core.vivtc.VDecimate(clip)
container_fps = container_fps * 0.8
clip = core.std.AssumeFPS(clip=clip, fpsnum = 24000, fpsden=1001)

Will fix the nasty stutters in 24FPS footage that is (incorrectly) encoded at 30FPS.

Other potentially useful things include using KNLMeans for high-quality denoising on the GPU (which could also help SVP in particularly noisy videos), or QTGMC or IVTC for interlaced videos that SVP can't normally play. Those filters in particular have to run before SVP, which means they can't be implemented by the video player's renderer.

Right now you can actually do this by backing up and manually editing SVP's script generator, but it's kinda finicky. For example, I added these 3 lines to base.js just after "clip = video_in":

    VS.push('clip = video_in');
    VS.push('clip = core.vivtc.VDecimate(clip)');
    VS.push('container_fps = container_fps * 0.8');
    VS.push('clip = core.std.AssumeFPS(clip = clip, fpsnum = 24000, fpsden = 1001)');

Maybe some presets or integration with SVPcode could even be included.

20

(26 replies, posted in Using SVP)

Fabulist wrote:

How come it does not have need madvr? From what I can tell it does not have the same functionalities as madvr does.

So is there no way/chance in the future you can get it working on say PotPlayer or MPC-HC without ffdshow?

It mostly does (including HDR conversion), the options are just hidden away in MPV.

They'll all exposed in MPC-QT though. And the few few things it doesn't do natively can be downloaded as user shaders:

https://www.svp-team.com/forum/viewtopic.php?id=3716

https://github.com/mpv-player/mpv/wiki/ … er-shaders

If the latest MPC-QT release doesn't work, try grabbing the previous version. I think the latest release broke SVP somehow.




I mentioned this because PotPlayer was a pain last time I tried it with SVP.

21

(4 replies, posted in Using SVP)

Another quick question: does SVP use the GPU when running as a MPV VS script? I think I'm getting worse performance when running it that way, with less GPU usage, but I'm not 100% sure.

22

(4 replies, posted in Using SVP)

Chainik wrote:

vf=vapoursynth=[C:\Users\Me\Desktop\Decimate.vpy]

note the brackets

Thanks, that did it.

SVP seems to override the script though. If I close SVP, the script runs, if I open SVP, SVP runs instead of the script.

Any way to work around that other than copying the generated SVP script? I'd like to adjust the settings in real time.

23

(4 replies, posted in Using SVP)

What's the syntax for running a vapoursynth script in MPV? I'm trying to run a custom deinterlacing script in real time.

I have this in the mpv.conf file:

vf=vapoursynth=C:\Users\Me\Desktop\Deinterlace.vpy

And have tried a number of variations. Script works fine in VSEdit, but I can't seem to activate the filter sad


I ask this in the SVP forums because I'm using SVP's MPV build, and I'm not 100% sure you can run SVP and another VS script at the same time. If I could figure out how to load a script, I could work around that by just copying SVP's vapoursynth script I suppose, but I'd rather adjust the settings via the application (as the script changes the video's framerate).

24

(8 replies, posted in Using SVP)

Yeah, there are many games that basically distribute file downloaders via steam

However, I foresee several problems:

-The SVP downloader/servers are slow enough to generate a bunch of complaints as-is.

-LOTS of people have horribly screwed up systems, which could mess up MPC (hence more negative reviews).


I think making a special "Steam Version" of SVP 4 Pro with only MPC-QT, SVPTube, and SVP Pro itself would be more prudent. MPV/QT are basically bombproof since they're standalone and have lots of fallbacks, and Valve would like the idea of a cross platform release more. Plus it would all be GNU or SVP code.

25

(9 replies, posted in Using SVP)

adamkex wrote:

How would this be monetised of it's open source? The gratis version of the software already offers the functionality which almost everyone is interested in.

Open source =/= free. Paid, copyrighted products with public source code does exist.

GPL is not gonna happen (as that DOES imply a free program), but posting at least part of the code under a license like this:

https://github.com/Regalis11/Barotrauma … r/EULA.txt

Could work. That being said, the devs have more incentive to keep it closed, I believe, and open sourcing it would require some work.