MCPcopy Index your code
hub / github.com/dantmnf/PseudoDCDimming

github.com/dantmnf/PseudoDCDimming @v1.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3 ↗ · + Follow
101 symbols 209 edges 19 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

伪 DC 调光

English | 下载最新版本

通过软件增益为部分 OLED 屏幕在低亮度下启用类 DC 调光方式。

这是一个 Xposed (LSPosed) 模块,仅支持 Android 12 及以上版本。

原理

通过限制亮度控制的最小值,并通过矩阵变换功能缩小输出信号,使实际显示亮度匹配预期亮度,同时保持较高的 PWM 频率/占空比。

详细原理

限制

  • 严重依赖厂商对屏幕亮度控制以及响应曲线的校准。如果厂商在校准时使用了不同的响应曲线,或者亮度控制存在非线性行为,都可能影响开启模块后的显示质量;
  • 可能与其他颜色变换功能冲突;
  • 可能与 HDR 显示冲突。

配置

通过相机的高速快门模式放大频闪效应,或使用专业仪器测量 PWM 频率及占空比,选择一个可以接受的亮度值作为最小硬件亮度。

致谢

灵感来自 ztc1997/FakeDCBacklight。本项目额外实现了立即应用以及稳定启用前后亮度的功能。

Extension points exported contracts — how you extend this code

IPackageManager (Interface)
(no doc) [1 implementers]
hidden-api/src/main/java/android/content/pm/IPackageManager.java

Core symbols most depended-on inside this repo

getPreference
called by 9
app/src/main/java/xyz/cirno/pseudodcdimming/xposed/BacklightOverrideService.java
writeXSharedPreferences
called by 4
app/src/main/java/xyz/cirno/pseudodcdimming/SettingsActivity.java
setError
called by 3
app/src/main/java/xyz/cirno/pseudodcdimming/SettingsActivity.java
putPreference
called by 3
app/src/main/java/xyz/cirno/pseudodcdimming/xposed/BacklightOverrideService.java
getDisplayManager
called by 2
app/src/main/java/xyz/cirno/pseudodcdimming/ServiceDiscovery.java
updateMinimumBrightnessPreference
called by 2
app/src/main/java/xyz/cirno/pseudodcdimming/SettingsActivity.java
getNitsFromBacklight
called by 2
app/src/main/java/xyz/cirno/pseudodcdimming/xposed/DisplayDeviceConfigProxy.java
notifyAllListeners
called by 2
app/src/main/java/xyz/cirno/pseudodcdimming/xposed/BacklightOverrideService.java

Shape

Method 79
Class 21
Interface 1

Languages

Java100%

Modules by API surface

app/src/main/java/xyz/cirno/pseudodcdimming/xposed/BacklightOverrideService.java24 symbols
app/src/main/java/xyz/cirno/pseudodcdimming/SettingsActivity.java15 symbols
app/src/main/java/xyz/cirno/pseudodcdimming/HandlerTimer.java7 symbols
app/src/main/java/xyz/cirno/pseudodcdimming/xposed/DisplayControlProxy.java6 symbols
app/src/main/java/xyz/cirno/pseudodcdimming/BacklightRequest.java6 symbols
app/src/main/java/xyz/cirno/pseudodcdimming/xposed/XposedInit.java5 symbols
hidden-api/src/main/java/android/view/SurfaceControlHiddenUpto33.java4 symbols
hidden-api/src/main/java/android/os/ServiceManager.java4 symbols
hidden-api/src/main/java/android/content/pm/IPackageManager.java4 symbols
app/src/main/java/xyz/cirno/pseudodcdimming/xposed/DisplayTransformManagerProxy.java4 symbols
app/src/main/java/xyz/cirno/pseudodcdimming/ServiceDiscovery.java4 symbols
app/src/main/java/xyz/cirno/pseudodcdimming/xposed/DisplayDeviceConfigProxy.java3 symbols

For agents

$ claude mcp add PseudoDCDimming \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page