nx_h264_deblock_gate.nx
buildroot/runtime/nx_h264_deblock_gate.nx
about
nx_h264_deblock_gate.nx -- REFEREE for the normal luma deblocking filter.
Hand-derived from the REAL MB edge (139|142, bS=3, QP=31):
alpha[31]=28, beta[31]=8, tc0[3][31]=3; ap=aq=0<beta -> tc=5;
delta=Clip3(-5,5,13>>3=1)=1 -> p0=140,q0=141; p1=140,q1=141.
line [139,139,139,139,142,142,142,142] -> [139,139,140,140,141,141,142,142]
Plus: a flat edge (all 142) -> unchanged (|p0-q0|=0, but filter runs; delta=0 -> no change).
And table anchors: alpha[31]=28, beta[31]=8, tc0(3,31)=3, alpha[16]=4.
NOTE 2026-06-17: beta table was CORRECTED (memorized values were wrong from qp>=22;
beta(31) is 8 not 9, ffmpeg h264_loopfilter.c verbatim). This corrected the full-frame
deblock to 100% bit-exact. Memorized deblock tables = unreliable, same lesson as VLC tables.
Every value PRINTED. stdout + knowledge/status/h264_deblock_gate.log. Exit 0/1.
Sovereign: nx_syscalls + nx_h264_deblock. license_tier: ORIGINAL
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_h264_deblock.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 16 | func gp(logfd: i64, s: *u8) -> i64 |
| 23 | func gn(logfd: i64, v: i64) -> i64 |
| 38 | func main() -> i64 |