P2: level-tracker UPDATE-loop located (inline bidirectional IIR in FUN_180529fe0), structural module leveltrack (iir_first_order/bidirectional/unrolled4); scalar==unrolled verified; remaining = live A[] coeffs
This commit is contained in:
+17
-1
@@ -534,7 +534,23 @@ getFunctionContaining(0x52ac64) and has the complete per-band loop + FFT-conv).
|
||||
|
||||
### Next: (1) hammer the residual -0.6 dB on dual 500Hz cases (structural); (2) multi-band combos (band>=2); (3) C++ port.
|
||||
|
||||
## ============ 2026-08-19 (continuation): LEVEL-PATH DECOMPILED — FUN_180563440 + FUN_180563ce0 ============
|
||||
## ============ UPDATE 2026-08-19f: LEVEL-TRACKER UPDATE-LOOP LOCATED (structural) ============
|
||||
The UPDATE loop is NOT a separate function — it is the inline bidirectional IIR smoothing
|
||||
inside FUN_180529fe0 per-band loop (consumers_out.txt). Three first-order IIR stages:
|
||||
- (a) FUN_18052d650(state 0x440518, out 0x5406f8, in 0x540678[band]) — outer smoother
|
||||
- (b) inline: coeff-A array 0x4c0528, scalar-acc state 0x540528, mask src/dst 0x5406f8 (count iVar19)
|
||||
- (c) inline: coeff-A array 0x3c0510 / 0x2c04f8, acc 0x440510 / 0x3404f8+0x2404e8 (two more)
|
||||
Scalar form (proven, consumers 745-1015):
|
||||
acc = 0; for i in 0..N-1: y = x[i]*A[i] + acc; acc = y; x[i] = (float)y
|
||||
i.e. cumulative leaky-integrator over A[i] (running-acc coefficient). Vector variant does 4/iter.
|
||||
=> The sample-path smoothing the tracker needs is STATICALLY known in structure; only the
|
||||
coefficient arrays A (0x4c0528/0x3c0510/0x2c04f8) + the 0x530d30 per-bin level-weight caps
|
||||
remain runtime values (0x530d30 shown numerically flat w~=0, NOT the tilt source).
|
||||
Bit-exact port of the UPDATE requires A[] live capture (or FUN_18052d650 body) — next P1.5-ish.
|
||||
Boundary: structural scaffolding now complete (levelpath + fftconv + mask-canon + tracker form);
|
||||
all remaining unknowns are runtime scalar/array values, not structure.
|
||||
|
||||
## ============ 2026-08-19 continuation: LEVEL-PATH DECOMPILED — FUN_180563440 + FUN_180563ce0 ============
|
||||
|
||||
### FUN_180563440 (dsp/levelpath.cpp dump, f_563440.dis 222 lines) — LUT curve + twin-mask + combine
|
||||
Three-phase per-frame structure:
|
||||
|
||||
Reference in New Issue
Block a user