1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! Keyframe animation system for time-varying filter parameters.
//!
//! The animation system is built in layers:
//!
//! 1. [`Lerp`] — trait for component-wise linear interpolation (#351)
//! 2. [`Easing`] — six easing functions: `Hold`, `Linear`, `EaseIn`, `EaseOut`,
//! `EaseInOut`, `Bezier` (#352–#357)
//! 3. [`Keyframe<T>`] — timestamp + value + per-segment easing (#349)
//! 4. [`AnimationTrack<T>`] — sorted collection with `value_at(t)` (#350)
//! 5. [`AnimatedValue<T>`] — `Static(T)` or `Track(AnimationTrack<T>)` (#358)
//! 6. [`AnimationEntry`] — registered animation track for a specific filter parameter (#359)
pub use Easing;
pub use Keyframe;
pub use Lerp;
pub use AnimationTrack;
pub use AnimatedValue;
/// A registered animation track for a specific filter parameter.
///
/// Accumulated in [`crate::FilterGraphBuilder`] and transferred to
/// [`crate::FilterGraph`] on [`build()`](crate::FilterGraphBuilder::build).
/// Per-frame `avfilter_graph_send_command` updates are applied during playback
/// in issue #363.