summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/video.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-11-27 22:04:44 +0100
committerwm4 <wm4@nowhere>2015-11-27 22:04:44 +0100
commit7023c383b22a9619840b88175a8c272f2f9d4414 (patch)
tree5bb7828079a20407971c72380f74a3f4164adb5b /video/out/opengl/video.c
parent2bee47fd27f4ee544f1db15fcedf8cd94df89610 (diff)
downloadmpv-7023c383b22a9619840b88175a8c272f2f9d4414.tar.bz2
mpv-7023c383b22a9619840b88175a8c272f2f9d4414.tar.xz
vo: change vo_frame field units
This was just converting back and forth between int64_t/microseconds and double/seconds. Remove this stupidity. The pts/duration fields are still in microseconds, but they have no meaning in the display-sync case (also drop printing the pts field from opengl/video.c - it's always 0).
Diffstat (limited to 'video/out/opengl/video.c')
-rw-r--r--video/out/opengl/video.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c
index 4c62efe3be..7f0bb22b8f 100644
--- a/video/out/opengl/video.c
+++ b/video/out/opengl/video.c
@@ -2088,7 +2088,7 @@ static void gl_video_interpolate_frame(struct gl_video *p, struct vo_frame *t,
double pts_now = p->surfaces[surface_now].pts,
pts_nxt = p->surfaces[surface_nxt].pts;
- double mix = (t->vsync_offset / 1e6) / (pts_nxt - pts_now);
+ double mix = t->vsync_offset / (pts_nxt - pts_now);
// The scaler code always wants the fcoord to be between 0 and 1,
// so we try to adjust by using the previous set of N frames instead
// (which requires some extra checking to make sure it's valid)
@@ -2107,7 +2107,7 @@ static void gl_video_interpolate_frame(struct gl_video *p, struct vo_frame *t,
// Blend the frames together
if (oversample) {
- double vsync_dist = t->vsync_interval / 1e6 / (pts_nxt - pts_now),
+ double vsync_dist = t->vsync_interval / (pts_nxt - pts_now),
threshold = tscale->conf.kernel.params[0];
threshold = isnan(threshold) ? 0.0 : threshold;
mix = (1 - mix) / vsync_dist;
@@ -2130,8 +2130,7 @@ static void gl_video_interpolate_frame(struct gl_video *p, struct vo_frame *t,
}
MP_STATS(p, "frame-mix");
- MP_DBG(p, "inter frame pts: %lld, vsync: %lld, mix: %f\n",
- (long long)t->pts, (long long)t->vsync_interval, mix);
+ MP_DBG(p, "inter frame vsync: %f, mix: %f\n", t->vsync_interval, mix);
p->is_interpolated = true;
}
pass_draw_to_screen(p, fbo);