summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-06-07 20:04:49 +0200
committerwm4 <wm4@nowhere>2015-06-07 20:04:49 +0200
commitf4ce99d08283a31a410623294e7a6ef31e361543 (patch)
tree2425ca23420976e6a9974c09c488ade8f925400f /video
parentfb7d0c80cc6375a513ad7a2ebd34272b99078018 (diff)
downloadmpv-f4ce99d08283a31a410623294e7a6ef31e361543.tar.bz2
mpv-f4ce99d08283a31a410623294e7a6ef31e361543.tar.xz
Revert "vo: improve frame drop logic on high playback rate"
This reverts commit ffcad1a72b9a3bf5a7ac5ddcbfa71ec19b6faf9b.
Diffstat (limited to 'video')
-rw-r--r--video/out/vo.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/video/out/vo.c b/video/out/vo.c
index 696f755cf8..dedb032e91 100644
--- a/video/out/vo.c
+++ b/video/out/vo.c
@@ -626,22 +626,14 @@ static bool render_frame(struct vo *vo)
if (!in->hasframe_rendered)
duration = -1; // disable framedrop
- // If the clip and display have similar/identical fps, it's possible that
+ // if the clip and display have similar/identical fps, it's possible that
// we'll be very slightly late frequently due to timing jitter, or if the
// clip/container timestamps are not very accurate.
- // So if we dropped the previous frame, keep dropping until we're aligned
+ // so if we dropped the previous frame, keep dropping until we're aligned
// perfectly, else, allow some slack (1 vsync) to let it settle into a rhythm.
- // On low clip fps, we don't drop anyway and the slack logic doesn't matter.
- // If the clip fps is more than ~5% above screen fps, we remove this slack
- // and use "normal" logic to allow more regular drops of 1 frame at a time.
- bool use_slack = duration > (0.95 * in->vsync_interval);
in->dropped_frame = duration >= 0 &&
- use_slack ?
((in->dropped_frame && end_time < next_vsync) ||
- (end_time < prev_vsync)) // hard threshold - 1 vsync late
- :
- end_time < next_vsync; // normal frequent drops
-
+ (end_time < prev_vsync)); // hard threshold - 1 vsync late
in->dropped_frame &= !(vo->driver->caps & VO_CAP_FRAMEDROP);
in->dropped_frame &= (vo->global->opts->frame_dropping & 1);