1 Commits

Author SHA1 Message Date
marfrit 9a14cc2527 iter5b-β Phase 8 close: PARTIAL PASS — VP9 unblocked direct, Bugs 4/5/6 carried to iter6
Iteration shipped (fork tip 70196f8, backend SHA 2c6ff82c... on fresnel):
- VP9 directly verifiable (Phase 1 criterion 1 met for 1 of 3 target codecs)
- MPEG-2 maintained (no regression after Commit D fix-forward)
- H.264 unchanged (Bug 4 deferred per Phase 1 lock)
- Architecture cleaned: CreateSurfaces2 ~70 LOC (single-responsibility),
  CreateContext owns OUTPUT lifecycle, no α'-style failure mode possible.

Surfaced bugs for iter6+:
- Bug 5: HEVC libva DQBUF FLAG_ERROR (pre-existing; iter2's transitive
  PASS verified control payload but not decode outcome)
- Bug 6: VP8 libva produces non-zero non-matching output (slot rotation
  or partial fill, masked pre-β by all-zero state)
- Bug 4: H.264 inter-frame race-loss (carried from iter4 P7)

Lessons distilled to memory:
- feedback_grep_callsites_before_no_change.md (Phase 5 v2 CRIT-2 caught
  request_pool_destroy not in DestroyContext after C3 stripped its
  only per-session caller)
- feedback_trust_iter_comments_for_lifecycle.md (Commit D fix-forward
  surfaced because Phase 4 v2 read but didn't trace context.c:262's
  iter6 ffmpeg-vaapi-copy surfaces_count=0 comment)

Campaign scoreboard: 5/5 with 2 direct (VP9 new, MPEG-2 maintained) +
3 mixed (H.264 keyframe partial, VP8 partial new, HEVC transitive-only
direct-FAIL).

iter6 awaits Phase 0 research-question lock.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 19:01:07 +00:00