summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-07-01 19:23:26 +0200
committerwm4 <wm4@nowhere>2015-07-01 22:37:51 +0200
commitc5e3613bbaecec9669871fde86b97032ab3b954a (patch)
tree36bc663056297dceb1e1c77fa4e027dbab8872ed /video
parent41ad9d8924cad07948ee7c2eaff9d0fa1be0b044 (diff)
downloadmpv-c5e3613bbaecec9669871fde86b97032ab3b954a.tar.bz2
mpv-c5e3613bbaecec9669871fde86b97032ab3b954a.tar.xz
video: pass vsync offset to VO
For now, this is trivial (and actually redundant). The future display sync code will make better use of it. The main point is that the new internal API pretty much makes this transparent to the vo_opengl interpolation code.
Diffstat (limited to 'video')
-rw-r--r--video/out/vo.c1
-rw-r--r--video/out/vo.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/video/out/vo.c b/video/out/vo.c
index 68af6a38c8..ae5eca7ba5 100644
--- a/video/out/vo.c
+++ b/video/out/vo.c
@@ -716,6 +716,7 @@ static bool render_frame(struct vo *vo)
.pts = pts,
.next_vsync = next_vsync,
.prev_vsync = prev_vsync,
+ .vsync_offset = next_vsync - pts,
.frame = img,
.num_future_frames = num_future_frames,
.future_frames = future_frames,
diff --git a/video/out/vo.h b/video/out/vo.h
index 51c7816920..3d36269d26 100644
--- a/video/out/vo.h
+++ b/video/out/vo.h
@@ -160,6 +160,8 @@ struct frame_timing {
// Realtime of estimated previous and next vsync events.
int64_t next_vsync;
int64_t prev_vsync;
+ // "ideal" display time within the vsync
+ int64_t vsync_offset;
// The current frame to be drawn. NULL means redraw previous frame
// (e.g. repeated frames).
// (Equivalent to the mp_image parameter of draw_image_timed, until the