From 1fe64c61be426513aff24ea69dfa970939caa8b1 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 25 Nov 2015 22:10:55 +0100 Subject: vo_opengl: disable interpolation without display-sync Without display-sync mode, our guesses wrt. vsync phase etc. are much worse, and I see no reason to keep the complicated "vsync_timed" code. --- video/out/opengl/video.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'video/out/opengl/video.c') diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c index 75e9874724..4c62efe3be 100644 --- a/video/out/opengl/video.c +++ b/video/out/opengl/video.c @@ -2160,7 +2160,9 @@ void gl_video_render_frame(struct gl_video *p, struct vo_frame *frame, int fbo) if (has_frame) { gl_sc_set_vao(p->sc, &p->vao); - if (p->opts.interpolation && (p->frames_drawn || !frame->still)) { + if (p->opts.interpolation && frame->display_synced && + (p->frames_drawn || !frame->still)) + { gl_video_interpolate_frame(p, frame, fbo); } else { bool is_new = !frame->redraw && !frame->repeat; @@ -2872,7 +2874,7 @@ void gl_video_configure_queue(struct gl_video *p, struct vo *vo) } } - vo_set_queue_params(vo, 0, p->opts.interpolation, queue_size); + vo_set_queue_params(vo, 0, queue_size); } struct mp_csp_equalizer *gl_video_eq_ptr(struct gl_video *p) -- cgit v1.2.3