eb60ecd224
Open ampere-vp9-enablement to enable VP9 hardware decode on RK3588 ampere (rkvdec / vdpu381 register layout). Sibling to ampere-kernel-decoders (closed at HEVC bit-perfect 2026-05-17 ~00:42). Phase 0 substrate locked: upstream status (Collabora roadmap, no series posted), legacy code reference (rkvdec-vp9.c 1042 lines, vdpu341), vdpu381 pattern reference (rkvdec-vdpu381-hevc.c, struct-based regs + common-file split), work-plan outline, open questions (chiefly: where is the vdpu381 VP9 register layout documented), risk register. Phase 1 (architectural plan + Sonnet review) next session. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
29 lines
1.8 KiB
Markdown
29 lines
1.8 KiB
Markdown
# ampere-vp9-enablement
|
|
|
|
Stand-alone port + upstream-targeting work to enable VP9 hardware decode on Rockchip RK3588's rkvdec (vdpu381 register layout).
|
|
|
|
## Status (2026-05-17 ~01:00)
|
|
|
|
Upstream RK3588 mainline rkvdec ([Casanova v7.0 series](https://www.collabora.com/news-and-blog/news-and-events/rk3588-and-rk3576-video-decoders-support-merged-in-the-upstream-linux-kernel.html), landed in Linux 7.0) supports **H.264 + HEVC only**. VP9 is on Collabora's stated roadmap but no WIP series has been posted to linux-media as of this campaign open. The legacy `rkvdec-vp9.c` (RK3399 / vdpu341 hardware) is feature-complete at 1042 lines but its register-config logic does not translate directly to vdpu381.
|
|
|
|
This campaign:
|
|
1. Ports VP9 enablement to vdpu381 register layout (new file `rkvdec-vdpu381-vp9.c`)
|
|
2. Registers VP9 V4L2 controls in `vdpu38x_vp9_ctrl_descs[]`
|
|
3. Adds VP9 fmt to `vdpu381_coded_fmts[]` with the new ops
|
|
4. Verifies bit-perfect HW vs SW decode (per [feedback_compare_hw_against_sw_reference](../../.claude/projects/-home-mfritsche-src-fresnel-fourier/memory/feedback_compare_hw_against_sw_reference.md))
|
|
5. Proposes upstream via linux-media
|
|
|
|
Sibling campaign: [ampere-kernel-decoders](https://git.reauktion.de/claude-noether/ampere-kernel-decoders) closed at HEVC bit-perfect (kernel-agent#14 + #15 are the prerequisite kernel fixes).
|
|
|
|
## Scope (out of)
|
|
|
|
- VP9 on RK3399 (works via legacy `rkvdec-vp9.c` already in mainline)
|
|
- VP9 on hantro (hantro decoder on RK3588 doesn't expose VP9; this campaign targets rkvdec)
|
|
- AV1 on RK3588 (separate work; AV1 is on hantro fdc70000 already + per Collabora)
|
|
- VP8 (already works via hantro)
|
|
- HEVC (closed in ampere-kernel-decoders)
|
|
|
|
## Process
|
|
|
|
8-phase loop (per ~/.claude/CLAUDE.md). All commits via `claude-noether` identity. Patches will be RFC-quality and routed via kernel-agent once ready.
|