1 (edited by brucethemoose 20-03-2016 17:45:01)

Topic: VapourSynth SVP doesn't work with DVDs (Windows).

Running Windows 10 x64 with SVP 4 Pro and SMPlayer.

-With MPC and MPCx64, DVD playback with SVP works fine.

-With SMPlayer, normal videos off the hard drive work fine with SVP on or off.

-DVDs in SMPlayer (with SVP's version of mpv as the renderer) work fine when SVP is closed.

-When SVP is open and I'm playing a DVD, I get a black screen with audio, like so:
http://imgur.com/a/O52sm (bottom is without SVP)


It's the NTSC Avatar DVD, if that matters. I'm also running a custom refresh rate for the DVD (90hz), but it does the same thing at 60hz, 96hz, and 110hz.

Re: VapourSynth SVP doesn't work with DVDs (Windows).

a part of SVP's log starting from "VideoPlayer: mpv ..." could be helpful wink

3 (edited by brucethemoose 20-03-2016 19:16:22)

Re: VapourSynth SVP doesn't work with DVDs (Windows).

Chainik wrote:

a part of SVP's log starting from "VideoPlayer: mpv ..." could be helpful wink

I'm afraid it's not very helpful sad

(I heard audio with no video during the 3 minutes it was playing ).

14:10:39.663 [i]: VideoPlayer: mpv connected, waiting for the video info...
14:10:39.763 [i]: VideoPlayer: mpv git-a4a2649
14:10:41.653 [i]: Media: video looks like some kind of stream
14:10:41.653 [i]: Media: video 720x480 [PAR 0.889] at 29.970 fps [constant] (via mpv)
14:10:41.653 [i]: Media: codec type is MPEG-2 video [lavc:mpeg2video], yuv420p
14:10:41.654 [i]: 4852 0
14:10:41.685 [i]: Playback: starting up...
14:10:41.685 [i]: Playback [16521541]: Frame server (64-bit) C:\Program Files (x86)\SVP 4\mpv64\vapoursynth.dll
14:10:41.688 [i]: Playback [16521541]: resulting video frame 720x480
14:10:41.688 [i]: Playback [16521541]: 1 acceptible profiles, best is 'Automatic' [0]
14:10:41.689 [i]: Playback [16521541]: enabled while video is playing
14:10:41.689 [i]: Profile: using auto values [1]
14:10:41.695 [i]: Playback: playing at 89.9101 [29.97 *3/1]
14:13:51.791 [E]: QWindowsPipeWriter: GetOverlappedResult failed. (The pipe has been ended.)
14:13:51.894 [i]: Playback [16521541]: disabled while video is playing
14:13:51.895 [i]: Playback [16521541]: deleted

I'd be happy to get other logs/details, just point me in the right direction smile

Re: VapourSynth SVP doesn't work with DVDs (Windows).

And this is with normal video off the hard drive (which works just fine):

14:17:18.355 [i]: VideoPlayer: mpv connected, waiting for the video info...
14:17:18.456 [i]: VideoPlayer: mpv git-a4a2649
14:17:18.668 [i]: Media: video 1920x1080 [PAR 1.000] at 23.976 fps [constant]
14:17:18.669 [i]: Media: codec type is AVC, YUV/4:2:0/8 bits
14:17:18.669 [i]: 1716 0
14:17:18.854 [i]: Playback: starting up...
14:17:18.854 [i]: Playback [752fd133]: Frame server (64-bit) C:\Program Files (x86)\SVP 4\mpv64\vapoursynth.dll
14:17:18.857 [i]: Playback [752fd133]: resulting video frame 1920x1080
14:17:18.857 [i]: Playback [752fd133]: 1 acceptible profiles, best is 'Automatic' [0]
14:17:18.857 [i]: Playback [752fd133]: enabled while video is playing
14:17:18.858 [i]: Profile: using auto values [1]
14:17:18.868 [i]: Playback: playing at 89.91 [23.976 *15/4]
14:18:29.577 [E]: QWindowsPipeWriter: GetOverlappedResult failed. (The pipe has been ended.)
14:18:29.676 [i]: Playback [752fd133]: disabled while video is paused
14:18:29.677 [i]: Playback [752fd133]: deleted

Re: VapourSynth SVP doesn't work with DVDs (Windows).

OK, so I tried ripping the DVD with my usual software (DVDvob2mpg, which should just repackage the video instead of transcoding it).


A. The video is now corrupted for some reason, in both MPC and SMPlayer with SVP off hmm

B. But I get the exact same behavior in SMPlayer. Black screen with SVP on, normal video with SVP closed or the "temporarily disabled" checkbox checked.



Might be something to do with how the video is encoded. It's definitely interlaced, if that matters.

Log from SMPlayer, then MPC:

17:19:00.701 [i]: VideoPlayer: mpv connected, waiting for the video info...
17:19:00.801 [i]: VideoPlayer: mpv git-a4a2649
17:19:00.926 [i]: Media: video 720x480 [PAR 0.889] at 29.970 fps [constant]
17:19:00.928 [i]: Media: scan type is interlaced, assuming 59.940 fps instead of 29.970 fps
17:19:00.928 [i]: Media: codec type is MPEG Video, YUV/4:2:0/8 bits
17:19:00.928 [i]: 4492 0
17:19:01.200 [i]: Playback: starting up...
17:19:01.200 [i]: Playback [7a1dc859]: Frame server (64-bit) C:\Program Files (x86)\SVP 4\mpv64\vapoursynth.dll
17:19:01.203 [i]: Playback [7a1dc859]: resulting video frame 720x480
17:19:01.204 [i]: Playback [7a1dc859]: 1 acceptible profiles, best is 'Automatic' [0]
17:19:01.204 [i]: Playback [7a1dc859]: enabled while video is playing
17:19:01.204 [i]: Profile: using auto values [1]
17:19:01.209 [i]: Playback: playing at 59.94 [59.94 *1/1]
17:19:26.276 [E]: QWindowsPipeWriter: GetOverlappedResult failed. (The pipe has been ended.)
17:19:40.333 [i]: Playback [7a1dc859]: disabled while video is playing
17:20:13.042 [i]: Playback [7a1dc859]: deleted
17:20:33.583 [i]: 396 328606
17:20:33.584 [i]: VideoPlayer: new ffdshow video [50320] in mpc-hc64.exe (64-bit) [MPC-HC 1.7.10.0] on screen 0
17:20:33.718 [i]: Media: video 720x480 [PAR 0.889] at 29.970 fps [constant]
17:20:33.719 [i]: Media: scan type is interlaced, assuming 59.940 fps instead of 29.970 fps
17:20:33.719 [i]: Media: codec type is MPEG Video, YUV/4:2:0/8 bits
17:20:33.719 [W]: Media: frame rate info can be incorrect - 29.970 fps via ffdshow vs. 59.940 fps via MediaInfo
17:20:33.720 [i]: VideoPlayer: clear AVS script previously set by SVP
17:20:33.721 [i]: Playback: starting up...
17:20:33.721 [i]: Playback [50320]: Frame server (64-bit) 0.1.0.0, AviSynth+ 0.1 (r1779, MT, x86_64), C:\WINDOWS\SYSTEM32\avisynth.dll
17:20:33.724 [i]: Playback [50320]: resulting video frame 720x480
17:20:33.724 [i]: Playback [50320]: 1 acceptible profiles, best is 'Automatic' [0]
17:21:05.171 [i]: Playback [50320]: enabled while video is paused
17:21:05.171 [i]: Profile: using auto values [1]
17:21:05.179 [i]: Playback: playing at 59.94 [59.94 *1/1]
17:21:17.777 [i]: Playback [50320]: seek was detected - turning off and back on...
17:21:17.844 [i]: FFDShow: remove instance [50320]
17:21:17.844 [i]: Playback [50320]: disabled while video is stopped
17:21:18.179 [i]: Playback [50320]: deleted

Re: VapourSynth SVP doesn't work with DVDs (Windows).

>  It's definitely interlaced, if that matters.

this could be the problem...

7 (edited by brucethemoose 21-03-2016 18:00:24)

Re: VapourSynth SVP doesn't work with DVDs (Windows).

Chainik wrote:

>  It's definitely interlaced, if that matters.

this could be the problem...

Any workarounds? Commands to pass to mpv or anything?


I'm desperate now, as MPC (even with EVR/no SVP) suddenly decided it can't play DVDs anymore mad

8 (edited by brucethemoose 30-03-2016 03:27:25)

Re: VapourSynth SVP doesn't work with DVDs (Windows).

Same thing still happens in SMPlayer with the latest SVP update. DVD video is black with SVP turned on, audio works fine.


Also, dragging the whole DVD or the VIDEO_TS folder from the DVD folder to MPV just crashes MPV. However, DVD playback works fine in SMPlayer with SVP turned off.

Re: VapourSynth SVP doesn't work with DVDs (Windows).

It turns out that there're a lot of problems with interlaced videos here... big_smile

1. SVP replaces the entire video filter chain with the vapoursynth filter, while interlaced videos need the yadif filter to be inserted before - luckily this's quite simple to fix

2. SMPlayer sets incorrect mpv option when using "Yadif (normal)" - it sets "--vf-add=yadif" instead of "--vf-add=yadif=frame", so both "Yadif" modes in SMPlayer now output doubled frame rate

3. Vapoursynth filter inside mpv can't properly handle video deinterlaced with doubling frame rate because the video IS actually 50 fps while the internal variable "container_fps" is still set to 25 fps.


So... to make interlaced video work with SVP we need:

1. Fix SVP Manager
2. Force SMPlayer to add "--vf-add=yadif=frame" to advanced mpv options

Re: VapourSynth SVP doesn't work with DVDs (Windows).

Chainik wrote:

It turns out that there're a lot of problems with interlaced videos here... big_smile

1. SVP replaces the entire video filter chain with the vapoursynth filter, while interlaced videos need the yadif filter to be inserted before - luckily this's quite simple to fix

2. SMPlayer sets incorrect mpv option when using "Yadif (normal)" - it sets "--vf-add=yadif" instead of "--vf-add=yadif=frame", so both "Yadif" modes in SMPlayer now output doubled frame rate

3. Vapoursynth filter inside mpv can't properly handle video deinterlaced with doubling frame rate because the video IS actually 50 fps while the internal variable "container_fps" is still set to 25 fps.


So... to make interlaced video work with SVP we need:

1. Fix SVP Manager
2. Force SMPlayer to add "--vf-add=yadif=frame" to advanced mpv options

TY. Added it to the options already, eagerly awaiting a fix smile


I don't suppose the alternative Vapoursynth deinterlacers like EEDI3/NNEDI3 work on the GPU yet, do they? They'd probably kill the CPU during real-time playback.

11 (edited by nemoW 01-04-2016 14:52:25)

Re: VapourSynth SVP doesn't work with DVDs (Windows).

brucethemoose wrote:

I don't suppose the alternative Vapoursynth deinterlacers like EEDI3/NNEDI3 work on the GPU yet, do they? They'd probably kill the CPU during real-time playback.

Maybe nnedi3 OpenCL can be run under VS?

Re: VapourSynth SVP doesn't work with DVDs (Windows).

fixed in 4.0.0.74