nx_h264_mvpred.nx
buildroot/runtime/nx_h264_mvpred.nx
about
nx_h264_mvpred.nx -- H.264 motion-vector prediction (spec 8.4.1.3 / 8.4.1.3.1).
The predicted MV mvp for a partition from its neighbours A(left) B(top) C(top-right; D=top-left
substitutes when C unavailable). mv = mvp + mvd. Unavailable neighbour: ref = -1, mv = (0,0).
rule (8.4.1.3.1): if exactly ONE of A,B,C has refIdxN == refIdx -> mvp = that mvN;
else mvp = component-wise MEDIAN(mvA,mvB,mvC).
availability sub: if B and C both unavailable but A available -> B := A, C := A.
directional (8.4.1.3): P_16x8 top->B / bottom->A ; P_8x16 left->A / right->C, when ref matches.
genealogy_id: itu_t_h264_sec8_4_1_3_mv_prediction
lineage_id: median_predictor + ref_match_special_case + directional_partition
license_tier: ORIGINAL
dependencies 1 imports · 3 importers
imports: nx_syscalls.nx
imported by: nx_h264_brecon.nxnx_h264_mvgrid.nxnx_h264_mvpred_gate.nx
structs
| none |
consts
| none |
functions
| 13 | func nx_mv_min3(a: i64, b: i64, c: i64) -> i64 called by 1: nx_mv_median |
| 19 | func nx_mv_max3(a: i64, b: i64, c: i64) -> i64 called by 1: nx_mv_median |
| 26 | func nx_mv_median(a: i64, b: i64, c: i64) -> i64 |
| 32 | func nx_h264_mvp(mvAx: i64, mvAy: i64, refA: i64, |
| 69 | func nx_h264_mvp_directional(part_shape: i64, part_idx: i64, |