RePan is an Avisynth 2.5 filter, intended to act as a motion-compensated 
freeze-frame. So far, the only kind of motion it solves for is pans, but I
could add zoom, rotate or perspective motion easily.

Note: The filter may or may not die a horrible death by access violation when
given YV12. I haven't pinned down the cause yet.

Note: I don't currently detect whether the scene really is a pan.
You'll get something no matter what two images you tell it to interpolate
between, and you won't like the results if it can't find a decent
approximation to a pan.

Usage:

RePan(string ovr, string debug, int levels, int iterations, float precision, float maxmv, bool show)

ovr
	Required.
	A file containing lines of the formats:
		<replace>
		<replace>,<from1>,<from2>
		<replace>,<from1>,<from2>,<ratio>
	where <replace> is a frame number to reconstruct,
	<from1> and <from2> are the frames to interpolate between
	(default: <replace>-1 and <replace>+1)
	and <ratio> is a fraction that specifies the how far between the two inputs
	you want <replace> to be. (0.0 = all <from1>, 1.0 = all <from2>)
	(default: decided by the relative timestamps)

debug
	default: none
	filename to write debugging information to.

levels
	default: 5
	Number of levels of mipmap to run motion estimation on.
	You can get away with smaller numbers on smaller motions.
	Larger numbers may or may not be slower or better.

iterations
	default: 20
	Maximum number of iterations of the Lucas-Kanade alignment algorithm to
	run at each level.

precision
	default: .005
	Stop before max iterations is reached if one iteration refines the motion
	by less than this much. Larger numbers are faster and may be lower quality.

maxmv
	default: .3
	Maximum motion vector length, as a fraction of frame size.
	Sometimes prevents not-quite-pans from wandering off into the unknown.

show
	Print some text on each frame.
