h264: promote remaining intra prediction modes (17) to public API #27

Merged
marfrit merged 1 commits from noether/h264-intra-pred-rest-api into main 2026-05-25 13:43:56 +00:00
Owner

Follow-up to PR #26 (Intra_4x4) with the same promotion pattern for the rest of the intra prediction primitives:

  • Intra_16x16 luma (4 modes)
  • Intra_8x8 chroma (4 modes)
  • Intra_8x8 luma (9 modes — High profile, with 1-2-1 pre-filter)

3 file moves via git mv, ~17 function renames (drop _ref). Test binaries rewired to link daedalus_core. All 21 tests PASS via public symbols.

Total intra prediction modes now in public API: 26 (9 + 4 + 4 + 9).

Unblocks marfrit-packages substitution arc patch 0014 — wires H264PredContext's 4 pred tables (pred4x4 / pred16x16 / pred8x8 / pred8x8l) through daedalus. After that lands, EVERY hot-path pixel-math kernel of an H.264 8-bit 4:2:0 decode routes through daedalus — feature-complete substitution arc for the campaign target.

Follow-up to PR #26 (Intra_4x4) with the same promotion pattern for the rest of the intra prediction primitives: - Intra_16x16 luma (4 modes) - Intra_8x8 chroma (4 modes) - Intra_8x8 luma (9 modes — High profile, with 1-2-1 pre-filter) 3 file moves via `git mv`, ~17 function renames (drop `_ref`). Test binaries rewired to link daedalus_core. All 21 tests PASS via public symbols. **Total intra prediction modes now in public API: 26** (9 + 4 + 4 + 9). Unblocks marfrit-packages substitution arc patch 0014 — wires H264PredContext's 4 pred tables (pred4x4 / pred16x16 / pred8x8 / pred8x8l) through daedalus. After that lands, EVERY hot-path pixel-math kernel of an H.264 8-bit 4:2:0 decode routes through daedalus — feature-complete substitution arc for the campaign target.
marfrit added 1 commit 2026-05-25 13:37:48 +00:00
Follows PR #26 (Intra_4x4 luma) with the same promotion pattern for
the rest of the intra prediction primitive set:

  Intra_16x16 luma   (4 modes, PR #13) — V/H/DC/Plane
  Intra_8x8  chroma  (4 modes, PR #14) — DC/H/V/Plane (4:2:0)
  Intra_8x8  luma    (9 modes, PRs #21 + #22) — High profile,
                                                 with 1-2-1 pre-filter

3 file moves via `git mv`, ~17 function renames stripping the `_ref`
suffix.  Test binaries rewired to link daedalus_core instead of
compiling the (now moved) ref files directly.  No code change — pure
plumbing for substitution-arc consumers.

26 intra prediction modes total now in the public API after this PR.

Verified on hertz:

  test_intra_pred_16x16:    5/5  PASS
  test_intra_pred_chroma8x8: 5/5  PASS
  test_intra_pred_8x8_luma: 11/11 PASS

All via public symbols (test binaries linked against daedalus_core).

Unblocks marfrit-packages substitution arc patch 0014 — wires
H264PredContext.pred4x4[], pred16x16[], pred8x8[], pred8x8l[]
through daedalus alongside the existing IDCT / deblock / qpel / DC
Hadamard substitutions.

After 0014 lands, the libavcodec.so built by marfrit-packages will
have EVERY hot-path pixel-math kernel of an H.264 8-bit 4:2:0
decode routing through daedalus — the substitution arc is feature-
complete for the campaign target (Pi 5 Firefox YouTube playback).
marfrit merged commit 2faa849ce2 into main 2026-05-25 13:43:56 +00:00
marfrit deleted branch noether/h264-intra-pred-rest-api 2026-05-25 13:43:57 +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/daedalus-fourier#27