24ab: opB dispatcher structure documented (subtag kernels + Hermitian repack); ops A-D PARKED as buffer-level-only (audio=exp(scratch) proven; VLAW real-mask corpus 0.193); session consolidation 24j..24ab
This commit is contained in:
+12
-15
@@ -159,21 +159,18 @@ def main():
|
||||
sv = np.frombuffer(scal, dtype='<f4')
|
||||
store = {'fir_re': arr[0::2].copy(), 'fir_im': arr[1::2].copy(),
|
||||
'scal': sv.copy()}
|
||||
# band-object LUT params: band1 ptr @[ctx+0x540678]; sub@[band+0x180]
|
||||
pb = rd(ctx + 0x540678, 8)
|
||||
if pb:
|
||||
bandobj = struct.unpack('<Q', pb)[0]
|
||||
if bandobj > 0x10000:
|
||||
sb = rd(bandobj + 0x180, 8)
|
||||
if sb:
|
||||
sub = struct.unpack('<Q', sb)[0]
|
||||
if sub > 0x10000:
|
||||
fb4 = rd(sub, 0x18)
|
||||
if fb4:
|
||||
store['lut_A'] = struct.unpack('<f', fb4[0:4])[0]
|
||||
store['lut_B'] = struct.unpack('<f', fb4[4:8])[0]
|
||||
store['lut_G'] = struct.unpack('<f', fb4[12:16])[0]
|
||||
store['lut_mode'] = fb4[16]
|
||||
# LUT params: sub-object pointer at [ctx+0x180] (24z: 563a60 uses
|
||||
# r15=rcx -> [r15+0x180]); A=[sub+0] B=[sub+4] G=[sub+0xc]
|
||||
sb = rd(ctx + 0x180, 8)
|
||||
if sb:
|
||||
sub = struct.unpack('<Q', sb)[0]
|
||||
if sub > 0x10000:
|
||||
fb4 = rd(sub, 0x18)
|
||||
if fb4:
|
||||
store['lut_A'] = struct.unpack('<f', fb4[0:4])[0]
|
||||
store['lut_B'] = struct.unpack('<f', fb4[4:8])[0]
|
||||
store['lut_G'] = struct.unpack('<f', fb4[12:16])[0]
|
||||
store['lut_mode'] = fb4[16]
|
||||
for off in SLOTS[1:]:
|
||||
q = rd(ctx + off, 8)
|
||||
if not q:
|
||||
|
||||
Reference in New Issue
Block a user