nx_h264_pframe_recon.nx
buildroot/runtime/nx_h264_pframe_recon.nx
about
nx_h264_pframe_recon.nx -- P-R4b: pixel-exact LUMA reconstruction of frame 1 (inter content).
Uses frame 0's PRE-deblock luma plane as the reference (ref_frame0.yuv -- proven byte-exact
equal to nx_h264_decode_frame's pre-deblock recon), reconstructs every SKIP + INTER macroblock by
motion-compensating each 4x4 block from the reference (per-4x4 MV from the grid) and adding the decoded
residual (inv-zigzag -> dequant -> 4x4 IDCT -> add+clip), then compares to ffmpeg's frame-1 PRE-deblock
luma (ref_frame1_nodeblock.yuv). Both sides skip deblocking, isolating MC+residual from the loop filter.
Intra-in-P macroblocks (179) are decoded for entropy sync but EXCLUDED from the pixel count (P-R4b-2).
Exit 0/1. Log knowledge/status/h264_pframe_recon.log. license_tier: ORIGINAL
dependencies 27 imports · 0 importers
diagram shows first 10 each side; +17 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_nc.nxnx_h264_pmb.nxnx_h264_mvgrid.nxnx_h264_idct.nxnx_h264_dequant.nxnx_h264_zigzag.nxnx_h264_hadamard.nxnx_h264_intra16.nxnx_h264_intra.nxnx_h264_intra_recon.nxnx_h264_chroma.nxnx_h264_chroma_pred.nxnx_h264_deblock.nxnx_h264_mc_luma.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 37 | func gp(fd: i64, s: *u8) -> i64 |
| 43 | func gn(fd: i64, v: i64) -> i64 |
| 54 | func find_tag(b: *u8, start: i64, end: i64, s: *u8) -> i64 |
| 59 | func dec_luma(br: *BitReader, lumaTC: *i64, lbW: i64, bx: i64, by: i64, maxc: i64, coeff: *i64) -> i64 |
| 71 | func dec_cac(br: *BitReader, cTC: *i64, cbW: i64, cbx: i64, cby: i64, coeff: *i64) -> i64 |
| 83 | func read_ref(sbr: *BitReader, num_ref: i64) -> i64 |
| 90 | func recon_inter_4x4(myY: *u8, W: i64, ref: *u8, Wr: i64, Hr: i64, bpx: i64, bpy: i64, called by 1: main calls 6: sys_mmapasrnx_h264_mc_luma_samplenx_h264_inv_zigzag4x4nx_h264_dequant4x4nx_idct4x4 |
| 135 | func cclamp(v: i64, hi: i64) -> i64 { if v < 0 { return 0 } if v > hi { return hi } return v } called by 1: chroma_mc_sample |
| 137 | func chroma_mc_sample(refC: *u8, cW: i64, cH: i64, cx: i64, cy: i64, mvx: i64, mvy: i64) -> i64 |
| 155 | func recon_chroma_inter_mb(myC: *u8, refC: *u8, cW: i64, cH: i64, mbX: i64, mbY: i64, |
| 216 | func recon_chroma_intra_mb(myC: *u8, cW: i64, cH: i64, mbX: i64, mbY: i64, mode: i64, |
| 289 | func p_bs(gref: *i64, gmvx: *i64, gmvy: *i64, lumaTC: *i64, pblk: i64, qblk: i64, mbBoundary: i64) -> i64 |
| 305 | func deblock_luma_p(yf: *u8, W: i64, mbW: i64, mbH: i64, mbQP: *i64, |
| 402 | func cqp(lumaQP: i64, cqio: i64) -> i64 |
| 412 | func deblock_chroma_p(myC: *u8, cW: i64, cH: i64, mbW: i64, mbH: i64, mbQP: *i64, |
| 495 | func main() -> i64 |