原汁原味补全官方管线细节:0x8c CDF 中心、temporal 移植、uniform 分支、状态标志
- 抓取官方会话控制字段确认实际启用路径:0x109c0→0x11ee0→0x19740; temporal(0x41fe0=1)/帧差(0x230=0)/隔行平滑(0x41fe8=0)/0x30=0 全关 - 实现 0x8c=1 分支:CDF 中心=max(均值bin, 累计75%bin),lres 545→631 (官方 633,跨帧差 2 bin);用官方 cdf 离线验证 LUT 差异降至 123/1024 (集中在灰度过渡区,跨帧异步所致) - 移植 temporal filter(0x18001e920,0x41fe0>1 启用,默认关=官方) - 补 uniform 帧分支(0x109c0:fmin==fmax 时 LUT/gray 置中灰) - 补官方标志维护(0x4203c/0x42038/0x42004) - 实机确认:ref=15502(type1)、d=-2390、win/stats 正常
This commit is contained in:
@@ -167,6 +167,30 @@ int main(int argc, char **argv) {
|
||||
*(int *)(dev + 0x47940), *(int *)(dev + 0x44c50), *(int *)(dev + 0x44c60),
|
||||
*(int *)(dev + 0x44c64), *(int *)(dev + 0x44c68),
|
||||
*(int *)(dev + 0x42010), *(int *)(dev + 0x42014));
|
||||
fprintf(cfg, "ctrl: 28=%d 30=%d 44=%d 88=%d 8c=%d 90=%d 230=%d 234=%d\n",
|
||||
*(int *)(dev + 0x28), *(int *)(dev + 0x30), *(int *)(dev + 0x44),
|
||||
*(int *)(dev + 0x88), *(int *)(dev + 0x8c), *(int *)(dev + 0x90),
|
||||
*(int *)(dev + 0x230), *(int *)(dev + 0x234));
|
||||
fprintf(cfg, "temporal: 41f40+30=%d +34=%d +38=%d +3c=%d 41f68=%p 41f70=%d 41f74=%d 41f7c=%d\n",
|
||||
*(int *)(dev + 0x41f40 + 0x30), *(int *)(dev + 0x41f40 + 0x34),
|
||||
*(int *)(dev + 0x41f40 + 0x38), *(int *)(dev + 0x41f40 + 0x3c),
|
||||
*(void **)(dev + 0x41f68), *(int *)(dev + 0x41f70), *(int *)(dev + 0x41f74),
|
||||
*(int *)(dev + 0x41f7c));
|
||||
fprintf(cfg, "smo2: 41f90+30=%d +38=%d +3c=%d 41fa8=%p 41fb0=%d 41fb4=%d 41fbc=%d\n",
|
||||
*(int *)(dev + 0x41f90 + 0x30), *(int *)(dev + 0x41f90 + 0x38),
|
||||
*(int *)(dev + 0x41f90 + 0x3c), *(void **)(dev + 0x41fa8),
|
||||
*(int *)(dev + 0x41fb0), *(int *)(dev + 0x41fb4), *(int *)(dev + 0x41fbc));
|
||||
fprintf(cfg, "flags: 4203c=%d 42038=%d 42040=%d 42044=%d 42004=%d 41ffc=%d 41fdc=%d\n",
|
||||
*(int *)(dev + 0x4203c), *(int *)(dev + 0x42038), *(int *)(dev + 0x42040),
|
||||
*(int *)(dev + 0x42044), *(int *)(dev + 0x42004), *(int *)(dev + 0x41ffc),
|
||||
*(int *)(dev + 0x41fdc));
|
||||
fprintf(cfg, "bufs: 270=%p 278=%p 280=%p 288=%p 290=%p 2a0=%p 2b0=%p 2c8=%p\n",
|
||||
*(void **)(dev + 0x270), *(void **)(dev + 0x278), *(void **)(dev + 0x280),
|
||||
*(void **)(dev + 0x288), *(void **)(dev + 0x290), *(void **)(dev + 0x2a0),
|
||||
*(void **)(dev + 0x2b0), *(void **)(dev + 0x2c8));
|
||||
fprintf(cfg, "win: 42018=%d 4201c=%d 44c48=%d 44c64=%d 44c68=%d\n",
|
||||
*(int *)(dev + 0x42018), *(int *)(dev + 0x4201c), *(int *)(dev + 0x44c48),
|
||||
*(int *)(dev + 0x44c64), *(int *)(dev + 0x44c68));
|
||||
fclose(cfg);
|
||||
}
|
||||
/* copy the DDT file */
|
||||
|
||||
Reference in New Issue
Block a user