ffmpeg-v4l2-request-fourier: route H.264 luma intra deblock through daedalus-fourier (0010) #99
Reference in New Issue
Block a user
Delete Branch "claude-noether/marfrit-packages:noether/h264-substitute-deblock-intra"
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?
Adds the bS=4 intra-strength variants of the already-substituted luma_v / luma_h deblock (0005, 0008). Intra MBs and certain inter-MB edges (4x4 transform boundaries inside Intra_NxN neighbours) force boundary strength to 4 per H.264 §8.7.2.1.
H264DSPContext.v_loop_filter_luma_intra→ daedalus dispatchH264DSPContext.h_loop_filter_luma_intra→ daedalus dispatchBoth kernels landed in daedalus-fourier PR #11. NEON-to-NEON via daedalus recipe (no intra QPU shaders yet).
Signature differs from bS<4: no tc0 — wrapper passes meta with alpha/beta set; tc0[] ignored by the intra dispatch (bS=4 hardcodes strength).
Chroma intra deferred to a follow-up because the chroma init has a 4:2:0 / 4:2:2 split (chroma_format_idc gating); the daedalus dispatch is 4:2:0-only and needs explicit conditional substitution. (This is also a latent concern for the 0009 chroma substitution — works fine for 4:2:0 YouTube streams; would be wrong for 4:2:2 content.)
Adds the bS=4 intra-strength variants of the already-substituted luma_v / luma_h deblock (0005, 0008). Intra MBs and certain inter-MB edges (4x4 transform boundaries inside an Intra_NxN neighbour) force boundary strength to 4 per H.264 §8.7.2.1. H264DSPContext.v_loop_filter_luma_intra → daedalus_recipe_dispatch_h264_deblock_luma_v_intra H264DSPContext.h_loop_filter_luma_intra → daedalus_recipe_dispatch_h264_deblock_luma_h_intra Both kernels landed in daedalus-fourier PR #11. Recipe → CPU NEON (no intra QPU shaders yet); plumbing-only NEON-to-NEON via daedalus. Signature differs from bS<4: no tc0 argument. Wrapper passes daedalus_h264_deblock_meta with alpha/beta set; tc0[] is ignored by the intra dispatch (bS=4 hardcodes the strength). Chroma intra variants are deferred to a follow-up because the chroma init has a 4:2:0 / 4:2:2 split (chroma_format_idc gating) — the daedalus dispatch is 4:2:0-only and needs explicit conditional substitution to avoid running on 4:2:2 chroma. Verified the patch applies cleanly on top of 0001-0009 against the pinned upstream commit b57fbbe5 on hertz.