pub enum LayerSource {
Video {
input: PathBuf,
start: Duration,
map: Option<Arc<[i64]>>,
},
Image(Arc<Image>),
Still(PathBuf),
Scene(Arc<Scene>),
Filtered(Arc<Prep>),
}Expand description
Where a layer’s pictures come from.
Variants§
Video
A video file, decoded from start and conformed to the pipeline’s frame rate. Past its
end the last frame holds.
With a map (a time remap, docs/compositing.md#time-remapping), layer frame i shows
source frame map[i], counted from the first frame at or after start (0) on the
source’s own rate, and nothing is conformed. A non-decreasing map decodes forward,
repeating and dropping frames; a step back seeks (cheap on an all-intra file).
Image(Arc<Image>)
A still picture, drawn on every frame. Its values are taken as the output’s colour space (no conversion) for an SDR output, so a logo keeps its colours, and as sRGB with white at the HDR reference white (203 nits, BT.2408) for a PQ or HLG one.
Still(PathBuf)
A still file (PNG, JPEG, WebP, HEIC with tile grids and irot), decoded through libav
once per layer of a rendered piece. A tagged file (primaries or transfer set: HEIC
colr, PNG cICP or sRGB) is converted from its tags; an untagged one is taken as an
Image is. JPEG EXIF orientation is not applied; at most
STILL_SIDE px a side and STILL_PIXELS in all.
Scene(Arc<Scene>)
A nested composition rendered in the same pass into its own texture.