code wiki / (root) / nx_h264_mvgrid.nx

nx_h264_mvgrid.nx

buildroot/runtime/nx_h264_mvgrid.nx

4847 B93 linesdepth 3pulls 3 transitivereach 5 importersview sourcekind librarytopic h264
docsdependenciesstructsconstsfunctions

about

nx_h264_mvgrid.nx -- H.264 per-4x4 motion-vector grid + neighbour gathering (8.4.1.3). Maintains three parallel grids over the whole picture (lbW x lbH 4x4 blocks): gref[idx] : reference index of the block. -2 == NOT-YET-DECODED or out-of-picture (geometrically unavailable -> triggers D-substitution for the C neighbour); -1 == DECODED but intra (available, refIdxN=-1, mvN=0); >=0 == inter reference index. Distinguishing -2 from -1 matters only for sub-partition (8x8) neighbours whose top-right may be undecoded. gmvx/gmvy : the block's L0 motion vector (quarter-pel units). Gathering A(left)/B(top)/C(top-right; D=top-left substitutes when C unavailable) for a partition then calling the median/directional predictor (nx_h264_mvp / _directional). Reusable by the P-frame reconstructor. genealogy_id: itu_t_h264_sec8_4_1_3_mvgrid license_tier: ORIGINAL

dependencies 2 imports · 4 importers

nx_syscalls.nx nx_h264_mvpred.nx nx_h264_mvgrid.nx nx_h264_brecon.nx nx_h264_mv_recon_gate.nx nx_h264_pframe_recon.nx nx_h264_pmvfield.nx

imports: nx_syscalls.nxnx_h264_mvpred.nx

imported by: nx_h264_brecon.nxnx_h264_mv_recon_gate.nxnx_h264_pframe_recon.nxnx_h264_pmvfield.nx

structs

none

consts

none

functions

15func nx_mvg_get(gref: *i64, gmvx: *i64, gmvy: *i64, lbW: i64, lbH: i64, bx: i64, by: i64, out: *i64) -> i64
28func nx_mvg_fill(gref: *i64, gmvx: *i64, gmvy: *i64, lbW: i64,
47func nx_mvg_part_mvp(gref: *i64, gmvx: *i64, gmvy: *i64, lbW: i64, lbH: i64,
77func nx_mvg_skip_mv(gref: *i64, gmvx: *i64, gmvy: *i64, lbW: i64, lbH: i64,