Viewer

Usage

viewer.exe [settings_file]
viewer.exe --help
ArgumentDescription
settings_filePath to settings.txt (default: settings.txt)

Description

The viewer displays output frames from shared memory with calibrated grid line overlays for precision distance measurement. It copies each frame to a local buffer before rendering to avoid tearing from concurrent writes.

Keyboard Controls

KeyAction
Right ArrowStep forward 1 frame
Left ArrowStep back 1 frame
Down ArrowStep forward 7 frames (Shift: 15 frames)
Up ArrowStep back 7 frames (Shift: 15 frames)
Page DownJump forward 25 frames
Page UpJump back 25 frames
1Toggle main grid lines on/off
2Toggle sub-meter grid lines on/off
F1Open help documentation
ESC or QQuit

Mouse Controls

ActionEffect
Move cursorDistance readout updates at cursor position (top-left corner)
Hold right button + move left/rightFast navigation through the video — move the mouse left to go backward, right to go forward. Scrolls at 3× speed, covering many frames quickly.
Hold right button + Shift + move left/rightExtra-fast navigation at 6× speed for jumping through large sections of video
Scroll wheelStep forward or backward one frame at a time for precise frame-by-frame navigation

Distance Measurement

When grid lines are enabled, the viewer calculates the distance at the cursor position by:

  1. Finding the two adjacent grid lines that bracket the cursor's vertical position
  2. Projecting the lines to the cursor's Y coordinate using perspective interpolation
  3. Computing the fractional position between the lines
  4. Displaying the result as meters (e.g., "87.3 M")

Accuracy depends on correct grid line calibration.

Grid Line Display Modes

Window Size

The viewer window size is configurable in settings:

big_window_width=1920
big_window_height=540

The window is resizable at runtime. The SDL3 renderer scales the frame to fit.

See Also