code wiki / _hdl_build / nx_reader_page_prep.nx

nx_reader_page_prep.nx

buildroot/runtime/_hdl_build/nx_reader_page_prep.nx

2698 B41 linesdepth 11pulls 58 transitivereach 0 importersview sourcekind tooltopic reader
docsdependenciesstructsconstsfunctions

about

nx_reader_page_prep.nx -- one-shot per-page PREP for the intelligent-zoom reader: compose the two gated libs (nx_reader_tile rt_emit = DZI-style tile pyramid; nx_reader_panels rp_emit = guided-view panel rects) so ONE fork produces <outdir>/dz.json + <outdir>/<level>/<col>_<row>.jpg + <outdir>/panels.json for a page image. The reader daemon forks this per page (mmaps die with the child), exactly the nx_galx_thumb deploy contract. usage: nx_reader_page_prep <src.jpg|png> <outdir> [rtl=1] [tilesize=512] exit: 0 ok (tiles>0; panels may honestly be 0 -> viewer falls back to whole-page zoom) 1 bad args ; 2 tile emit failed ; 3 panel emit failed (read/decode) license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_itoa_lib.nx nx_reader_tile.nx nx_reader_panels.nx nx_reader_page_prep.nx

imports: nx_syscalls.nxnx_itoa_lib.nxnx_reader_tile.nxnx_reader_panels.nx

imported by: nobody (leaf or entry point)

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

main pp_w sys_write sys_exit pp_atoi rt_emit sys_mmap sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close nx_img_bytes_to_rgb sys_mmap ↻ nx_jpeg_decode_rgb sys_mmap ↻ nx_jpeg_dec_ctx_init sys_mmap ↻ _jpeg_ascii_probe_sof sys_mmap ↻ nx_jpeg_seg_init nx_jpeg_seg_next nx_jpeg_classify_marker nx_jpeg_marker_is_lengthle nx_jpeg_sof_parse nx_jpeg_is_progressive prog_be16 nx_jpeg_prog_decode sys_mmap ↻ prog_be16 ↻ nx_jpeg_dqt_parse nx_jpeg_dht_parse nx_jpeg_dht_build_decode_t nx_jpeg_sos_parse prog_next_marker prog_scan sys_mmap ↻ nx_jpeg_huff_decode_symbol nx_jpeg_ent_extend

structs

none

consts

none

functions

14func pp_w(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
19func pp_n(v: i64) -> i64 { nxi_out(v); return 0 }
called by 1: main calls 1: nxi_out
20func pp_atoi(s: *u8) -> i64 { var v: i64 = 0; var i: i64 = 0; while s[i] != (0 as u8) { let c: i64 = s[i] as i64; if c < 48 { return v } if c > 57 { return v } v = v * 10 + (c - 48); i = i + 1 } return v }
called by 1: main
22func main(argc: i64, argv: *i64) -> i64