summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/video.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-11-25 22:10:55 +0100
committerwm4 <wm4@nowhere>2015-11-25 22:10:55 +0100
commit1fe64c61be426513aff24ea69dfa970939caa8b1 (patch)
tree1cb85f2be9ab131049711b7f59af131463e2f89f /video/out/opengl/video.c
parent772961f0ceb091f099eec03e2e8a3a2b354aa18f (diff)
downloadmpv-1fe64c61be426513aff24ea69dfa970939caa8b1.tar.bz2
mpv-1fe64c61be426513aff24ea69dfa970939caa8b1.tar.xz
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.
Diffstat (limited to 'video/out/opengl/video.c')
-rw-r--r--video/out/opengl/video.c6
1 files changed, 4 insertions, 2 deletions
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)