nx_h264_mb.nx
buildroot/runtime/nx_h264_mb.nx
about
nx_h264_mb.nx -- H.264 I-slice macroblock type layer (rung 4d, spec 7.3.5 / 7.4.5).
mb_type (ue) for an I slice:
0 = I_NxN (Intra_4x4 / Intra_8x8; needs pred-mode signalling + me(v) CBP)
1..24 = I_16x16 (prediction mode + coded_block_pattern derive ARITHMETICALLY)
25 = I_PCM
For I_16x16 (mt = mb_type-1, Table 7-11):
Intra16x16PredMode = mt % 4 (0 V, 1 H, 2 DC, 3 Plane)
CodedBlockPatternChroma = (mt / 4) % 3 (0,1,2)
CodedBlockPatternLuma = (mt / 12) * 15 (0 or 15)
mb_type itself = ue(v) via the already-gated nx_h264_bits reader.
genealogy_id: itu_t_h264_sec7_4_5_mb_pred + table7_11_i16x16
lineage_id: mb_type_classify + i16x16_arith_derive
license_tier: ORIGINAL
dependencies 2 imports · 10 importers
imports: nx_syscalls.nxnx_h264_bits.nx
imported by: nx_h264_bframe_walk.nxnx_h264_brecon.nxnx_h264_decode_frame.nxnx_h264_iframe.nxnx_h264_mb_gate.nxnx_h264_mv_recon_gate.nxnx_h264_pframe_recon.nxnx_h264_pframe_walk.nxnx_h264_pmvfield.nxnx_h264_slice_extract.nx
structs
| none |
consts
| 18 | const NX_MB_I_NXN: i64 = 0 |
| 19 | const NX_MB_I_16X16: i64 = 1 |
| 20 | const NX_MB_I_PCM: i64 = 2 |
functions
| 22 | func nx_h264_mb_type_class(mb_type: i64) -> i64 |
| 29 | func nx_h264_i16x16_derive(mb_type: i64, out: *i64) -> i64 |
| 38 | func nx_h264_mb_parse_itype(br: *BitReader) -> i64 |