1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-04 14:12:10 +00:00
mpv/player
wm4 543ba6c114 video: add VO framedropping mode
This mostly uses the same idea as with vo_vdpau.c, but much simplified.

On X11, it tries to get the display framerate with XF86VM, and limits
the frequency of new video frames against it. Note that this is an old
extension, and is confirmed not to work correctly with multi-monitor
setups. But we're using it because it was already around (it is also
used by vo_vdpau).

This attempts to predict the next vsync event by using the time of the
last frame and the display FPS. Even if that goes completely wrong,
the results are still relatively good.

On other systems, or if the X11 code doesn't return a display FPS, a
framerate of 1000 is assumed. This is infinite for all practical
purposes, and means that only frames which are definitely too late are
dropped. This probably has worse results, but is still useful.

"--framedrop=yes" is basically replaced with "--framedrop=decoder". The
old framedropping mode is kept around, and should perhaps be improved.
Dropping on the decoder level is still useful if decoding itself is too
slow.
2014-08-15 23:33:33 +02:00
..
lua osc: Overhaul (wip) 2014-08-15 15:24:22 +02:00
timeline demux: make start time a simple field 2014-07-05 17:07:15 +02:00
audio.c player: use virtual time for --audio-file with ordered chapters 2014-08-15 23:32:37 +02:00
client.c client API: directly lock playloop 2014-08-14 19:40:43 +02:00
client.h client API: minor optimizations for property notification 2014-08-02 01:53:22 +02:00
command.c video: add VO framedropping mode 2014-08-15 23:33:33 +02:00
command.h client API: minor optimizations for property notification 2014-08-02 01:53:22 +02:00
configfiles.c Revert "Remove DVD and Bluray support" 2014-07-15 01:49:02 +02:00
core.h player: use virtual time for --audio-file with ordered chapters 2014-08-15 23:32:37 +02:00
discnav.c demux: add a demuxer thread 2014-07-16 23:25:56 +02:00
loadfile.c sub: call sub_reset() on seeks only 2014-08-14 23:53:53 +02:00
lua.c lua: wake up the core when setting OSD 2014-08-15 23:32:31 +02:00
main_fn.c cocoa: fix build by using the correct HAVE_* macro 2014-08-06 09:31:59 +02:00
main.c cocoa: fix build by using the correct HAVE_* macro 2014-08-06 09:31:59 +02:00
misc.c player: use virtual time for --audio-file with ordered chapters 2014-08-15 23:32:37 +02:00
osd.c video: add VO framedropping mode 2014-08-15 23:33:33 +02:00
playloop.c video: add VO framedropping mode 2014-08-15 23:33:33 +02:00
screenshot.c video: move display and timing to a separate thread 2014-08-12 23:24:08 +02:00
screenshot.h
scripting.c build: include <strings.h> for strcasecmp() 2014-07-10 08:29:32 +02:00
sub.c player: use virtual time for --audio-file with ordered chapters 2014-08-15 23:32:37 +02:00
video.c video: add VO framedropping mode 2014-08-15 23:33:33 +02:00