Raphaël Jacquot wrote:it looks like you're using linear interpolation between each keyframe for the animation, I would suggest adding a quadratic interpolation engine over one or multiple parts of the timeline.
When setting the timeline you have the choice of making each keyframe 'interpolation' linear, ease in, ease out, hold and pause. I call it 'motion' rather than 'interpolation' to make it easier to understand.
The video above shows linear as you suggested and was used as a good indication of multiple keyframes being used in the timeline. The motion types are....
LINEAR is the exact same motion speed between each keyframe.
EASE IN starts faster (variable) and slows down as it reaches the next keyframe.
EASE OUT speeds up (variable) as it reaches the next keyframe.
HOLD will not move (jumps) when it gets to the next keyframe.
PAUSE will wait for user before it runs each keyframe in the timeline.
If different motion types are used between each keyframe the motion curve will also change between each as the timeline progresses. As an example if keyframe 1 is set to ease in at a rate of 30 (variable) and keyframe 2 is set to ease out at a rate of -20 the curve will change over that time.
The timeline has a maximum of 10 keyframes and each keyframe can control ALL 4 boxes individual parameters of Xpos, Ypos, Size, Source, Box on/off, Crop left, crop right, crop top, crop bottom, crop on/off. Each keyframe can have its own motion type that makes for interesting effects. Each keyframe controls are absolute, that is, regardless of the motion type, the keyframe adjustments will always be where they are set, so they will not be influenced by any extreme motion type.
I am still playing with the maths but the results are far better than what I expected. All the calculations are using floating point maths on a 8 bit Arduino! Each ATEM command are being sent at 20mS intervals to emulate field interpolation but I would love to have sub pixel control to make it that much smoother. Unfortunately the ATEM does not apply that to the supersource but they do on the DVE so it should work a lot smoother.
Here are the motion type emulation experiments programmed into Excel...
https://www.facebook.com/photo.php?fbid=1798046150225744&set=gm.629271734082894&type=3&theater&ifg=1