docs: 更正 7×7 细节增强结论——官方每帧虽调用但强度源 CFunctions+0x28 全库未写=0,实为空操作(与我们默认关一致)

This commit is contained in:
ZXCLI
2026-10-06 07:56:09 +08:00
parent a1dfb647ea
commit 6392bd89ee
2 changed files with 10 additions and 6 deletions
@@ -297,7 +297,7 @@ ffcTriggerTemperature=250, enlargeRange=8, baseLineAcc=4, fpaTempFix=1699`。
| 时域平滑 `CSmoother` | 关(`this+0x380c = IntrinsicPara[0x20]`,构造默认 1,需 >1 才生效) | 未实现 ✔ |
| 显示侧累积 `CAccumulator(+0x37a4)` | 关(`this+0x3808 = 1` → `Raw2Temperature` 直通) | 默认关 ✔ |
| `setEX` 电子变倍 | 关(`imageEX` 默认 0 → `SetEX(0)` → `0x3814=0`) | 无此功能 ✔ |
| 7×7 细节增强 | **开**:`MapTemperature` 把 `0x3864` 置 1 → `PushFrame` 随后无条件调 `FilterDetailEnhancement_Simple(gray, 255<<3=2040)` | 用户可开(默认 0)→ **待办** |
| 7×7 细节增强 | **关**:`MapTemperature` 确实把门槛 `0x3864` 置 1(所以 `PushFrame` 每帧都会调 `FilterDetailEnhancement_Simple`),但强度来自 `CFunctions+0x28 << 3`,而该字段**全库从未被写入**(CFunctions 构造只 memclr,Controller 构造设了 0x1C/0x2C/0x30 等但没设 0x28)→ 传 0 → 函数首行 `if (param_1 != 0)` 直接返回 = **空操作** | 默认 0 ✔ 一致(我们的用户开关是超集,官方 Android 侧根本没有入口) |
| 翻转 | App 侧 `dwFlip` 只是存进全局 `0x6b90c` 结构,本库无人消费(翻在 App/显示层做) | 我们在显示/保存层做 ✔ |
### 10.3 真正的差异:灰度 LUT(Android 版 vs PC 版)
@@ -343,6 +343,9 @@ ffcTriggerTemperature=250, enlargeRange=8, baseLineAcc=4, fpaTempFix=1699`。
### 10.6 待办
1. 真机 A/B(手机当前被 PIN 锁屏,需机主解锁):同一静止场景,官方实时 vs 我们实时,用"调色板反解灰度 + 逐像素对齐"复核 10.4 的 k/计数假设;
2. 7×7 细节增强按官方默认打开(强度 2040)并回归——本轮先不动,因为离线拟合显示我们的
`DetailEnhance` 在 2040 下反而略微变差,疑移植细节待核;
2. ~~7×7 细节增强按官方默认打开~~ —— **已排除**:强度源 `CFunctions+0x28` 全库未写 = 0,
官方那一步是空操作(这也解释了为什么离线拟合"打开反而略差");我们的实现保持用户可选、
默认关。顺带:我们的 `DetailEnhance` 与反汇编有一处细节差(`LocalMap7x7_Simple` 的
min/max 还要多采每行的第 1 列,共 5 列;我们只采了求和用的 4 列),会让门槛略偏严,
属可选功能的精度问题,不影响默认路径;
3. 同步 csdk(Android 版 LUT + fpaTempFix + 温度链)。