claude-noether
|
78a9978b02
|
ampere-av1 Phase 2 step 4: AV1 dispatch scaffolding compiles and wires
surface.h: av1 substruct (picture + tile_group_entries[AV1_MAX_TILES=128]
+ num_tile_group_entries counter)
picture.c: dispatch VAPictureParameterBufferAV1 + VASliceParameterBufferAV1
into surface->params.av1.*; call av1_set_controls in EndPicture path
av1.h: minimal interface (av1_set_controls signature)
av1.c: stub set_controls returning -1 with diagnostic; _Static_assert on
v4l2_ctrl_av1_tile_group_entry size = 16 (Janet hygiene)
meson.build: av1.c + av1.h in source list
Verified on ampere with /tmp/test_av1.ivf via LIBVA_DRIVER_NAME=v4l2_request:
v4l2-request: ampere-av1: vpu981 AV1 decoder at /dev/video4 + /dev/media3
v4l2-request: ampere-av1: av1_set_controls stub — Phase 2.1 will implement ...
[av1] Failed to end picture decode issue: 1 (operation failed).
[av1] HW accel end frame fail.
[dec:av1] Error submitting packet to decoder: Input/output error
Clean graceful failure — vpu981 probe works, dispatch reaches av1.c,
stub returns ERROR, ffmpeg falls back to SW. No crash, no IOMMU fault,
no kernel taint.
Next: Phase 2.1 implementation of fill_sequence + fill_frame +
fill_film_grain + fill_tile_group_entries (~700 LoC mirror of Kwiboo
v4l2_request_av1.c, applying F1/F2/F3 implementation-time corrections
from Janet review v2).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-17 09:55:39 +02:00 |
|