ffmpeg-v4l2-request-fourier: route H.264 luma-h deblock through daedalus-fourier (0008) #97

Merged
marfrit merged 1 commits from claude-noether/marfrit-packages:noether/h264-substitute-deblock-luma-h into main 2026-05-25 11:14:28 +00:00
Owner

First substitution-arc extension since the daedalus-fourier H.264 primitive matrix completed. Mirror of 0005's V variant: replaces c->h_loop_filter_luma = ff_h264_h_loop_filter_luma_neon with the daedalus-routed wrapper.

The H kernel landed in daedalus-fourier PR #9 (vendored NEON, recipe→CPU). NEON-to-NEON substitution via the daedalus recipe layer; libavcodec.so ctx remains no-QPU.

Verified the patch applies cleanly on top of 0001-0007 against the pinned upstream commit b57fbbe5 on hertz. Wires into both arch/PKGBUILD and debian/build-deb.sh.

Intra (bS=4) h_loop_filter_luma_intra stays NEON for now; intra-h substitution can land once daedalus-fourier exposes a public intra dispatch (kernel already exists internally per fourier PR #11).

Suggested follow-ups in the substitution arc (now that the fourier primitive matrix is complete):

  • 0009: chroma_v / chroma_h deblock (fourier PR #10)
  • 0010: bS=4 intra deblock variants (fourier PR #11; needs internal dispatch exposure)
  • 0011: chroma DC Hadamard pre-pass (fourier PR #23)
  • 0012-0015: qpel mc02/22/quarter-axis/diagonals + avg_ variants (fourier PRs #15-#20)
  • intra prediction primitives via dispatch-helpers (fourier PRs #12-#14, #21, #22 — currently only in tests/, need API exposure)
First substitution-arc extension since the daedalus-fourier H.264 primitive matrix completed. Mirror of 0005's V variant: replaces `c->h_loop_filter_luma = ff_h264_h_loop_filter_luma_neon` with the daedalus-routed wrapper. The H kernel landed in daedalus-fourier PR #9 (vendored NEON, recipe→CPU). NEON-to-NEON substitution via the daedalus recipe layer; libavcodec.so ctx remains no-QPU. Verified the patch applies cleanly on top of 0001-0007 against the pinned upstream commit b57fbbe5 on hertz. Wires into both arch/PKGBUILD and debian/build-deb.sh. Intra (bS=4) h_loop_filter_luma_intra stays NEON for now; intra-h substitution can land once daedalus-fourier exposes a public intra dispatch (kernel already exists internally per fourier PR #11). **Suggested follow-ups in the substitution arc** (now that the fourier primitive matrix is complete): - 0009: chroma_v / chroma_h deblock (fourier PR #10) - 0010: bS=4 intra deblock variants (fourier PR #11; needs internal dispatch exposure) - 0011: chroma DC Hadamard pre-pass (fourier PR #23) - 0012-0015: qpel mc02/22/quarter-axis/diagonals + avg_ variants (fourier PRs #15-#20) - intra prediction primitives via dispatch-helpers (fourier PRs #12-#14, #21, #22 — currently only in tests/, need API exposure)
marfrit added 1 commit 2026-05-25 11:10:31 +00:00
Adds patch 0008 to the substitution arc, mirroring 0005's V variant
for H.264 non-intra bS<4 horizontal luma deblock.

  H264DSPContext.h_loop_filter_luma →
    daedalus_recipe_dispatch_h264_deblock_luma_h

The H kernel was added to daedalus-fourier in PR #9 (vendored
ff_h264_h_loop_filter_luma_neon, wired through the same CPU-dispatch
pattern as V).  Recipe table routes AUTO to CPU NEON (no QPU shader
for H yet), so this is a NEON-to-NEON substitution via the daedalus
recipe layer — same shape as 0005.

The libavcodec.so ctx remains no-QPU (daedalus_ctx_create_no_qpu),
matching the existing 0003/0004/0005/0007 patches.  Higher-cycle
QPU init waits for a feature-flag gating change in a separate PR.

Intra (bS=4) h_loop_filter_luma_intra stays on the in-tree NEON .S
code; daedalus_h264_deblock_meta covers the non-intra path only.
A follow-up can route intra once daedalus-fourier exposes the
intra-h dispatch (the kernel already exists internally per fourier
PR #11).

Wires the new patch into both arch/PKGBUILD and debian/build-deb.sh
sequences.  Verified the patch applies cleanly on top of 0001-0007
against the pinned upstream commit b57fbbe5 on hertz.
marfrit merged commit 5b48d1c743 into main 2026-05-25 11:14:28 +00:00
marfrit deleted branch noether/h264-substitute-deblock-luma-h 2026-05-25 11:14:28 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marfrit/marfrit-packages#97