Package-level declarations
Types
Resamples to sampleRate.
Changes the tempo by the factor tempo and keeps the pitch. FFmpeg takes 0.5 to 100.
Typed audio encoder settings, which applyTo folds into an AudioEncoderSpec.
Collects the steps of an audio FilterChain. See audioFilters.
Pins the sample format, the rate or the channel layout that the next stage receives.
Typed decoder options, applied through the EXISTING av_opt_set funnel between codec-context creation and open. Control plane only: these configure an open, never a per-frame call. compile is the pure, golden-tested mapping to option pairs; a wrong key in options reproduces the funnel's measured EINVAL path rather than being filtered here.
avcodec's skip ladder, by its own option value names.
How a decoder spreads its work across threads: whole frames, slices of one frame, or both.
Deinterlaces with with.
The deinterlacing filters Deinterlace can use.
Typed demuxer options for MediaSource.open, applied between allocation and open, the only moment probe sizes, flags and whitelists can act. compile is the pure mapping to FFmpeg's own option pairs. A key FFmpeg does not consume comes back through MediaSource.unusedOpenOptions instead of being dropped.
The x264 and x265 speed presets, fastest first. A slower preset spends more time for a smaller file.
How closely a decoder checks the bitstream, by the flag names of FFmpeg's err_detect option.
Typed steps in order. compile joins them into the description a filter graph takes.
The typed filter DSL: a compilation layer onto the description STRINGS the existing FilterGraph.buildVideo/buildAudio already take. Nothing here crosses into C; the rules that bind it:
Converts the pixels to format.
Converts to the constant rate, dropping or repeating frames.
A downmix or routing matrix: Pan("stereo", "c0=FL+0.7*FC", "c1=FR+0.7*FC"). The channel expressions are FFmpeg's own pan syntax, escaped as one value because pan's separator is the pipe, which the chain separator must not see.
A quarter turn for Transpose, with or without a mirror.
How an encoder spends bits.
The escape hatch: any chain fragment the typed set lacks, joined verbatim. Capability checks cannot see inside it; the caller owns that claim.
Turns the picture a quarter turn.
The typed encoder layer: sugar compiling INTO the existing options maps of the encoder specs. Zero C, zero new funnel; applyTo returns a new spec whose options carry the typed knobs as the exact av_opt_set strings the wrappers already send.
Collects the steps of a video FilterChain. See videoFilters.
Linear gain: 1.0 is unity, 0.5 is half amplitude.
Functions
An audio FilterChain built in block, such as audioFilters { volume(0.5); atempo(1.25) }.
The one escaping function every typed filter argument passes through.
A video FilterChain built in block, such as videoFilters { scale(1280, -1); fps(Rational(30, 1)) }.