Request: MotionPlus/MotionFlow like shader?


#1

Hi there to everybody,

I was wondering if any of the great shader developers on this forum would have any interest in trying to come up with a shader like this -

on Samsung and Sony TVs, there is this motion interpolation feature builtin that is referred to as either Motion Plus (Samsung) or MotionFlow (Sony). This feature is most of the time advertised as a game mode feature in that it attempts to take a 30Hz image and make it look like it’s actually running at a higher framerate.

On Samsung, there are individual sliders for deblurring and dejudder.

The issue with these features is that they add significant additional input delay on the TV end - on Samsung you go from 18ms Game Mode with Motion Plus turned off to about 23ms with Game Mode and Motion Plus enabled, and on Sony the latency cost is even more severe, where we go well over 50ms+ with Motion Plus enabled.

Is there any interest in making a shader for RetroArch that could attempt a similar kind of effect? It would be very nice if we could have a shader that could make running 30fps or lower video seem more seamless and fluid, almost faking the appearance of it running at 60fps.

Read this for more info -


#2

I don’t think creating in-between frames by comparing the previous and next is a task that a regular shader can do. This is something i would expect to see as a graphics driver option, if possible.

Also, i imagine this would be a very intensive task as well. AFAIK, all TVs that have this feature often add a lot of input lag if it’s enabled because of the extra processing that must be done.


#3

I see. If it cannot be done from within the confines of a shader, can it maybe be added as a feature to RetroArch, similar to how runahead was added?


#4

I thought of that before also and i think it could be done quite fast on lower resolutions, because they can take heavy shaders without much delay.

Muscle gpu’s are far stronger compute performance wise compared with specialized TV processors, here is the advantage.

Simple frame interpolation at 60 fps might be better than a bit jerky 30 fps, but motion blur and some sort of ghosting would appear.

The science beyond is still a bit mysterious for me. :disappointed_relieved:


#5

This is actually a brilliant idea! I hope it will come to happen one day. I have one of those TVs with interpolation (a Samsung set), and the effect is disgusting for films, but when properly configured it makes other content (sports, documentaries, slow motion stuff, animation, videogames) look amazing. I remember it making Gears of War on the 360 look like it was indeed running at 60fps.

Problem with games is definitely input lag. Motion plus makes them unplayable on my set. Although things might have improved since I got it back in the day, when the technology was quite new. Actually @Twinaphex 23ms with motion plus is very impressive! That’s just a 5ms increase, sounds almost a bit too good to be true.

My tv is like 8 years old, and I’m sure those image processors run things faster nowadays, not to mention what a modern graphics card could do…


#6

Aren’t the specialized chips faster when performing this though? They are specialized after all, doing this at hardware level (i assume?) While in RetroArch it would have to be done in software?

Just asking, i’m not an expert on these things. It would be cool if it existed though. As long as it doesn’t add too much extra ghosting/input lag. Modern TVs/monitors already suffer from these issues as is.


#7

it would probably be too blurry. I think such an option exists in VBA standalone (inter-frame blending) to simulate the ghosting of the LCD screens.

Honestly I’ve always thought motionflow is horrible, at least for live action content.


#8

@GemaH - yeah I think it’s done by hardware on tvs. But look, it’s possible to do it in real time on computers as well (this is for video). Also I think opengl has functions for frame interpolation, so the effect could probably be hardware accelerated.

https://www.svp-team.com/wiki/Main_Page

@radius - it really depends on the content. On videogames, it could be used to increase the perceived fps (20-30fps games running at 60 without any hacks, think of the possibilities!) and to remove jerkiness from slowdowns.


#9

this youtube video explains how you can convert 30fps videos to 60fps to look like MotionFlow:

why not record a gameplay at 30fps and then convert it to 60fps just to see how it would look smooth. I tested it myself with 30fps gameplay recording and it works.

The other thing is a videoplayer from mirillis.com, Splash 2.0 it can do this on the fly with your videos.

Such Interpolation is also used in VR for my HTC Vive, Steam just introduced SteamVR Motion Smoothing.

I am sure tis would work in realtime but with alot lag.