ffmpeg-v4l2-request-fourier: export ff_h264_set_mb_inspect_cb (0016 amend, PKGREL 15)
The 0016 patch declared ff_h264_set_mb_inspect_cb in h264dec.h and defined it in h264_mb.c, but didn't touch libavcodec/libavcodec.v. FFmpeg's default version script exports only `av_*`, `avcodec_*`, `avpriv_*`, and `avsubtitle_free`; everything else is hidden as LOCAL behind a `*` glob. Result: `nm -D libavcodec.so.62 | grep ff_h264_set_mb_inspect_cb` returned nothing → dlsym() returned NULL. Static-link CLI consumer (daedalus_decode_h264) was unaffected because static linking doesn't care about symbol visibility. The daedalus-v4l2 daemon shadow_decoder path (PR-Q3a.1) dlopens libavcodec.so.62 and resolves the callback via dlsym — that needs the symbol exported. Fix: add ff_h264_set_mb_inspect_cb to the global list in libavcodec/libavcodec.v. Single-line addition to the 0016 patch. Mirrored across the arch/ + debian/ patch trees. PKGREL bump 14 → 15, changelog entry added (debian side). PKGBUILD pkgrel bumped on arch side too. No behaviour change to the decode path: the callback is still opt-in via the H264Context function pointer; only consumers that have explicitly installed a callback pay the one-load-one-branch cost per MB. dejavu-check: this is fixing the existing 0016 observation-hook to actually work as a dlsym intercept (the architectural shape the patch was designed for). NOT adding new per-kernel substitution. Same shape, same patch number, same intent. Just hiding/exporting plumbing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+4
-6
@@ -33,12 +33,10 @@ FFMPEG_VERSION=8.1
|
||||
# epoch 2 matches Debian's stock ffmpeg (currently 7:7.1.x in trixie);
|
||||
# +rfourier suffix to avoid colliding with upstream/Debian rebuilds.
|
||||
PKGVER=2:${FFMPEG_VERSION}+rfourier+gb57fbbe
|
||||
PKGREL=14 # pkgrel=14 — per-MB coefficient side buffer (0017) extending 0016 for daedalus-decoder CLI IDCT validation; observation-only, no behaviour change to existing decode path
|
||||
# (cycle 9 of the daedalus-v4l2#11 step 2 substitution arc; closes
|
||||
# the libavcodec.so substitution sequence 6 IDCT4 / 7 IDCT8 /
|
||||
# 8 luma-v deblock / 9 qpel mc20). Pulls daedalus-fourier PR #2
|
||||
# which extends the public API with
|
||||
# daedalus_recipe_dispatch_h264_qpel_mc20. (2026-05-23)
|
||||
PKGREL=15 # pkgrel=15 — export ff_h264_set_mb_inspect_cb via libavcodec.v so
|
||||
# dlsym consumers (daedalus-v4l2 daemon shadow_decoder, PR-Q3a.1)
|
||||
# can resolve the symbol; static-link CLI was unaffected. No
|
||||
# behaviour change to existing decode path. (2026-05-26)
|
||||
|
||||
# daedalus-fourier pin. 209a421 = daedalus-fourier PR #2 merge — public
|
||||
# API now exposes daedalus_recipe_dispatch_h264_qpel_mc20 +
|
||||
|
||||
Reference in New Issue
Block a user