Janet re-review verdict on v2: PROCEED with no architecture changes.
Two minor plan-text amendments:
A. cap_pool init for vpu981 — at backend init (NOT lazy). Three
explicit init calls in VA_DRIVER_INIT_FUNC. Lazy init creates race
window where concurrent VP8 (legacy hantro) and AV1 (vpu981)
sessions can alias cap_pool state across the wrong device.
B. Lock the F1 test vector: av1-1-b8-23-film_grain-50.ivf (AOM data
set). Already used in Phase 0 kdirect; reuse via libva for byte-
compare. Default 1080p encodes may be single-tile and never
exercise F1; a named conformance vector locks the test surface.
Cross-compile hazard documented: _Static_assert validates against
COMPILE-TIME kernel headers. Sibling-campaign pattern is native arm64
build on ampere — no cross-compile in scope. Comment added near the
assert for future Makefile changes.
Phase 2 entry checklist locked. Plan stack: v1 → v2 (Q5 BLOCKER fix)
→ v3 amendment (Janet PROCEED + 2 fixes). Implementation starts with
request.c third-device scaffolding (smallest atomic change), then
small file edits, then NEW av1.h, then NEW av1.c (~700 LoC), then
build + Phase 3 hardware test.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>