nx_h264_residual_gate.nx source
↩ module page · 81 lines · 3576 B
1// nx_h264_residual_gate.nx -- SOVEREIGN round-trip oracle for the CAVLC residual
2// 4x4 assembler (rung 4c-v). Build known scan-order coefficient blocks, encode,
3// decode, recover exactly. Covers (within filled VLC subsets): trailing-one
4// signs, first-level +2 offset, total_zeros, placement.
5// B1 coeff[3]=1 B2 coeff[3]=-1 B3 coeff[0]=5 B4 coeff[2]=3 B5 coeff[15]=1
6// B6 all-zero (TotalCoeff 0)
7// Every value PRINTED. stdout + knowledge/status/h264_residual_gate.log. Exit 0/1.
8// Sovereign: nx_syscalls + (bits,bitwriter,cavlc_level,cavlc_enc,coeff_token,total_zeros,run_before,residual).
9// license_tier: ORIGINAL
10import "nx_syscalls.nx"
11import "nx_h264_bits.nx"
12import "nx_h264_bitwriter.nx"
13import "nx_h264_residual.nx"
14
15func gp(logfd: i64, s: *u8) -> i64 {
16 var n: i64 = 0
17 while s[n] != (0 as u8) { n = n + 1 }
18 sys_write(1, s, n)
19 if logfd > 0 { sys_write(logfd, s, n) }
20 return 0
21}
22func gn(logfd: i64, v: i64) -> i64 {
23 let bb: *u8 = sys_mmap(28)
24 var m: i64 = v
25 if m < 0 { sys_write(1, "-\x00" as *u8, 1); if logfd > 0 { sys_write(logfd, "-\x00" as *u8, 1) } m = 0 - m }
26 let t: *u8 = sys_mmap(28)
27 var k: i64 = 0
28 if m == 0 { t[0] = 48 as u8; k = 1 }
29 while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 }
30 var i: i64 = 0
31 while i < k { bb[i] = t[k - 1 - i]; i = i + 1 }
32 sys_write(1, bb, k)
33 if logfd > 0 { sys_write(logfd, bb, k) }
34 return 0
35}
36
37// round-trip one block: src[16] -> encode -> decode -> compare. returns 1 ok.
38func rt(logfd: i64, src: *i64, label: *u8) -> i64 {
39 let buf: *u8 = sys_mmap(32)
40 let bw: *BitWriter = sys_mmap(NX_BW_BYTES) as *BitWriter
41 bw_init(bw, buf, 32)
42 let etc: i64 = nx_h264_residual_encode(bw, src, 16, 0)
43 let br: *BitReader = sys_mmap(NX_BR_BYTES) as *BitReader
44 br_init(br, buf, 32)
45 let dec: *i64 = sys_mmap(16 * 8) as *i64
46 let dtc: i64 = nx_h264_residual_decode(br, 16, 0, dec)
47 var good: i64 = 1
48 if dtc != etc { good = 0 }
49 var i: i64 = 0
50 while i < 16 { if dec[i] != src[i] { good = 0 } i = i + 1 }
51 gp(logfd, label); gp(logfd, " enc_tc=\x00" as *u8); gn(logfd, etc); gp(logfd, " dec_tc=\x00" as *u8); gn(logfd, dtc)
52 if good == 1 { gp(logfd, " ROUND-TRIP-OK\n\x00" as *u8) }
53 if good == 0 { gp(logfd, " MISMATCH\n\x00" as *u8) }
54 return good
55}
56func zero16(d: *i64) -> i64 { var i: i64 = 0; while i < 16 { d[i] = 0; i = i + 1 } return 0 }
57
58func main() -> i64 {
59 let logfd: i64 = sys_openat_append("knowledge/status/h264_residual_gate.log\x00" as *u8, 0x1a4)
60 gp(logfd, "H264-RESIDUAL-GATE (rung 4c-v, sovereign round-trip)\n\x00" as *u8)
61 var ok: i64 = 1
62 let b: *i64 = sys_mmap(16 * 8) as *i64
63
64 zero16(b); b[3] = 1; if rt(logfd, b, " B1 [3]=1 \x00" as *u8) != 1 { ok = 0 }
65 zero16(b); b[3] = 0 - 1; if rt(logfd, b, " B2 [3]=-1 \x00" as *u8) != 1 { ok = 0 }
66 zero16(b); b[0] = 5; if rt(logfd, b, " B3 [0]=5 \x00" as *u8) != 1 { ok = 0 }
67 zero16(b); b[2] = 3; if rt(logfd, b, " B4 [2]=3 \x00" as *u8) != 1 { ok = 0 }
68 zero16(b); b[15] = 1; if rt(logfd, b, " B5 [15]=1 \x00" as *u8) != 1 { ok = 0 }
69 zero16(b); if rt(logfd, b, " B6 allzero\x00" as *u8) != 1 { ok = 0 }
70
71 if ok == 1 {
72 gp(logfd, "H264-RESIDUAL-GATE result=ALL-PASS verdict=GREEN\n\x00" as *u8)
73 if logfd > 0 { sys_close(logfd) }
74 sys_exit(0)
75 return 0
76 }
77 gp(logfd, "H264-RESIDUAL-GATE result=FAIL verdict=RED\n\x00" as *u8)
78 if logfd > 0 { sys_close(logfd) }
79 sys_exit(1)
80 return 1
81}