chore: FFT giants, factor tables, spectral class map, block-processor chain
This commit is contained in:
+26
@@ -121,3 +121,29 @@
|
||||
в 18052*/18053* или через трассировку вызовов от `processBlock` спектрального процессора.
|
||||
2. Окна/oversample детали — из декомпиляции (A.6) или требуется доп. замеры.
|
||||
3. Стерео-верификация (M8) — приоритет mono-путь или сразу стерео-граф.
|
||||
|
||||
## Phase A progress update (recap)
|
||||
|
||||
### FFT transform (found)
|
||||
- **Recursive FFT planners ("giants")**: 7 monolith funcs (~14.4K each) = type variants:
|
||||
18001f260, 1800246e0, 18002f980, 180029ca0, 180035980, 18003b900, 18004ff80
|
||||
Recurse on `log2 - factor` with `param_5+1` depth; build stage plan in `param_1+0x78` array.
|
||||
- **Factor tables** (int, index=log2): `DAT_181c5e0fc` (small=4/8/9/13), `DAT_181c5e15c`,
|
||||
`DAT_181c5e3fc` (nonzero => use giant path in FUN_18003b6c0).
|
||||
- **FUN_18003b6c0** (bit-reverse+plan, N big): if `DAT_181c5e3fc[log2]!=0` call giant `FUN_18003b900`,
|
||||
else small plan via DAT_181c5e4e0 XOR mask permute.
|
||||
- **Base small FFT**: `FUN_18002e360` (radix2/3), `FUN_180023860` (float variant).
|
||||
- **Twiddle**: copied from static base `DAT_182616800` into scratch by `FUN_180039b00`.
|
||||
- **Spec init FUN_180008140** (from dispatch table `182615ef0`): builds plan; dispatch-only callers.
|
||||
- Giants/planners = integer address gen (no float math) => executors are separate (dispatch kernels).
|
||||
|
||||
### Spectral layer located (named C++ classes via RTTI):
|
||||
- `SpectralProcessor<float,7,1>` vtbl @180529610 (1154) + methods around 180529xxx/18052exxx.
|
||||
- `Soothe2Module<float,1>`, `Soothe2ModuleBase`, `IIRFilterExtended<float,1>`, ModuleDecryptor.
|
||||
- range 0x180500000-0x180530000 listed (1051 fns) -> funs_range.txt overwritten.
|
||||
|
||||
### Block processor chain (audio->out):
|
||||
- `FUN_18052e260(param_1, n)` : reads det? calls **FUN_180536300(param_1+0x3d8, in, out, det, n)**
|
||||
- `FUN_180536300` (475): normalize `DAT_1824c4248/(freq)`, FUN_18052da00/db50/d990/dbc0 (smoothing),
|
||||
FUN_180535880, FUN_180536f90 (249, detector update via dispatch).
|
||||
- Param setup fns: FUN_18052e9b0 (3167), FUN_180529fe0 (2051) — float math on params (DAT_18262b700 block-sizes etc.).
|
||||
|
||||
Reference in New Issue
Block a user