ReviewOS

home-lang/home-os

Gates: `playback-1080p-h264` (software, NEON), `playback-4k-hevc` (hardware), `soak-4h`, dropped-frame and RSS ceilings — the media-engine acceptance on the rig

#88
Open chris opened this 8 days ago ·
8 days ago

Epic: #113 · Milestone: MC6 — Media engine

Why

These are the numbers behind "performant". They run on the HIL rig weekly (#111) and on demand.

Reference corpus (checked into a release asset, hashes in repo)

  • ref-1080p60-h264-high-aac.mp4 (20 Mbit/s, B-frames, 5.1 AAC)
  • ref-1080p24-h264-flac.mkv (with SRT + ASS tracks, chapters)
  • ref-2160p60-hevc-main10-hdr10.mkv (60 Mbit/s)
  • ref-2160p30-hevc-main.mp4
  • ref-ts-broadcast.ts (H.264 + AAC + DVB subs, PCR jitter)
  • Music: FLAC 24/96, MP3 320 gapless album, Opus, AAC-LC
  • Each video has embedded A/V sync markers (flash + beep every 10 s) for capture analysis.

Tasks

  • scripts/pi/measure-playback.sh <clip>: starts playback via the phone-remote HTTP API (#100) or a serial command, captures HDMI 60 s, computes dropped/repeated frames (frame-counter overlay), A/V offset from markers, CPU/RSS from perf, watts from the plug.
  • Thresholds: 1080p60 H.264 — 0 dropped frames, CPU ≤ 60 %; 4K60 HEVC — 0 dropped, CPU ≤ 25 %; A/V offset ≤ 40 ms; RSS growth over 4 h ≤ 5 %; zero kernel panics (serial monitor).
  • soak-4h: shuffled playlist of the corpus + UI navigation script between items.
  • Results into IMPLEMENTATION_STATUS.md (generated) as a "Playback" table.

Acceptance

All thresholds met on two consecutive weekly runs; floors recorded in scripts/perf-floors.json.

Size: M · Depends on: #85, #84, #49, #48 · Blocks: v1 release

Sign in to comment on this issue.