Dynamic Media Facility / Timing

Time inside a DMF workload

Follow the same timestamp through different processing delays.

Paused50 fps / 20 ms per frame
Timing preset
Signal path t = 0 ms100x slower playback / distances are schematic
01

Inputs

Video 1ITS = x
Video 2ITS = x
Video 3ITS = x
Emitted t = 0 ms

Already-conformed Flows in one workload time domain.

Input availability delay

0-20 ms

02

Media functions

Media function8 ms
ITS preserved
MF2 ms
ITS preserved
MF2 ms
ITS preserved
CPU MF8 ms
ITS preserved
Asynchronous processing

Each function works as soon as its input is available. The CPU MF has variable delay.

MF processing delay

MFs 0-20 ms / CPU 2-8 ms

03

Extra MF

MF1 ms
ITS preserved
Video 2
Video 3
8 + 1 = 9 ms

Another processing step on Video 1's path.

Extra processing delay

0-10 ms

04

Vision mixer

Read matching ITS

ITS = x t = 20 ms Waiting
V1
V2
V3
Next read / delay 20 ms
Alignment by timestamp

The read point stays fixed, even when a matching input is late.

Mixer read delay

0-40 ms

05

Output

ProgrammeAwaiting first readNew Source
New Flow
Waiting

Matching inputs are required before mixing.

Mixer processing delay

0-20 ms

Fader changes apply to the next grain. CPU delay varies from 2 ms to its ceiling. Inter-stage transfer adds no simulated delay.

At the mixer read point

Next read: ITS = x / CPU 8 ms

Availability of the selected grain on each input path
InputITSDelay to mixerAt read pointTiming margin
Video 1x9 msWaiting+11 ms
Video 2x2 msWaiting+18 ms
Video 3x10 msWaiting+10 ms

The table follows the latest mixer read. A non-negative margin means the matching grain is available by its deadline.

Timing terms and ingress conformance
Grain
An indexable media unit: a video frame, or one audio sample per channel.
Source and Flow
A Source identifies editorial content. A Flow is its technical representation. Mixing creates a new Source and Flow.
ITS
The Indexing Time Stamp identifies a grain's intended time in the workload. Here, x is a symbolic ITS; actual values use nanoseconds from the SMPTE epoch.
Ingress
External Signals are conformed into usable Flows. Ingress uses frequency and timestamp provenance to assign or adjust ITS, preserving required timing relationships. Frame synchronisation or sample rate conversion is needed when the incoming frequency is not coherent with the workload.

The workload clock provides a shared time domain. Internal Media Functions process asynchronously; matching timestamps allow alignment at the mixer.

Sources and example assumptions

This original illustration adds CPU variation after Video 3's 2 ms MF, and a 5 ms example. Repeatable CPU samples are 8, 2, 6, 3, 7, 4 and 5 ms, capped by the selected ceiling. Mixer processing is inferred as 31 - 20 = 11 ms. These delays and the no-output behaviour for a missed read point are illustrative choices, not AMWA requirements. Egress synchronisation is outside this diagram.

IN-002 and IN-005 are evolving AMWA Increments. HK Grotesk and Fira Code are reused unchanged from this repository's deck assets at revision 4e3cddc, under the HK Grotesk licence and Fira Code licence.