Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow interpolation to function as frame-doubling, tripling etc #15748

Open
Ravice opened this issue Jan 26, 2025 · 3 comments
Open

Allow interpolation to function as frame-doubling, tripling etc #15748

Ravice opened this issue Jan 26, 2025 · 3 comments

Comments

@Ravice
Copy link

Ravice commented Jan 26, 2025

Expected behavior of the wanted feature

video-sync=display-resample works very well to interpolate videos to the refresh rate of the display, and the methods are also very good and fast.

however, with adaptive-sync being standard now for almost all monitors, interpolation to the maximum refresh rate is not always needed or even desirable.

for screens with low-framerate-compensation, it is trivial to use video-sync=audio, mpv will present the frames and the driver will double/triple them to be synced by the display perfectly.

however: cheaper screens with 75Hz often do not allow LFC as their range does not double from the minimum. this can be worked around by using the vf fps=source_fps*n without issue combined with autoprofiles to double the frames without requiring the driver to do so.

24p/25p content especially is still notably poor especially on panning scenes and such, that is the nature of the low framerate, however even a simple linear blending of frames between can greatly improve the smoothness, ontop of simple frame doubling, even for 30p. the adaptive sync solves judder from pulldown or sync division mistiming, but not from simple low framerate.

it would be very nice, if it could be somehow allowed for MPV to use its interpolation methods, not only to target the maximum display refresh, but to double/triple the framerate instead, but otherwise synced to the audio.

this could allow the best of both words, and have smooth interpolated playback at a multiple of the source refresh and reduce unnecessary blurriness that would be involved in say, 24p->60p that would not occur with 24p->48p.

this would also allow for reduced resource consumption on high refresh screens, to interpolate say not 24p->144p but 24p->48 or 72p.

Alternative behavior of the wanted feature

No response

Log File

No response

Sample Files

No response

@llyyr
Copy link
Contributor

llyyr commented Jan 26, 2025

Use --display-fps-override to set it to whatever you want?

@hooke007
Copy link
Contributor

#6137

@Ravice
Copy link
Author

Ravice commented Jan 27, 2025

Use --display-fps-override to set it to whatever you want?

i had hopes for this, however it does not seem to actually change the presentation fps. rtss reports its still synced at the screen refresh, as does the monitor osd.

#6137

this is about frame doubling, which as i noted is already trivial with the fps filter (vfr videos aside), not using the display-resample interpolation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants