code wiki / (root) / nx_h264_cabac_mb_gate.nx

nx_h264_cabac_mb_gate.nx

buildroot/runtime/nx_h264_cabac_mb_gate.nx

7598 B163 linesdepth 4pulls 6 transitivereach 0 importersview sourcekind gate/prooftopic h264
docsdependenciesstructsconstsfunctions

about

nx_h264_cabac_mb_gate.nx -- teeth for the I-slice macroblock syntax layer. The STRONGEST thing provable here without a CABAC encoder is an EXHAUSTIVE round-trip over the whole mb_type space: every I_16x16 mb_type must decompose into (predMode, cbpChroma, cbpLuma) and recompose to itself. That validates the Table 9-36 field packing exactly -- which is the part most likely to be silently wrong -- across all 24 values, not a sample. Range teeth on the bitstream-driven readers prove they cannot emit an illegal symbol. Spec conformance of the BIN ORDER still needs a real stream; not claimed here.

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_h264_cabac.nx nx_h264_cabac_mb.nx nx_gate_verdict.nx nx_h264_cabac_mb_gate.nx

imports: nx_syscalls.nxnx_h264_cabac.nxnx_h264_cabac_mb.nxnx_gate_verdict.nx

imported by: nobody (leaf or entry point)

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

main sys_mmap cab_load_tables cab_parse_nums cmb_i16_predmode cmb_is_i16x16 cmb_i16_cbpchroma cmb_is_i16x16 ↻ cmb_i16_cbpluma cmb_is_i16x16 ↻ gw sys_write gn sys_mmap ↻ sys_write ↻ cmb_is_i16x16 ↻ cab_init cab_bit cmb_rem_i4 cab_decision cab_renorm cab_bit ↻ cmb_chroma_pred cab_decision ↻ cmb_cbp_luma cab_decision ↻ cmb_cbp_chroma cab_decision ↻ cmb_mbtype_i cab_decision ↻ cab_terminate cab_renorm ↻ cmb_sig_base cmb_sig_catoff cmb_last_base cmb_sig_catoff ↻ cmb_abs_base cmb_abs_catoff cmb_cat_maxcoeff cmb_coded_block_flag

structs

none

consts

none

functions

14func gw(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 1: main calls 1: sys_write
15func gn(v: i64) -> i64
called by 1: main calls 2: sys_mmapsys_write
29func main(argc: i64, argv: *i64) -> i64