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
//! [`FrameFilter`] — mid-pipeline frame transform hook on [`crate::EncodeSession`].
//!
//! See [ADR-0001](../../adr/0001-frame-filter-hook.md) for the full design.
use VideoFrame;
use Error;
/// One step of an [`crate::EncodeSession`] frame filter chain.
///
/// Operates on `VideoFrameStorage::Cpu` frames only (see ADR-0001) — a session
/// with a non-empty filter chain rejects `Gpu`-backed frames with
/// [`FilterError::GpuFrameUnsupported`] rather than silently reading them back.
/// Error from a [`FrameFilter`] chain step.