code wiki / (root) / nx_h264_slice_extract.nx

nx_h264_slice_extract.nx

buildroot/runtime/nx_h264_slice_extract.nx

17486 B339 linesdepth 5pulls 23 transitivereach 0 importersview sourcekind tooltopic h264
docsdependenciesstructsconstsfunctions

about

nx_h264_slice_extract.nx -- locate + parse a REAL coded slice from realtest.mp4. Chains the whole stack on real bytes: avcC -> SPS+PPS params; video stbl -> stco[0]/stsz[0] -> sample 0 file offset+size; AVCC NAL-split that sample; find the slice NAL; parse its slice header with the real SPS/PPS context. This is the bridge from "front-end parses config" to "we are holding a real coded macroblock slice" -- the input CAVLC will decode. license_tier: ORIGINAL

dependencies 18 imports · 0 importers

nx_syscalls.nx nx_mp4_demux.nx nx_mp4_stbl.nx nx_h264_bits.nx nx_h264_sps.nx nx_h264_pps.nx nx_h264_nal.nx nx_h264_slice.nx nx_h264_mb.nx nx_h264_mb_pred.nx nx_h264_slice_extract.nx

diagram shows first 10 each side; +8 more imports, +0 more importers in the complete lists below.

imports: nx_syscalls.nxnx_mp4_demux.nxnx_mp4_stbl.nxnx_h264_bits.nxnx_h264_sps.nxnx_h264_pps.nxnx_h264_nal.nxnx_h264_slice.nxnx_h264_mb.nxnx_h264_mb_pred.nxnx_h264_coeff_token.nxnx_h264_cavlc_level.nxnx_h264_residual.nxnx_h264_zigzag.nxnx_h264_hadamard.nxnx_h264_idct.nxnx_h264_intra16.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

main sys_mmap sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close gp sys_write find_tag mp4_t4 nx_h264_unescape_rbsp nx_h264_parse_sps sys_mmap ↻ br_init sys_mmap ↻ br_read_bits br_read_bit br_read_ue br_read_bit ↻ br_read_bits ↻ nx_h264_is_high br_read_se br_read_ue ↻ nx_h264_parse_pps sys_mmap ↻ br_init ↻ br_read_ue ↻ br_read_bits ↻ br_read_se ↻ gn sys_mmap ↻ sys_write ↻ nx_mp4_video_info sys_mmap ↻ mp4_find_box mp4_be32 mp4_be64 mp4_t4 ↻

structs

none

consts

none

functions

27func gp(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
28func gn(v: i64) -> i64
called by 1: main calls 2: sys_mmapsys_write
41func find_tag(b: *u8, start: i64, end: i64, s: *u8) -> i64
called by 1: main calls 1: mp4_t4
47func main() -> i64