diff options
author | wm4 <wm4@nowhere> | 2015-11-25 22:10:55 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-11-25 22:10:55 +0100 |
commit | 1fe64c61be426513aff24ea69dfa970939caa8b1 (patch) | |
tree | 1cb85f2be9ab131049711b7f59af131463e2f89f /video/out/opengl | |
parent | 772961f0ceb091f099eec03e2e8a3a2b354aa18f (diff) | |
download | mpv-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')
-rw-r--r-- | video/out/opengl/video.c | 6 |
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) |