Package-level declarations

Types

Link copied to clipboard

Cross-cutting facts the pipeline resolved before any effect ran.

Link copied to clipboard
class AuxInput(val image: ImageSource, val chain: List<FilterNode> = emptyList(), val timeline: AuxTimeline? = null)

An extra input a FilterFragment needs, such as the image an overlay composites.

Link copied to clipboard
class AuxTimeline(val frameRate: Float, val duration: Duration)

How long an AuxInput's branch runs for, and at what rate it advances.

Link copied to clipboard
fun interface CoreImageEffect

One step of a Core Image chain.

Link copied to clipboard
class Degradation(val reason: DegradationReason, val message: String)

One way an EffectResolution.Degraded differs from what was declared.

Link copied to clipboard

Why a resolution is EffectResolution.Degraded rather than exact.

Link copied to clipboard
object EffectIds

The identifiers of filmstrip's built-in effects.

Link copied to clipboard
sealed interface EffectResolution

The outcome of asking one resolver to realize one spec.

Link copied to clipboard
fun interface EffectResolver

Realizes an EffectSpec as something the current platform can render.

Link copied to clipboard

Where an effect may be declared.

Link copied to clipboard
interface EffectSpec

A declaration of an effect: pure data describing intent rather than realization.

Link copied to clipboard

The fixed pipeline stages, in execution order.

Link copied to clipboard
class FilterArgument(val key: String, val value: String)

One key=value argument to a FilterNode.

Link copied to clipboard
class FilterBranch(val reads: List<String>, val nodes: List<FilterNode>, val writes: List<String>)

One chain of a FilterFragment.branches graph, or a fan out when it writes more than one pad.

Link copied to clipboard
class FilterCrop(val width: String, val height: String, val x: String? = null, val y: String? = null, val exact: Boolean = true)

The region a FilterFragment works on, as the tool's crop filter would cut it.

Link copied to clipboard

One effect's contribution to a filter graph.

Link copied to clipboard
class FilterNode(val name: String, val arguments: List<FilterArgument> = emptyList())

One filter, and the arguments it is configured with.

Link copied to clipboard
class FrameInfo

What a CoreImageEffect is told about the frame it has been handed.

Link copied to clipboard
actual class PlatformEffect

The Android form: a media3 Effect that runs as its own pass, or a TextureOverlay that the pipeline blends with the overlays next to it.

actual class PlatformEffect

The Apple form: one step of a Core Image chain.

expect class PlatformEffect

A platform's own realization of one EffectSpec, opaque to common code.

actual class PlatformEffect

The JVM form: a fragment of a filter graph.

actual class PlatformEffect

The browser form: a declaration of one render pass, not a compiled program.

Link copied to clipboard

Which rendering API is behind the effect pipeline.

Link copied to clipboard

What the platform can actually render, on this device, right now.

Link copied to clipboard

Additive capability flags.

Link copied to clipboard
class Sidecar(val bytes: ByteArray, val extension: String)

A file an effect needs the tool to read, such as the lookup table a color grade lowers to.

Link copied to clipboard
class WebGlPass

One pass of a browser render chain, described rather than compiled.

Functions

Link copied to clipboard

Sorts this into the canonical pipeline order.