mirror of
https://github.com/esphome/esphome.git
synced 2026-09-15 17:18:40 +00:00
827afb0e98b15b86f15b63da5c1c0bd2b15ebb30
The color_uncorrect_red/green/blue/white helpers each contain two 16-bit divides and a call into the out-of-line gamma_uncorrect_ LUT search. They were marked ESPHOME_ALWAYS_INLINE, a hint inherited from the original 2019 C++ port when the gamma math was a single powf() call and the methods were trivially small. Since the 16-bit gamma LUT landed (#14123, Feb 2026) the bodies grew enough that forcing inlining at every call site duplicates two 16-bit div routines (~90 bytes on ESP8266 Xtensa, no fast 16-bit hw div) across every addressable effect, range op, and transition step that reads a pixel back through the gamma curve. Move the four channel methods and the Color wrapper to the .cpp and drop the ALWAYS_INLINE hints on the forward direction too so the compiler picks per call site.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
597 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
