Skip to content

Fix TIME_VARYING probe blind spot to positional clock-readers - #22

Merged
thorwhalen merged 2 commits into
mainfrom
worktree-vg-20
Sep 7, 2026
Merged

thorwhalen merged 2 commits into
mainfrom
worktree-vg-20

Conversation

@thorwhalen

Copy link
Copy Markdown
Collaborator

Summary

  • frame_dependency.classify's TIME_VARYING probe ran a spatially UNIFORM still (color=c=gray), so a purely positional clock-reader like motion.ffmpeg.crop produced time_delta == 0.0 and fell through to a misclassified CONTENT_ADAPTIVE verdict.
  • Swapped the still for rgbtestsrc: deterministic (no seed), frame-to-frame invariant (measured bit-identical), and spatially non-uniform, so a moving crop window now registers a nonzero time_delta.
  • looks/tests/test_time_varying.py's TestTheStillProbeCannotSeeAMovingCropWindow flipped from documenting the wrong verdict to asserting the correct one; motion.ffmpeg.crop is no longer excluded from TestDeclarationAgreesWithMeasurement's sweep. Removed the now-closed blind-spot entry from frame_dependency's "What this does not answer" docstring section.

Closes #20

Test plan

  • pytest -q --doctest-modules looks — 1356 passed, 3 skipped, on Homebrew ffmpeg 9.0.1
  • Same suite against ffmpeg@6 (6.1.6, CI-matching) — 1356 passed, 3 skipped
  • ruff check / ruff format --check clean

https://claude.ai/code/session_01PoBJX7ZWjC52NTVN59K7Mf

classify()'s time probe ran a spatially uniform still (color=c=gray),
so a purely positional clock-reader like motion.ffmpeg.crop produced
zero luma diff and fell through to CONTENT_ADAPTIVE instead. Swap the
still for rgbtestsrc: deterministic, frame-to-frame invariant, and
spatially non-uniform, so a moving crop window now registers a real
time_delta and classifies correctly.

Closes #20

Claude-Session: https://claude.ai/code/session_01PoBJX7ZWjC52NTVN59K7Mf
TestTheStillProbeCannotSeeAMovingCropWindow now asserts the opposite of
its own name since the still switched to rgbtestsrc.

Closes #20

Claude-Session: https://claude.ai/code/session_01PoBJX7ZWjC52NTVN59K7Mf
@thorwhalen
thorwhalen merged commit c75bf15 into main Sep 7, 2026
12 checks passed
@thorwhalen
thorwhalen deleted the worktree-vg-20 branch September 22, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

frame_dependency.classify misclassifies a positional clock-reader as CONTENT_ADAPTIVE

1 participant