From 9d2b2768e35f59851b8f8d3dfac029a1469de34e Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Thu, 5 Feb 2015 22:55:39 +1100 Subject: [PATCH] clock: Make linear regression x/y base start from maximum observation. Project the results of the linear regression to the end of the regression range, so they're more directly comparable to results going forward --- gst/gstclock-linreg.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gst/gstclock-linreg.c b/gst/gstclock-linreg.c index 2164a9f0b0..874917fef9 100644 --- a/gst/gstclock-linreg.c +++ b/gst/gstclock-linreg.c @@ -217,8 +217,11 @@ _priv_gst_do_linear_regression (GstClockTime * times, guint n, *m_num = sxy; *m_denom = sxx; - *xbase = xmin; - *b = (ybar + ymin) - gst_util_uint64_scale (xbar, *m_num, *m_denom); + *b = (ymin + ybar) - gst_util_uint64_scale (xbar, *m_num, *m_denom); + /* Report base starting from the most recent observation */ + *xbase = xmax; + *b += gst_util_uint64_scale (xmax - xmin, *m_num, *m_denom); + *r_squared = ((double) sxy * (double) sxy) / ((double) sxx * (double) syy); #ifdef DEBUGGING_ENABLED