code wiki / (root) / nx_h264_fdct_gate.nx

nx_h264_fdct_gate.nx

buildroot/runtime/nx_h264_fdct_gate.nx

4035 B64 linesdepth 4pulls 6 transitivereach 0 importersview sourcekind gate/prooftopic h264
docsdependenciesstructsconstsfunctions

about

nx_h264_fdct_gate.nx -- SOVEREIGN gate for the H.264 forward transform + quant (the encoder core, R6). Proof = CROSS-VALIDATION against the already-proven decode-side inverse: residual X --fdct--> --fquant(qp)--> levels --nx_h264_dequant--> --nx_idct4x4--> X'. If the forward pair matches the spec (and the inverse), X' reconstructs X within the quantization error. Plus a known-vector: a FLAT residual must transform to DC-only. Every number PRINTED (no overclaim). GREEN iff flat->DC-only AND the fine-quant (qp6) round-trip is faithful. license_tier: ORIGINAL

dependencies 5 imports · 0 importers

nx_syscalls.nx nx_h264_fdct.nx nx_h264_dequant.nx nx_h264_idct.nx nx_h264_zigzag.nx nx_h264_fdct_gate.nx

imports: nx_syscalls.nxnx_h264_fdct.nxnx_h264_dequant.nxnx_h264_idct.nxnx_h264_zigzag.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main g_puts sys_write sys_mmap nx_h264_fdct4x4 sys_mmap ↻ g_num sys_mmap ↻ sys_write ↻ rt sys_mmap ↻ nx_h264_fdct4x4 ↻ nx_h264_fquant4x4 nx_dq_posclass nx_h264_fq_mf sys_mmap ↻ nx_h264_dequant4x4 nx_dq_posclass ↻ nx_dq_normadjust nx_idct4x4 sys_mmap ↻ nx_idct4x4_s asr iabs g_puts ↻ g_num ↻ nx_h264_fwd_zigzag4x4 sys_mmap ↻ nx_h264_inv_zigzag4x4 sys_mmap ↻ sys_exit

structs

none

consts

none

functions

13func g_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 2: rtmain calls 1: sys_write
14func g_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,"-" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=(48 as u8);k=1}; while m>0{t[k]=((48+(m%10)) as u8);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }
called by 2: rtmain calls 2: sys_mmapsys_write
15func iabs(v: i64) -> i64 { if v<0 { return 0-v } return v }
called by 1: rt
18func rt(X: *i64, qp: i64) -> i64
30func main() -> i64