haasn / interpolation-samples

Reference videos and samples for testing and understanding interpolation in mpv
40 stars 4 forks source link

Add more details about motion interpolation #1

Open phiresky opened 7 years ago

phiresky commented 7 years ago

This comparison is nice, though I think it underrepresents motion interpolation a bit.

I'm mostly talking about SVP (via vapoursynth like MVTools) here which sadly doesn't really have any alternatives. Here is the sample clip (24fps/native.mkv) interpolated to 240fps (for slow motion comparison). You can see that it does selective interpolation only for areas that work well, which mostly prevents the artifacts mentioned. For example the butterfly stays at 24fps while the bunny movement is interpolated. Here is the 60fps version. It also does some of the calculation on the GPU, which solves any performance problems if you have a fairly good GPU.

(zip because github does not allow mkv uploads)

haasn commented 7 years ago

I guess I could add your 60 fps clip. Would you mind documenting how you made it? (What specific settings, and how did you encode it?)

phiresky commented 7 years ago

Sure. I used SVP 4.1.0.114 via the AUR package.

I used the "highest quality setting" with artifacts masking on low and optimized for Animation. I don't know what these settings actually do or if there are other hidden parameters dependent on the detected CPU / GPU performance. image

This caused SVP to generate this vapoursynth script, which I modified to directly work without mpv and with vspipe.

I then encoded the video using vspipe --y4m ani-240fps.py - | x264 --demuxer y4m - --output svp-240fps.mkv (CRF 23 seems to be the default. Here is the 60fps clip encoded with CRF 20).