[gst-devel] GstController interpolation modes

David Schleef ds at schleef.org
Mon May 14 22:17:35 CEST 2007

On Mon, May 14, 2007 at 09:28:32PM +0200, Sebastian Dröge wrote:
> For the cubic interpolation there exist many good possibilities to
> provide good and smooth-looking interpolation.
> First of all we want all data points to be hit and then the combined
> spline graph to be twice differentiable everywhere. Additionally we need
> two other conditions and this could either be a slope of zero at the
> first and last data point or the second derivate being zero there.
> Would anybody want something different for this?

This makes sense.  If someone wants additional splines, they can add
support for it. :)

I believe the natural choice is second derivative being zero at the
endpoints.  In any case, there's going to be someone that disagrees
with your choice no matter what you choose, so just add whatever you
want, and tell people to extend it.

> For the quadratic interpolation things are a bit harder unfortunately.

As you suggest, drop it.  It's not useful.

> Additionally I would propose a trigonometric interpolation mode which
> would interpolate the data points with a sum of sines. This would,
> although being very computing intensive, offer the advantage that it
> would give a periodic function. It would be sufficient to set a few data
> points and have an always repeating sequence of parameter settings.

Summing trig functions doesn't have a whole lot of theoretical
justification.  A sum of sinc() functions would give the effect you're
looking for, and has a lot more research.  Even still, I think you're
limited by the amount of information that the user is providing in
the knots, rather than the theoretical model for interpolation.


More information about the gstreamer-devel mailing list