Module video

Module video 

Source
Expand description

2026-09-26: The video-fidelity benchmark: did a clip’s frames reach the model, in order?

The order legs send one color sequence forwards (01_colors_fwd.mp4) and reversed (02_colors_rev.mp4), same container, duration and prompt, and require the reply to reverse with the clip. A no-video control runs last; if it names the whole sequence the run is VACUOUS (score::verdict).

The other legs, all in driver.rs:

  • Geometry: the 1 s, 2 s and 4 s clips must satisfy t4 - t2 == 2 * (t2 - t1) in prompt tokens (geometry::check_proportional). The absolute count depends on the server’s --video-fps, which the benchmark neither sends nor reads.
  • Backend parity: the MP4 and the GIF of the same colors must cost the same prompt tokens. The server decodes GIF in-process and every other container with ffmpeg.
  • Mixed media: an image and a video in one request.
  • Integrity: two videos in one request, video before image, two opposite clips in flight, and a video in an earlier turn.
  • Concurrency: C = 1, 2, 4 copies of one request, every reply correct and every level at the C=1 prompt-token count.

A leg whose request fails because the server cannot decode the container (request::is_decoder_unavailable) is Skipped, not failed; ffmpeg decoding is off unless the serve passes --video-allow-ffmpeg. A run where every leg was skipped is INCONCLUSIVE, not PASS.

Registered in registry.rs; model targets gate on it through gate = "video-fidelity" entries in their BENCH.toml.

Owner: bench, video. Invariants: none beyond the types.

Re-exports§

pub use driver::DESCRIPTOR;
pub use driver::METADATA;

Modules§

concurrency
2026-09-26: The concurrency leg shared by the video and vision benchmarks: for each of LEVELS, that many copies of one request are sent at once and scored for how many returned, how many were correct, and whether they agree on one prompt-token count.
driver
2026-09-26: The video-fidelity state machine: one leg per next(), in Phase order: geometry, order, parity, mixed media, integrity, concurrency, the no-video control, then the score. The control runs after the legs it can invalidate, so their cells are shown beside a VACUOUS verdict.
geometry
2026-09-26: Video token geometry: tokens per temporal group, and the check that temporal groups scale with clip duration.
provision
2026-09-26: The committed video clips, and writing them to disk.
request
2026-09-26: Request bodies for the video legs, and the decoder-unavailable predicate.
score
2026-09-26: The video benchmark’s cells and verdict. A run that asserted nothing is INCONCLUSIVE; a run whose no-video control named the whole color sequence is VACUOUS; otherwise it passes only if every asserted cell passed.