OpenMediaLib User and Development Guide
- OpenMediaLib User Development Guide
- Introduction
- High Level Use
- Reverse Polish Notation
- Applying RPN to Video/Audio
- Clip Modifications
- Compositing
- Playlists
- Stack Manipulations
- Advanced Stack Usage
- Aspect Ratio Considerations
- The Encoding Filter Graph
- Compositing Revisited
- Really, Really Advanced Stack Usage
- General Audio Issues
- Python
- Interpolation
- Threading
Interpolation
As has been shown in the previous section, key frame interpolation can be carried out via callbacks, but, at least in the Python domain, this is restrictive – we lose the ability to thread the graph and it's labour intensive inasmuch as it requires Python or C++ code to be introduced. Further to that, the application itself becomes intrinsic to the playout of the graph which restricts reuse.
The OML graph structure provides an alternative to this via 'interpolation filters' and frame properties.
An example of use is as follows:
colour: <input> filter:lerp @@rx=0.0:1.0 @@ry=1.0:0.0 filter:composite slot=1 @rx=@@rx @ry=@@ry
Each frame object has a property container – properties can be assigned to this container and picked up by a downstream node. The '@@' prefix is used to identify frame properties and a single '@' prefix is used to identify node properties.
