2 Commits

Author SHA1 Message Date
marfrit cd2d077cb6 iter33: MPEG-2 closed (libva==kdirect bit-exact) — 5/5 codecs PASS
After VP8 fix landed, ran 5-codec libva-vs-kdirect anchor sweep.
All 5 codecs produce byte-identical libva and kdirect output:
  h264   sha=dd4f5f2d552c07bc
  hevc   sha=108f925bb6cbb6c9
  vp9    sha=cf35908ae0f9ab60
  vp8    sha=d3231e5b6c0ee10b
  mpeg2  sha=95c5905890c937d4

MPEG-2 HW output (libva and kdirect agree) differs from libavcodec
SW MPEG-2 by ~1 LSB per ~67 pixels — hantro IDCT precision artifact,
not a libva bug. Effectively 5/5 PASS for libva correctness contract.
2026-05-14 16:40:05 +00:00
marfrit 51eee192b8 iter33 α-30 close: VP8 FIXED — 4/5 codecs PASS
ffmpeg-vaapi strips the VP8 uncompressed frame header before
submitting VASliceData. Hantro hard-codes first_part_offset = 10
or 3 based on keyframe flag. libva must prepend matching placeholder
bytes. Backend commit 7e0848d.

3-codec rkvdec anchors unchanged (H264 + HEVC + VP9 all PASS).
VP8 newly PASS through hantro (env-override LIBVA_V4L2_REQUEST_VIDEO_PATH).
MPEG-2 surfaces as next codec — same hantro device, different bug.

Memory: feedback_vaapi_strips_vp8_uncompressed_header.md added.
2026-05-14 16:38:11 +00:00