1

(3 replies, posted in Using SVP)

I asked some other people and it's not a SVP bug, it's reproducible with other means in VS but probably only on mac under unusual circumstances. Will report back when I know more.

2

(3 replies, posted in Using SVP)

Anyone else having problems with YUV420p10 content? YUV420p8 works fine. The codec doesn't matter, happens with h265 and h264.
For me it looks like this:
https://0x0.st/scn-.pn
(latest SVP 4 on OSX with self-built mpv, around 1 week old)

Nothing suspicious in SVP's log:

13:16:49.943 [i]: VideoPlayer: mpv connected, waiting for the video info...
13:16:50.474 [i]: VideoPlayer: mpv 0.28.0-212-gd7db42d
13:16:50.502 [i]: Media: video 1920x1080 [PAR 1.000] at 25.000 fps [constant]
13:16:50.502 [i]: Media: codec type is HEVC, YUV/4:2:0/10 bits
13:16:50.515 [i]: Playback: starting up...
13:16:50.520 [i]: Playback [1e7e0c8a]: resulting video frame 1920x1080
13:16:50.521 [i]: Playback [1e7e0c8a]: 4 acceptible profiles, best is 'NOOP' [999]
13:16:50.523 [i]: Playback [1e7e0c8a]: enabled while video is paused
13:16:50.524 [i]: Profile: using auto values [1]
13:16:50.525 [i]: Playback [1e7e0c8a]: playing at 25 [25 *1/1] /10 bit
13:17:26.756 [i]: Playback [1e7e0c8a]: disabled while video is paused
13:17:26.757 [i]: Playback [1e7e0c8a]: deleted

NOOP is my profile that doesn't do frame rate conversion but it happens with all profiles.
Happens with and without "allow output in 10 bit color depth".

3

(6 replies, posted in Using SVP)

Or like that. Whatever works for all and is the least amount of effort. smile

4

(6 replies, posted in Using SVP)

Seems to work, thanks!
I had no idea these profile conditions result in scores, always assumed they evaluate as boolean.

In case feature requests can be made: in the future it would be really neat to make the "Temporarily disable SVP" setting persistent, so when you reopen SVP again it's still active in case it was when you quit SVP.

5

(6 replies, posted in Using SVP)

That sounds like a good solution but how do I mark a profile as "preferable"? Feels like it just selects the first one.

6

(6 replies, posted in Using SVP)

By default, SVP is always on and you can temporarily disable it.
Is it possible to have it the other way round? Only enable it when you desire so?
I'd like to have SVP running in the background and whenever I open a movie where I want 60FPS I can just go to SVP in the menu bar and click something like "Enable for this video".

Is there a way to achieve this without closing/reopening SVP all the time?
Alternatively, can I start SVP in "Temporarily disable SVP" mode?

7

(5 replies, posted in Using SVP)

Faitheorg wrote:

I think you might as well use some kind of third-class video and audio converter.

You don't even need to convert anything. In case of the wrong-FPS problem we are really just talking about a different number somewhere in the video's metadata. As metadata editors for various video containers are scarce, simply remuxing it will solve the problem as well (and is as fast as simply copying the file).

Didn't notice that.
Well, does SVP still perform an analysis step? I suppose the actual motion interpolation might be a no-op, but it will still analyze frames? Just a guess.

I guess interpolation of 1920*1080*2 is not gonna happen on a Iris 5100. Tried lower res videos?

10

(12 replies, posted in Using SVP)

It ships mpv as binary: https://github.com/lhc70000/iina/tree/master/libmpv/lib and I assume they don't compile with vapoursynth. When you compile yourself (with vapoursynth) (you can use homebrew to compile libmpv) it should work as you can use all mpv options. But someone better test this before you believe me, I'm just speculating.

11

(5 replies, posted in Using SVP)

http://www.svp-team.com/forum/viewtopic … 884#p62884
http://www.svp-team.com/forum/viewtopic … 006#p63006

Your MVTools script most probably worked because you hardcoded the FPS. You could do this here as well.

Are you maybe using windows line endings because mpv apparently doesn't see this new line.

13

(138 replies, posted in Using SVP)

Don't have the problem, no.
Test with --no-config and when it still happens try to find the option causing it. Once you know it's probably useful to report it.

14

(138 replies, posted in Using SVP)

Random fact: you can all of the "script=" lines (the last one overwrites all previous lines anyway). Scripts are automatically loaded from this directory.

I thought SVP adapts to changing FPS (maybe after a few seconds)?

Ah, streams. Well, I think I might have a pretty good solution for you.
Get this script and put it into your mpv scripts folder: https://github.com/wm4/mpv-scripts/blob … ofiles.lua
Now you can create profiles that are applied based on lua expressions. Additionally, you can use mpv properties like normal variables.

E.g.:

[svp-crunchyroll]
profile-desc=cond:get('container_fps', 0) > 23 and get('container_fps', 0) < 23.9
fps=23.976
...

It's not a perfect solution. The profile expression is re-evaluated every time the used properties change and applied/activated when it evaluates to true. Therefore, when watching streams with variable fps it could activate the profile (e.g. when the fps suddenly drop below 23.9 but stay above 23 (in this case)).
Of course you can make your own, even more precise conditions.

Note: profiles do not get "unapplied". In case you want to "unapply" a profile you need an inverted version, e.g.:

[4K]
profile-desc=cond:get('width', -math.huge) >= 3840
vd-lavc-threads=32

[4K-inverted]
profile-desc=cond:get('width', -math.huge) < 3840
vd-lavc-threads=0

17

(111 replies, posted in Using SVP)

macunixs wrote:

i was quite surprised to see my CPU temp went beyond 90C. hmm

Most Intel mobile CPUs are rated for 105-110°, so don't worry. A not-damaged CPU will shut off itself if too hot anyway.
Additionally, Apple's cooling goes for "as silent as possible" and not "as cool as possible"...

18

(111 replies, posted in Using SVP)

Well the difference just stems from Quicktime using hardware decoding by default while mpv doesn't (it's optional).
Also, just because you see a low CPU usage doesn't mean the general usage/energy consumption is low. In this case the major work is simply shifted to the GPU.

Add "hwdec=auto-copy" to your config to enable hardware decoding. Please note that this supports only a subset of video codecs.
Now you should be pretty similar to Quicktime.
If you want more quality (better upscaling etc.) you can also add:
vo=opengl
profile=opengl-hq
But this will also (drastically) increase the load on your GPU.

Chainik wrote:

> Bcuz I believe that the Iris GPU is weak.

it's not weak if we're talking about video decoding + SVP + default "opengl" profile in mpv
haven't tried it with "opengl-hq" profile though

Well that's true but we are also talking about close to 4K resolutions here (thanks to "retina"), depending on the exact settings, and then it's getting difficult.

19

(111 replies, posted in Using SVP)

Well, there's not much you can do. It's simply the combination of a huge resolution with low power iGPU.
I'm actually quite surprised that deactivating GPU acceleration improves your situation. oO
Other than that, the lower the resolution and the lower the bitrate the less stutter you will have.

Also, using the "optimal" retina scaling/resolution also helps.

The cause of the problem is a damaged file (incorrectly tagged FPS/duration). Therefore, in my opinion, the only sane way to fix this is by fixing the damaged file: remux it with the correct FPS value. Remuxing takes like 2 seconds, it won't change the video or audio and fixes the problem mentioned here, for every player.
I don't think that configuring/changing behavior of your player is a good solution for fixing an error in a file that can be corrected so easily just by remuxing.

A incorrect FPS value in the container is actually so common that every decent video player simply ignores it and does playback without. E.g. many .wmv files have a tagged FPS value of 9999. mpv offers this container fps value as property for scripts etc.
mpv contains one more fps property: estimated fps. This is the real FPS value which is also correct for incorrectly tagged videos. There is one drawback: it is a measured value, averaging over the last n frames. Consequently, it is only correct after n subsequent samples (i.e. only after a few frames were rendered) and it might change during playback (e.g. variable frame rate videos). Therefore it is unsuitable for a script that calculates stuff on startup like SVP

21

(138 replies, posted in Using SVP)

HS releases are often tagged with wrong fps. You can fix this either by remuxing or by setting a custom fps factor (not "to screen").
Sometimes they encode a 24fps video at different frame rate (e.g. 30) (that's rare though). You can only fix this by decimating on the fly (or re-encoding with decimate step).

22

(111 replies, posted in Using SVP)

I just noticed due to this thread: http://www.svp-team.com/forum/viewtopic.php?id=3680 that it's actually only 10.11 and up now due to a problem with a vapoursynth dependency (https://github.com/Homebrew/homebrew-co … img.rb#L18).

23

(2 replies, posted in Using SVP)

Absolutely no chance with homebrew (right now).
There is a "bug" in zimg that makes it require a certain version of clang that is not provided for 10.10. No VS without zimg and no SVP without VS.
However, you probably can compile it by hand using the hints in the bug issue: https://github.com/sekrit-twc/zimg/issues/52
But... compiling mpv with VS (due to VS's python integration) is not exactly trivial.
You should instead ask the homebrew maintainers to come up with a workaround (e.g. the mentioned configure option) for systems older than El Capitan.

24

(25 replies, posted in Using SVP)

Duckers wrote:
brucethemoose wrote:
Duckers wrote:

How did you install it? it's not even a apk in that link.

https://github.com/mpv-android/mpv-android/releases

Nice thanks! Unfortunately it did not interpolate any frames, nor would it play any mkv files.

Considering it works for brucethemoose I'd say it's a bug.
Android is very fragmented (hardware as well as software) and I guess these ~2 developers can't test every device and version so I'd assume they appreciate bug reports.

25

(25 replies, posted in Using SVP)

brucethemoose wrote:

I saw some Github chatter about the mpv devs not wanting an Android version, but that was a long time ago.

wm4 usually doesn't want much platform specific stuff inside mpv and rather have people use mpv as library. That's what some other mpv dev (or ffmpeg? can't remember) did to test feasibility of mpv android: https://github.com/mpv-android/mpv-android
I don't know if this is more than a tech demo or if it's really neatly usable (for end users). I recall having read something about gestures for seeking etc., so there should be basic functionality for that (in mpv-android).