70ddbd6c4b
iter33 VP8 diagnostic printks reverted from rockchip_vpu2_hw_vp8_dec.c and hantro_g1_vp8_dec.c. 6 base patches retained (DTS + dma_resv + hantro/rga fences). Post-reboot 5-codec regression on 7.0-14: - h264 libva=dd4f5f2d552c07bc L==K L==SW - hevc libva=108f925bb6cbb6c9 L==K L==SW - vp9 libva=cf35908ae0f9ab60 L==K L==SW - vp8 libva=d3231e5b6c0ee10b L==K L==SW - mpeg2 libva=95c5905890c937d4 L==K L!=SW (HW IDCT ≤1 LSB precision) dmesg | grep iter — empty. Substrate clean. Note: /dev/video* and /dev/media* device numbers SHIFTED between kernel boots (rkvdec /dev/video1→/dev/video3, hantro /dev/video3→ /dev/video2 between 7.0-13 and 7.0-14). Updated memory entry to flag this.
58 lines
3.2 KiB
Markdown
58 lines
3.2 KiB
Markdown
## Iteration 34 — Phase 8 (close): Kernel cleanup → 7.0-14 SHIPPING
|
||
|
||
Closes 2026-05-14, fifth campaign-day milestone. Strips iter33 VP8 diagnostic printks, ships clean kernel matching the 5/5 PASS state.
|
||
|
||
### Goal
|
||
|
||
Remove the iter33 `vpu2_iter33_vp8` printk in `rockchip_vpu2_hw_vp8_dec.c` (and the dead `hantro_iter33_vp8` block in `hantro_g1_vp8_dec.c` that was added to the wrong function in iter33 first attempt). Ship clean 7.0-14.
|
||
|
||
### Result
|
||
|
||
- `linux-fresnel-fourier 7.0-14` built + deployed.
|
||
- 5/5 codec regression PASS on the clean kernel — libva == kdirect bit-exact for all 5 codecs (H264, HEVC, VP9, VP8, MPEG-2). 4/5 also bit-equal to SW reference (MPEG-2 differs from SW by ≤1 LSB IDCT precision artifact — same as iter33).
|
||
- `dmesg | grep iter` empty — diagnostic printks gone.
|
||
|
||
### Devices on 7.0-14 (note: enumeration shifted from 7.0-13)
|
||
|
||
| Driver | Video device | Media device |
|
||
|---|---|---|
|
||
| rockchip-rga | /dev/video0 | n/a |
|
||
| rk3399-vpu-enc (encoder) | /dev/video1 | (shared with hantro) |
|
||
| rk3399-vpu-dec (hantro) | /dev/video2 | /dev/media0 |
|
||
| rkvdec | /dev/video3 | /dev/media1 |
|
||
| uvcvideo (USB cam) | /dev/video4-5 | /dev/media2 |
|
||
|
||
The /dev/video* and /dev/media* numbers shift between kernel boots based on probe order. Always re-probe via `v4l2-ctl --info` and `media-ctl -d /dev/mediaN -p` before hard-coding paths in test scripts.
|
||
|
||
### Substrate state at iter34 close
|
||
|
||
Backend fork tip `7e0848d` (α-25 + α-29 + α-30 + iter29/30/33 env-gated DIAG probes; all three letter-fixes are load-bearing).
|
||
|
||
Kernel `linux-fresnel-fourier 7.0-14` clean, no diagnostic printks.
|
||
|
||
### Open items (post iter34)
|
||
|
||
1. Backend env-gated DIAG cleanup (low priority): iter29 `LIBVA_HEVC_DUMP_SLICE_TAIL`, iter30 `LIBVA_TS_SCALE`, iter33 `LIBVA_VP8_DUMP_FRAME`. Env-gated, no behavior change without env set. Could clean up to keep ship-ready source minimal. Or leave for future regression debugging.
|
||
2. α-26 cosmetic revert (`decode_params->short_term_ref_pic_set_size = picture->st_rps_bits` — mis-routed; rkvdec doesn't use). Could revert to 0 to match V4L2 spec semantics.
|
||
3. Libva multi-device probe — let auto-detect support both rkvdec and hantro in a single session, instead of requiring LIBVA_V4L2_REQUEST_VIDEO_PATH override per codec. Architectural change in libva backend.
|
||
|
||
### Campaign FINAL state
|
||
|
||
| Bug | Status | Fix |
|
||
|---|---|---|
|
||
| Bug 4 (H.264 keyframe-partial) | FIXED iter25 α-25 | rkvdec image_fmt pre-seed |
|
||
| Bug 5 (HEVC libva all-zero CAPTURE) | FIXED iter25 + iter31 | α-25 + α-29 (st_rps_bits to slice_params) |
|
||
| VP8 wrong output through libva | FIXED iter33 α-30 | prepend VP8 uncompressed header to OUTPUT |
|
||
| MPEG-2 HW differs from SW | NOT A BUG | hantro IDCT precision, libva==kdirect bit-exact |
|
||
| Kernel diagnostic printks | CLEANED iter32 + iter34 | 7.0-14 ship |
|
||
|
||
| Codec | libva 10F sha | kdirect 10F sha | SW 10F sha | L==K | L==SW |
|
||
|---|---|---|---|---|---|
|
||
| H.264 | dd4f5f2d552c07bc | same | same | ✓ | ✓ |
|
||
| HEVC | 108f925bb6cbb6c9 | same | same | ✓ | ✓ |
|
||
| VP9 | cf35908ae0f9ab60 | same | same | ✓ | ✓ |
|
||
| VP8 | d3231e5b6c0ee10b | same | same | ✓ | ✓ |
|
||
| MPEG-2| 95c5905890c937d4 | same | 933b744134e47ba4 | ✓ | ~ (≤1 LSB diff) |
|
||
|
||
**5/5 codecs PASS** the libva-vs-kdirect bit-exact contract. Campaign closed.
|