Topic: SVP 4 Mac

"Preview" version available now.

Requires at least OS X 10.10 and a working mpv+vapoursynth installation.

Consider this as a beta test, current version may not work at all for you.

Get the download link via License Manager.
Obviously you'll need either a "Mac" license (from Indiegogo) or a "developer" one. We're not selling new Mac licenses now!

Here's a draft version of Mac-specific installation procedure and SVP's issues.


And again, please post "success stories" here big_smile

2 (edited by myfakeacc 06-03-2016 04:48:56)

Re: SVP 4 Mac

Well, what to say except it works just fine, thanks!
I have used (try to use) MVTools before but it was just way too slow for my laptop, with SVP I get fluent results even with an iGPU* (no 1080p ofc big_smile). I can't wait to test it on my hackintosh at home with a more juicy GPU and CPU.

Can we also ask questions here?
Does the "Optimize for" setting change the used shader? As in: is the sharp one used when one selects "Animation"?


* I should maybe add that I'm disabling retina scaling while doing it otherwise the additional scaling done by the window manager would hurt performance

Re: SVP 4 Mac

> is the sharp one used when one selects "Animation"?

yep

> I should maybe add that I'm disabling retina scaling while doing it otherwise the additional scaling done by the window manager would hurt performance

could you please post a report via the Manager with retina enabled?

Re: SVP 4 Mac

Sent one (yesterday). Let me know if you want more/different resolutions!

I've once reported that mpv crashes when closing the player when the SVP VS filter was added once (even when it got removed by the time mpv is closed). Want to add: mpv also crashes when SVP is closed while it is running (probably an obscure case... wanted to let you know nonetheless).

5 (edited by river 15-03-2016 03:31:29)

Re: SVP 4 Mac

How to play bdmv folders? I reinstalled mpv with bundle so that I can drag bdmv folders into mpv. But SVP won't work with the mpv app?

Edit: Sorry, my fault, I need to install with-libbluray

Re: SVP 4 Mac

Lets take 2560x1440 display and switch to Retina mode, which gives us 1280x720 virtual resolution.
What will be the correct behaviour for SVP for 1920x1080 video scaled down "to screen size":
1. keep it 1920x1080
2. resize to 1280x720

??

Note that mpv's window opens in 1920x1080 logical pixels = 3840x2160 physical pixels so I've no idea HOW it renders the video in this case.

7 (edited by myfakeacc 16-03-2016 20:00:15)

Re: SVP 4 Mac

> Note that mpv's window opens in 1920x1080 logical pixels = 3840x2160 physical pixels so I've no idea HOW it renders the video in this case.
It does this because that's actually the "official" and recommended way Apple wants you to handle high dpi.

Why does SVP need to downscale in the first place? Is it not possible to let mpv do this and take advantage of it's scaling algorithms?

Re: SVP 4 Mac

> Why does SVP need to downscale in the first place?

it doesn't "need" but "can"
to reduce CPU load at the first place

so, the question is simple:
1. when we watch 3840x2160 video on 3840x2160 screen it renders pixel-per-pixel, obviously
2. what about watching 3840x2160 video on 1920x1080 "Retina" screen? will it be rendered pixel-per-pixel OR it will be scaled down to 1920x1080 by mpv and then processed by some magical internal OS X scaler?

Re: SVP 4 Mac

I have another problem now.
I'm trying to use terminal command "mpv https://xxxx" to play youtube videos. But SVP will keep waiting.
The similar command "mpv [filepath]" will activate SVP.

Re: SVP 4 Mac

what's in the log?

Re: SVP 4 Mac

23:16:21.215 [i]: Main: starting up SVP 4 Mac Preview [4.0.0.70]... 
23:16:21.215 [i]: Main: working dir is /Applications/SVP 4 Mac Preview.app/Contents/Resources/
23:16:21.215 [i]: Main: data dir set to /Users/river/Library/Application Support/SVP4/
23:16:21.216 [i]: Settings: loading main.cfg OK
23:16:21.217 [i]: Settings: loading ui.cfg OK
23:16:21.217 [i]: Settings: loading frc.cfg OK
23:16:21.217 [i]: Settings: loading profiles.cfg OK
23:16:21.217 [i]: Settings: loading custom.cfg OK
23:16:21.217 [i]: Settings: loading lights.cfg OK
23:16:21.217 [i]: Main: system locale is [en]
23:16:21.217 [i]: Main: setting language file to zh-CN.qm...
23:16:21.219 [i]: Main: module 'plugins/libsvpflow1_vs64.dylib': 4.0.0.131
23:16:21.220 [i]: Main: module 'plugins/libsvpflow2_vs64.dylib': 4.0.0.131
23:16:21.220 [i]: Main: running OpenCL info...
23:16:21.223 [i]: Main: collecting system information...
23:16:21.224 [i]: OS X: 10.11.3 El Capitan
23:16:21.227 [i]: CPU: Intel Core i7-2635QM [base frequency 1907 MHz, 8 threads]
23:16:21.236 [i]: Video: 1 GPU OpenCL device(s) on Apple [OpenCL 1.2 (Dec 8 2015 17:02:20)] (Apple)
23:16:21.237 [i]: Video 1: device name 'ATI Radeon HD 6490M' (AMD, ver.1.2 (Dec 17 2015 21:00:14)) [gpuID=11]: OK
23:16:21.237 [i]: Memory:  8192  MB total,  2405 MB free
23:16:21.237 [i]: System: initializing network...
23:16:21.258 [i]: Screens: updating information, 1 screen(s) found
23:16:21.258 [i]: Screens: screen 0 (Color LCD) - 1680x1050 @60.000 Hz, x1.0 [129 DPI]
23:16:21.271 [i]: Screens: primary screen is 0
23:16:21.271 [i]: Power: AC is ON [1]
23:16:21.348 [i]: Main: preparing FRC profiles...
23:16:21.730 [i]: Main: preparing performance graphs...
23:16:21.855 [i]: Main: preparing mpv...
23:16:21.863 [i]: Main: preparing remote control...
23:16:21.863 [i]: RemoteControl: started
23:16:21.863 [i]: Main: preparing main menu...
23:16:21.888 [i]: Main: loading extensions...
23:16:21.895 [i]: Main: initialization completed in 673 ms
23:16:21.913 [i]: Updates: checking now...
23:16:21.917 [W]: QSslSocket: cannot resolve SSL_set_psk_client_callback
23:16:21.917 [W]: QSslSocket: cannot resolve TLSv1_1_client_method
23:16:21.918 [W]: QSslSocket: cannot resolve TLSv1_2_client_method
23:16:21.918 [W]: QSslSocket: cannot resolve TLSv1_1_server_method
23:16:21.918 [W]: QSslSocket: cannot resolve TLSv1_2_server_method
23:16:21.918 [W]: QSslSocket: cannot resolve SSL_select_next_proto
23:16:21.918 [W]: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
23:16:21.918 [W]: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
23:16:23.282 [W]: QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated
23:16:24.345 [i]: Performance: quick estimation = 358 (previous value was 364)
23:16:38.829 [i]: VideoPlayer: mpv git-3375d65
23:16:38.849 [i]: Media: video looks like some kind of stream
23:16:38.849 [E]: VideoPlayer: unable to extract video information
23:22:01.197 [i]: VideoPlayer: mpv git-3375d65
23:22:01.218 [i]: Media: video looks like some kind of stream
23:22:01.218 [E]: VideoPlayer: unable to extract video information

Re: SVP 4 Mac

I know what happened.
It take several seconds (or minutes) for mpv to start playing stream video, that makes SVP unable to extract video information.
So start SVP after mpv can force SVP to work.

13 (edited by myfakeacc 17-03-2016 19:00:47)

Re: SVP 4 Mac

Chainik wrote:

> Why does SVP need to downscale in the first place?

it doesn't "need" but "can"
to reduce CPU load at the first place

so, the question is simple:
1. when we watch 3840x2160 video on 3840x2160 screen it renders pixel-per-pixel, obviously
2. what about watching 3840x2160 video on 1920x1080 "Retina" screen? will it be rendered pixel-per-pixel OR it will be scaled down to 1920x1080 by mpv and then processed by some magical internal OS X scaler?

When the selected (logical) resolution is 1920x1080 then the physical resolution is 3840x2400 (because 16:10) and mpv would not (and could not) create a window larger than that. It would then scale the video source to this window if necessary (which it isn't, in this case). I'm... 99% confident.
This must be tested on a 15" machine, mine is 13" though. Do you have me a 2560x1440/1600 video, then I can test this with a 1280x800/2560x1600 logical/physical resolution.
However, I assume it is the same for images and for an image of size 2560x1440 on a screen set to 1280x800/2560x1600 logical/physical it works the way I just outlined:

→ mpv IMG_7499.jpg -v --fs | egrep '\d+x\d+'
[...]
        vd: Decoder format: 2560x1440 yuv440p bt.601/full CL=mpeg1/jpeg
        vf:   [in] 2560x1440 yuv440p bt.601/full CL=mpeg1/jpeg
        vf:   [out] 2560x1440 yuv440p bt.601/full CL=mpeg1/jpeg
   cplayer: VO: [opengl-hq] 2560x1440 yuv440p
vo/opengl-hq: Resize: 2560x1600
vo/opengl-hq: Window size: 2560x1600
vo/opengl-hq: Video source: 2560x1440 (72:72)
vo/opengl-hq: Video display: (0, 0) 2560x1440 -> (0, 80) 2560x1440
vo/opengl-hq: Testing user-set FBO format (0x805b)
vo/opengl-hq: Create FBO: 16x16 -> 16x16
vo/opengl-hq: Texture for plane 0: 2560x1440
vo/opengl-hq: Texture for plane 1: 2560x720
vo/opengl-hq: Texture for plane 2: 2560x720
vo/opengl-hq: Resize: 2560x1600
vo/opengl-hq: Window size: 2560x1600
vo/opengl-hq: Video source: 2560x1440 (72:72)
vo/opengl-hq: Video display: (0, 0) 2560x1440 -> (0, 80) 2560x1440
[...]

Please note that this is only the case because the width is with 2560 already the maximum size for a window at this resolution (as in your case it would be with 3840). If possible, mpv would create a window of size 5120x2880 for an image of size 2560x1440 since the backing scale factor is 2 (in all current retina macs). This follows Apple's recommendations for developers -- at least that's what I was told, I'm not an OSX developer.

The magical internal scaler is the window server btw. This is also the reason why I can "set" my display to a resolution of 3360x2100 which is physically not possible with my display. It is scaled down by the window server before sent to the display.

Re: SVP 4 Mac

The latest preview (just updated) completely fails detecting for me. Even using "open with SVP..." doesn't work anymore.

Re: SVP 4 Mac

again - what's in the log?

Re: SVP 4 Mac

Ah sorry... I didn't know one existed...
It fails to extract video information. Once I start a video:

22:56:40.288 [i]: VideoPlayer: mpv connected, waiting for the video info...
22:56:40.543 [i]: VideoPlayer: mpv git-717380a
22:56:40.657 [i]: Media: MediaInfo failed to extract useful information
22:56:40.657 [i]: Media: codec type is unknown
22:56:40.657 [E]: VideoPlayer: unable to extract video information
22:56:40.883 [i]: Media: MediaInfo failed to extract useful information
22:56:40.883 [i]: Media: codec type is unknown
22:56:40.883 [E]: VideoPlayer: unable to extract video information
22:56:41.407 [i]: Media: MediaInfo failed to extract useful information
22:56:41.407 [i]: Media: codec type is unknown
22:56:41.407 [E]: VideoPlayer: unable to extract video information
22:56:41.933 [i]: Media: MediaInfo failed to extract useful information
22:56:41.933 [i]: Media: codec type is unknown
22:56:41.933 [E]: VideoPlayer: unable to extract video information
22:56:42.459 [i]: Media: MediaInfo failed to extract useful information
22:56:42.459 [i]: Media: codec type is unknown
22:56:42.459 [E]: VideoPlayer: unable to extract video information
22:56:42.980 [i]: Media: MediaInfo failed to extract useful information
22:56:42.980 [i]: Media: codec type is unknown
22:56:42.981 [E]: VideoPlayer: unable to extract video information
22:56:43.481 [i]: Media: MediaInfo failed to extract useful information
22:56:43.481 [i]: Media: codec type is unknown
22:56:43.481 [E]: VideoPlayer: unable to extract video information
22:56:43.978 [i]: Media: MediaInfo failed to extract useful information
22:56:43.978 [i]: Media: codec type is unknown
22:56:43.978 [E]: VideoPlayer: unable to extract video information
22:56:44.480 [i]: Media: MediaInfo failed to extract useful information
22:56:44.481 [i]: Media: codec type is unknown
22:56:44.481 [E]: VideoPlayer: unable to extract video information
22:56:44.984 [i]: Media: MediaInfo failed to extract useful information
22:56:44.984 [i]: Media: codec type is unknown
22:56:44.984 [E]: VideoPlayer: unable to extract video information
22:56:45.480 [i]: Media: MediaInfo failed to extract useful information
22:56:45.480 [i]: Media: codec type is unknown
22:56:45.480 [E]: VideoPlayer: unable to extract video information
22:56:45.984 [i]: Media: MediaInfo failed to extract useful information
22:56:45.984 [i]: Media: codec type is unknown
22:56:45.984 [E]: VideoPlayer: unable to extract video information
22:56:46.481 [i]: Media: MediaInfo failed to extract useful information
22:56:46.481 [i]: Media: codec type is unknown
22:56:46.481 [E]: VideoPlayer: unable to extract video information
22:56:46.980 [i]: Media: MediaInfo failed to extract useful information
22:56:46.980 [i]: Media: codec type is unknown
22:56:46.980 [E]: VideoPlayer: unable to extract video information
22:56:47.515 [i]: Media: MediaInfo failed to extract useful information
22:56:47.515 [i]: Media: codec type is unknown
22:56:47.515 [E]: VideoPlayer: unable to extract video information
22:56:47.541 [W]: PlaybackObjectsCollection: id not exist

As you probably know the "middle" part about being unable to extract information loops until I close mpv which then causes the last line to appear.
And I just noticed it only affects a few files, all of them being local mp4 (h264) files and all of them work with my local copy of mediainfo. I tried to cut you a small sample of such a video but this sample then suddenly works... (tried to produce sample with: "ffmpeg -ss 0 -i in.mp4 -t 1 -c copy out.mp4" so no reencoding).
Any other information I can deliver?

Re: SVP 4 Mac

according to the sources such a loop can only be if MediaInfo returns zero for the "Width" attribute

Re: SVP 4 Mac

It doesn't for my mediainfo:

→ mediainfo S05E01.mp4
General
Complete name                            : S05E01.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42
File size                                : 425 MiB
Duration                                 : 43mn 7s
Overall bit rate mode                    : Variable
Overall bit rate                         : 1 377 Kbps
Movie name                               : Stargate Atlantis S05E01 (Search and Rescue) - Sci Fi HD @ - PGor -
Encoded date                             : UTC 2013-11-11 23:02:38
Tagged date                              : UTC 2013-11-11 23:26:16
Writing application                      : HandBrake 0.9.9 2013052900

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 6 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 43mn 7s
Bit rate                                 : 924 Kbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Variable
Frame rate                               : 23.976 fps
Minimum frame rate                       : 23.974 fps
Maximum frame rate                       : 23.981 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.042
Stream size                              : 285 MiB (67%)
Writing library                          : x264 core 130 r2273 b3065e6
Encoding settings                        : cabac=1 / ref=6 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=924 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Encoded date                             : UTC 2013-11-11 23:02:42
Tagged date                              : UTC 2013-11-11 23:26:16
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 43mn 7s
Bit rate mode                            : Variable
Bit rate                                 : 448 Kbps
Maximum bit rate                         : 533 Kbps
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 138 MiB (33%)
Title                                    : Stereo
Language                                 : English
Encoded date                             : UTC 2013-11-11 23:02:42
Tagged date                              : UTC 2013-11-11 23:26:15
→ mediainfo --version
MediaInfo Command line,
MediaInfoLib - v0.7.76

Re: SVP 4 Mac

Width                                    : 1 280 pixels

Space symbol or another unexpected symbol between 1 and 280. Maybe it leads to wrong detection like "Width=1 px". hmm

Re: SVP 4 Mac

Is there any more information you need? I can upload a whole episode if you tell me where

Re: SVP 4 Mac

The fix will be in the next build.
The fix for the loop itself, not for "zero width via MediaInfo". It should normally fall back to mpv's provided information in this case.

Re: SVP 4 Mac

Thanks!
I'm wondering, why doesn't it use mpv's information in the first place? I'd assume they are most correct because playback should go wrong when mpv has wrong information anyway.

Re: SVP 4 Mac

please check if it's fixed in 4.0.0.74

Re: SVP 4 Mac

Yes, thanks!
Seems like the fallback works fine:

Media: codec type is H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [lavc:h264], yuv420p
Media: video 1280x720 [PAR 1.000] at 23.976 fps [constant] (via mpv)
Media: codec type is unknown
Media: MediaInfo failed to extract useful information

Now the only "issue" left for me is mpv crashing when I close it. Since it only happens when closing anyway it's merely a cosmetic thing of course...

Re: SVP 4 Mac

4.0.0.76

Added VLC support (beta) - see there