code wiki / (root) / nx_mp4_es.nx

nx_mp4_es.nx

buildroot/runtime/nx_mp4_es.nx

3604 B84 linesdepth 4pulls 5 transitivereach 1 importersview sourcekind librarytopic mp4
docsdependenciesstructsconstsfunctions

about

nx_mp4_es.nx -- ISO-BMFF -> H.264 elementary-stream helpers, the mp4 counterpart of nx_ts_es.nx. WHY: the full mp4-to-pixels chain already existed inside nx_h264_decode_frame (proven FULL-FRAME Y+U+V BIT-EXACT vs ffmpeg on a real 45MB corpus recording), but it was reachable only through that one organ. In the corpus poster sweep the refusals were 386 unsupported_container vs 121 cabac_skipped, so the container share is the LARGER unblocked half and it needs no normative tables -- only a callable entry point. mes_find_tag -- locate a box by 4CC, returning the box start mes_spspps -- SPS/PPS from avcC, unescaped, ready for the h264 parsers mes_first_idr -- the first IDR NAL of sample 0, ready for nx_h264_decode_iframe license_tier: ORIGINAL

dependencies 4 imports · 1 importers

nx_syscalls.nx nx_mp4_demux.nx nx_mp4_stbl.nx nx_h264_nal.nx nx_mp4_es.nx nx_cam_poster.nx

imports: nx_syscalls.nxnx_mp4_demux.nxnx_mp4_stbl.nxnx_h264_nal.nx

imported by: nx_cam_poster.nx

structs

none

consts

16const MES_NALCAP: i64 = 256

functions

19func mes_find_tag(b: *u8, start: i64, end: i64, s: *u8) -> i64
called by 1: mes_spspps calls 1: mp4_t4
30func mes_spspps(b: *u8, len: i64, spsdst: *u8, ppsdst: *u8, spslen: *i64, ppslen: *i64) -> i64
50func mes_first_idr(b: *u8, len: i64, dst: *u8, cap: i64) -> i64