Companion to 0016 (PR #106). Adds a coefficient side buffer in
H264Context, populated at the start of ff_h264_hl_decode_mb with a
single memcpy from sl->mb BEFORE IDCT-add zeros it. The existing
post-pixel-work callback (still in 0016) can now read:
- h->mb_inspect_coeffs = pre-IDCT coefficients (this patch)
- h->cur_pic.f->data = post-pixel-work pre-deblock reconstruction
and derive P = pixels − IDCT(C) for daedalus-decoder's frame-major
dispatch in PR-A3+.
Memcpy gated on (h->mb_inspect_cb != NULL). Zero cost when no
consumer is registered. Side buffer = 16 * 48 int16 = 1536 bytes
(matches the 8-bit half of sl->mb's int16_t[16 * 48 * 2] declared
size; high-bit-depth uses the upper half — not preserved here since
the daedalus-decoder consumer is 8-bit-only).
Single-threaded decode assumed at the consumer side
(avctx->thread_count = 1). Multi-slice / multi-threaded streams
would race on the single side buffer — explicit limitation of the
inspection mechanism, future extension would put per-slice buffers
in H264SliceContext.
Verified: patches 0016 + 0017 apply cleanly and build in sequence
against the Kwiboo v4l2-request-n8.1 fork at the pinned commit
b57fbbe5. ff_h264_set_mb_inspect_cb symbol exported as before.
Wired into arch PKGBUILD + debian build-deb.sh patch sequence.
pkgrel bumped 13 → 14.
Refs reauktion/daedalus-decoder!14 (PR-A2 callback wiring complete,
PR-A3 coefficient extraction is the next consumer).