From 6392bd89ee7f05d6839ac15ee59c29a65c82f7d6 Mon Sep 17 00:00:00 2001 From: ZXCLI Date: Tue, 6 Oct 2026 07:56:09 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=AD=A3=207=C3=977=20?= =?UTF-8?q?=E7=BB=86=E8=8A=82=E5=A2=9E=E5=BC=BA=E7=BB=93=E8=AE=BA=E2=80=94?= =?UTF-8?q?=E2=80=94=E5=AE=98=E6=96=B9=E6=AF=8F=E5=B8=A7=E8=99=BD=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E4=BD=86=E5=BC=BA=E5=BA=A6=E6=BA=90=20CFunctions+0x28?= =?UTF-8?q?=20=E5=85=A8=E5=BA=93=E6=9C=AA=E5=86=99=3D0=EF=BC=8C=E5=AE=9E?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E6=93=8D=E4=BD=9C=EF=BC=88=E4=B8=8E=E6=88=91?= =?UTF-8?q?=E4=BB=AC=E9=BB=98=E8=AE=A4=E5=85=B3=E4=B8=80=E8=87=B4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/android_app/rendering_diff_phone_20261006.md | 9 ++++++--- docs/android_app/session_state.md | 7 ++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/android_app/rendering_diff_phone_20261006.md b/docs/android_app/rendering_diff_phone_20261006.md index 2bb6f1b..77d8937 100644 --- a/docs/android_app/rendering_diff_phone_20261006.md +++ b/docs/android_app/rendering_diff_phone_20261006.md @@ -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 + 温度链)。 diff --git a/docs/android_app/session_state.md b/docs/android_app/session_state.md index 724d394..17ccee5 100644 --- a/docs/android_app/session_state.md +++ b/docs/android_app/session_state.md @@ -507,9 +507,10 @@ (官方预览是 160×120 输出、我们预览是 320×240,逐屏像素 HF 不可比)。 - **`CSmoother` / 显示侧累积 / `setEX`**:官方分别由 `0x380c=1`(需>1 才生效)、`0x3808=1`、 `imageEX=0` 关闭 → 与我们一致。 -- **命中:灰度 LUT 是 PC 版形状,官方是 Android 版形状**。另有两处官方默认我们没跟: - `MapTemperature` 无条件把 `0x3864=1` → 官方**每帧都跑 7×7 细节增强(强度 255<<3=2040)**; - App 传给 SDK 的温度是 `帧尾 FPA + BasePara2.fpaTempFix(真机 1699)`。 +- **命中:灰度 LUT 是 PC 版形状,官方是 Android 版形状**。另有:App 传给 SDK 的温度是 + `帧尾 FPA + BasePara2.fpaTempFix(真机 1699)`(我们少加了),而 7×7 细节增强虽然每帧被 + 调用(`MapTemperature` 把门槛 `0x3864` 置 1),但强度源 `CFunctions+0x28` 全库未写 = 0 + → **官方那一步是空操作**(我们默认关 ✔ 一致)。 ### 3) 定量:把官方照片与我们的 NUC 对齐