Topic: Using SVPFlow on Linux

Hi,

After days of trying to get rid of the 'unable to find mps pid' problem ( https://www.svp-team.com/forum/viewtopic.php?id=4277 )
I figured I'd try using the SVPFlow plugins, https://www.svp-team.com/wiki/Manual:SVPflow .

Here's my script, basically stolen from here: https://www.svp-team.com/forum/viewtopi … 67&p=2

import vapoursynth as vs
core = vs.get_core(threads=5)

clip = video_in
clip = clip.resize.Bicubic(format=vs.YUV420P8)

super_params="{gpu:1}"
analyse_params="{}"
smoothfps_params="{rate:{num:5,den:2}}"

super  = core.svp1.Super(clip,super_params)
vectors= core.svp1.Analyse(super["clip"],super["data"],clip,analyse_params)
smooth = core.svp2.SmoothFps(clip,super["clip"],super["data"],vectors["clip"],vectors["data"],smoothfps_params, fps=container_fps)
smooth = core.std.AssumeFPS(smooth,fpsnum=smooth.fps_num,fpsden=smooth.fps_den)

smooth.set_output()

and heres the error:

[vapoursynth] Script evaluation failed:
[vapoursynth] Python exception: SVSuper: invalid 'params' syntax: * Line 1, Column 2
[vapoursynth]   Missing '}' or object member name
[vapoursynth] 
[vapoursynth] 
[vapoursynth] Traceback (most recent call last):
[vapoursynth]   File "src/cython/vapoursynth.pyx", line 1830, in vapoursynth.vpy_evaluateScript
[vapoursynth]   File "/home/bobby/.config/mpv/svpflow.py", line 11, in <module>
[vapoursynth]     super  = core.svp1.Super(clip,super_params)
[vapoursynth]   File "src/cython/vapoursynth.pyx", line 1722, in vapoursynth.Function.__call__
[vapoursynth] vapoursynth.Error: SVSuper: invalid 'params' syntax: * Line 1, Column 2
[vapoursynth]   Missing '}' or object member name
[vapoursynth] 
[vapoursynth] 

Any pointers, even RTFM ones (preferrably w/ a link to some actually relevant manual)
are *highly* welcome, I've spent too many days on this now, anything.

Re: Using SVPFlow on Linux

In that thread nabildanial had the very same error using Arch too.
I'm starting to think there's something wrong with Arch hmm

Try using "true" JSON format, i.e. '{"gpu":1}' and so on.

Re: Using SVPFlow on Linux

Ha!

I just changed that and got:

vapoursynth.Error: SVSuper: pel has to be 1 or 2 or 4

then I set pel to 1, and whollaaaaaa!

so, now the line says:

super_params='{"gpu":1,"pel":1}'

Thanks again good sir!

Re: Using SVPFlow on Linux

This's really wrong.

Are we talking about libs taken from the official SVP distribution?

Re: Using SVPFlow on Linux

Well, should be so, yes.

https://aur.archlinux.org/packages/vapo … flow2-bin/
https://aur.archlinux.org/packages/vapo … -svpflow1/

Those are the packages I've got installed.

Re: Using SVPFlow on Linux

Just take the official installer, do not use aur packages, and it'll work as expected.

Re: Using SVPFlow on Linux

Hmm, it works as expected now, like I said smile everything is fine.

Re: Using SVPFlow on Linux

no, it's not

original svpflow1 is statically linked with the modified version of jsoncpp lib
while that one from AUR package is dynamically linked with system-wide jsoncpp
this's why it's broken


"SVSuper: pel has to be 1 or 2 or 4"

"pel" has to be 2 by default if it's not specified
so I'm not sure other defaults are correctly set