From c5e3613bbaecec9669871fde86b97032ab3b954a Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 1 Jul 2015 19:23:26 +0200 Subject: 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. --- video/out/vo.c | 1 + video/out/vo.h | 2 ++ 2 files changed, 3 insertions(+) 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 -- cgit v1.2.3