code wiki / (root) / nx_bitstream.nx

nx_bitstream.nx

buildroot/runtime/nx_bitstream.nx

10686 B312 linesdepth 3pulls 3 transitivereach 512 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_bitstream.nx -- bit-level reader for packed-binary formats. The foundation primitive that every bit-packed format decoder composes against: - DEFLATE (RFC 1951) -- LSB-first - GIF LZW -- LSB-first - JPEG Huffman segments -- MSB-first - FLAC / Vorbis / Opus -- MSB-first - VP8 / VP9 -- mixed (arithmetic + raw) - MP3 / AAC -- MSB-first Two-variant API: read_lsb_first vs read_msb_first. Caller picks per spec. Both share the same backing byte buffer + bit cursor. genealogy_id: substrate_format_decoders_foundation_2026_05_16 lineage_id: bitstream_v1

dependencies 3 imports · 24 importers

nx_syscalls.nx nx_runtime.nx nx_tier.nx nx_bitstream.nx nx_av1_ec.nx nx_av1_ec_gate.nx nx_av1_frame.nx nx_av1_frame_gate.nx nx_av1_obu.nx nx_av1_obu_gate.nx nx_av1_seq.nx nx_av1_seq_gate.nx nx_av1_tile.nx nx_av1_tile_gate.nx

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

imports: nx_syscalls.nxnx_runtime.nxnx_tier.nx

imported by: nx_av1_ec.nxnx_av1_ec_gate.nxnx_av1_frame.nxnx_av1_frame_gate.nxnx_av1_obu.nxnx_av1_obu_gate.nxnx_av1_seq.nxnx_av1_seq_gate.nxnx_av1_tile.nxnx_av1_tile_gate.nxnx_bitstream_kat.nxnx_deflate.nxnx_flac.nxnx_flac_frame.nxnx_flac_frame_gate.nxnx_flac_gate.nxnx_huffman.nxnx_huffman_kat.nxnx_jpeg_decoder.nxnx_webp.nxnx_webp_huff.nxnx_webp_huff_gate.nxnx_webp_vp8l.nxnx_webp_vp8l_gate.nx

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

main sys_mmap nx_bitstream_alloc sys_mmap ↻ nx_bitstream_bits_remainin nx_bitstream_read_lsb nx_bitstream_bits_remainin ↻ _bs_peek_byte nx_bitstream_read_msb nx_bitstream_bits_remainin ↻ _bs_peek_byte ↻ nx_bitstream_peek_lsb nx_bitstream_read_lsb ↻ nx_bitstream_byte_align nx_bitstream_skip_bits nx_bitstream_bits_remainin ↻ nx_bitstream_read_byte_ali nx_bitstream_byte_align ↻

structs

31struct NxBitStream

consts

27const NX_MAGIC_61185: i64 = 61185
39const NX_BS_BYTES: nx_size = 40

functions

43func nx_bitstream_alloc(data: *u8, size: nx_int) -> *NxBitStream
57func nx_bitstream_bits_remaining(bs: *NxBitStream) -> nx_int
66func _bs_peek_byte(bs: *NxBitStream, offset: nx_int) -> nx_int
92func nx_bitstream_read_lsb(bs: *NxBitStream, n_bits: nx_int) -> nx_int
129func nx_bitstream_read_msb(bs: *NxBitStream, n_bits: nx_int) -> nx_int
165func nx_bitstream_peek_lsb(bs: *NxBitStream, n_bits: nx_int) -> nx_int
called by 2: mainmain calls 1: nx_bitstream_read_lsb
176func nx_bitstream_peek_msb(bs: *NxBitStream, n_bits: nx_int) -> nx_int
189func nx_bitstream_byte_align(bs: *NxBitStream) -> nx_int
199func nx_bitstream_skip_bits(bs: *NxBitStream, n_bits: nx_int) -> nx_int
216func nx_bitstream_read_byte_aligned(bs: *NxBitStream) -> nx_int
229func main() -> nx_int