ffmpeg-v4l2-request-fourier: revert ctx flip — PR #36 was a measurement artifact (0015) #105
Reference in New Issue
Block a user
Delete Branch "claude-noether/marfrit-packages:noether/revert-h264-ctx-qpu-capable"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Reverts the
no_qpu → qpu-capablectx flip that landed via patch 0014 (PR #104). Pairs with daedalus-fourier!37.Why
PR #104 was justified by daedalus-fourier PR #36's
QPU 4.30× faster than CPU NEONbench result. That number was a measurement artifact.v3d_runner.read_spv()did a bare cwd-relativefopen()with no path search. The bench in PR #36 was run from the source dir, the SPVs at$builddir/v3d_*.spvwere not found, every QPU dispatch returned -1 fast, the bench loop ignored the rc and timed the failure path (~1–5 µs per iteration). That's where the suspiciously-uniform-around-10ns/op QPU numbers came from.daedalus-fourier PR #37 fixes the SPV search + bench preflight. Corrected numbers on hertz (Pi 5 V3D 7.1):
1080p sum: CPU 5.57 ms vs QPU 123.54 ms — QPU 22× SLOWER than CPU.
What
New patch
0015-h264-ctx-revert-to-no-qpu.patchis a 2-line revert of patch 0014 across both H.264 TUs (h264_idct_daedalus.c,h264_qpel_daedalus.c). Wired into arch PKGBUILD + debian build-deb.sh. Both pkgrel bumped 11 → 12.Until daedalus QPU dispatch overhead is actually competitive (multi-task effort on the daedalus-fourier side), libavcodec.so substitution must stay on
daedalus_ctx_create_no_qpu()so host processes (firefox-fourier RDD, mpv-fourier, daedalus_v4l2_daemon) don't pessimize their H.264 decode path.Note on alternatives
I considered just deleting patch 0014 outright vs. adding a 0015 that reverts it. Kept the additive-revert approach so the historical record stays intact (0014 + 0015 together = no net change; the commit messages on each carry the why).