Skip to content

Commit 7d95dc8

Browse files
authored
V19 release (#500)
1 parent 96617ba commit 7d95dc8

File tree

5 files changed

+71
-54
lines changed

5 files changed

+71
-54
lines changed

README.md

Lines changed: 62 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@ Open source ambient lighting implementation for television sets based on the vid
99
Official releases: \
1010
https://github.com/awawa-dev/HyperHDR/releases
1111

12+
Official Linux repo: 🆕 \
13+
https://awawa-dev.github.io/
14+
1215
Installation manual: \
1316
https://github.com/awawa-dev/HyperHDR/wiki/Installation
1417

1518
Latest testing installers can be find as the artifacts of the latest build in the Github Action tab at the bottom of the page. Must be logged in. \
1619
https://github.com/awawa-dev/HyperHDR/actions
1720

18-
Default LUT table is already included, but for the best effect you can generate your own using new calibration tool (recommended) :new:. Or you may download dedicated LUT tables for supported USB grabbers (available [here](https://www.hyperhdr.eu/2022/04/usb-grabbers-hdr-to-sdr-quality-test.html#chapter4) ) :new:. You can also import and convert custom 3dl Autodesk LUT table using HyperHDR built-in tool.
21+
Default LUT table is already included, but for the best effect you can generate your own using new calibration tool (recommended). Or you may download dedicated LUT tables for supported USB grabbers (available [here](https://www.hyperhdr.eu/2022/04/usb-grabbers-hdr-to-sdr-quality-test.html#chapter4) ). You can also import and convert custom 3dl Autodesk LUT table using HyperHDR built-in tool.
1922

2023
**Using proper LUT table for your USB grabber is very important both for HDR and SDR content!** :warning:
2124

@@ -36,70 +39,82 @@ For security reasons, you may consider changing the password for *pi* user after
3639

3740
[Official Wiki](https://github.com/awawa-dev/HyperHDR/wiki)
3841

39-
[Build-log from my SK6812 RGBW system and one thing about calibration](https://hyperhdr.blogspot.com/2020/12/my-build-log-using-sk6812-rgbw-led.html)
42+
[How to build SK6812 RGBW based system - updated 2023](https://www.hyperhdr.eu/2023/02/ultimate-guide-on-how-to-build-led.html)
4043

4144
## Main features of HyperHDR:
4245

4346
* **Really low CPU** usage on SoCs like Raspberry Pi using v4l2 grabbers
4447
* Support for multithreading that makes Raspberry Pi capable of processing HQ video stream (Rpi 1 & Zero should also benefit from the optimization alone)
4548
* Built-in LUT table generator
46-
* Built-in automatic HDR LUT calibration for USB grabbers :new:
47-
* Built-in latency benchmark for USB grabbers :new:
49+
* Built-in automatic HDR LUT calibration for USB grabbers
50+
* Built-in latency benchmark for USB grabbers
4851
* HDR/BT2020 color, treshold & gamma correction (LUT)
4952
* SDR treshold & gamma correction for selected codecs (LUT)
50-
* Provides vital informations about your OS condition: CPU & RAM usage, CPU temperature, undervoltage detection, internal components performance including USB grabber and LED devices :new:
53+
* Provides vital informations about your OS condition: CPU & RAM usage, CPU temperature, undervoltage detection, internal components performance including USB grabber and LED devices
5154
* Automatic signal detection with smart learning capability for USB grabbers
5255
* Support for USB grabbers under Windows 10
5356
* Support for USB grabbers under macOS (x64/M1)
54-
* Software screen grabbers: DirectX11 (Windows), CoreGraphics (macOS), X11 (Linux), Wayland (Linux), frame buffer (Linux) :new:
55-
* HDR tone mapping for external flatbuffers/protobuf sources :new:
57+
* Software screen grabbers: DirectX11 (Windows), CoreGraphics (macOS), X11 (Linux), Wayland (Linux), frame buffer (Linux)
58+
* HDR tone mapping for external flatbuffers/protobuf sources
5659
* Built-in audio visualization effects
57-
* Dynamic video cache buffers. Now Rpi can process even 1080p120 NV12 stream without any size decimation :new:
58-
* SK6812 RGBW: the white color channel calibration for [HyperSerialEsp8266](https://github.com/awawa-dev/HyperSerialEsp8266), [HyperSerialESP32](https://github.com/awawa-dev/HyperSerialESP32), [HyperSPI](https://github.com/awawa-dev/HyperSPI) :new:
60+
* Dynamic video cache buffers. Now Rpi can process even 1080p120 NV12 stream without any size decimation
61+
* SK6812 RGBW: the white color channel calibration for [HyperSerialEsp8266](https://github.com/awawa-dev/HyperSerialEsp8266), [HyperSerialESP32](https://github.com/awawa-dev/HyperSerialESP32), [HyperSPI](https://github.com/awawa-dev/HyperSPI)
5962
* Optimized multi-instances. You can use for example your TV LED strip and multiple WLED or Philips Hue light sources.
6063
* Support for WS821x, APA102 (HD107, SK9822 etc) and SK6812 RGBW LED strips using fastest possible cable solution for generic ESP8266/ESP32 external LED drivers: [HyperSPI](https://github.com/awawa-dev/HyperSPI)
6164
* Support for WS8201, WS821x, APA102 (HD107, SK9822 etc) and SK6812 RGBW LED strips ultrafast USB serial port AWA protocol for ESP8266/ESP32 at 2Mb baud with data integrity check and white channel calibration: [HyperSerialEsp8266](https://github.com/awawa-dev/HyperSerialEsp8266) and [HyperSerialESP32](https://github.com/awawa-dev/HyperSerialESP32)
62-
* WLED fork for ESP8266 & ESP32 at 2Mb baud (also 4Mb for certain chipsets :new:) and almost all popular types of LED strips is available: [HyperSerialWLED](https://github.com/awawa-dev/HyperSerialWLED)
65+
* WLED fork for ESP8266 & ESP32 at 2Mb baud (also 4Mb for supported chipsets) and almost all popular types of LED strips is available: [HyperSerialWLED](https://github.com/awawa-dev/HyperSerialWLED)
6366

6467
##
6568

66-
**Changelog v18** :new:
69+
**Changelog v19**
70+
- LED designer context menu to disable, identify or customize LED position and size etc 🆕
71+
- Added Philips Hue Entertainment API 2. Support for Hue gradients (thanks @gibahjoe) 🆕
72+
- Save/restore WLED state and set max brightness at startup 🆕
73+
- Support for precompiled headers 🆕
74+
- Colored cmake output 🆕
75+
- Adalight: auto-resume, resume the device if failed 🆕
76+
- Adalight: ESP8266/ESP32 auto-discovery, 'auto' searches for known ESP 🆕
77+
- Adalight: ESP8266/ESP32 handshake to properly initialize the ESP device and read statistics 🆕
78+
- Add statistics about dropped LED frames 🆕
79+
- Add support for utv007 / Linux 🆕
80+
- Modifiable SPI path with device auto-detection 🆕
81+
- Flatbuffers: selectable custom LUT files via API 🆕
6782
- Overall performance without tone mapping for USB grabbers improved x10 (MJPEG) and x3 (YUV) over Hyperion NG 2.0.0.8A thanks to optimization & using of multi-threading
6883
- Direct support for USB grabbers under Windows 10, Linux and macOS (really fast & of course multi-threaded)
6984
- Support for software screen grabbers: DirectX11, CoreGraphics, X11
70-
- New software grabber for Linux: Wayland (pipewire/portal) which also means support for **Ubuntu 22.04 LTS** :new:
71-
- Registering HyperHDR services with the MQTT broker :new:
72-
- Frame Buffer software screen grabber (Linux) :new:
73-
- Reworked network discovery service and added Windows support :new:
74-
- Improved Philips Hue wizard :new:
75-
- WLED Configuration Wizard can discover WLED devices on the network :new:
76-
- Protocol buffers HDR tone mapping :new:
77-
- Replaced protobuf with a lightweight nanopb library :new:
78-
- System event support: hibernation/sleep/wake up/resume :new:
79-
- Added WLED auto-resume initialization and improved existing Philips Hue auto-resume feature :new:
80-
- Wayland grabber: support for pipewire/portal version 4 protocol persistent authentication :new:
81-
- [New fully automatic LUT calibration for HDR/SDR/YUV](https://www.hyperhdr.eu/2022/04/usb-grabbers-hdr-to-sdr-quality-test.html) :new:
82-
- 30% improved performance for MJPEG HDR mode :new:
83-
- Add white channel calibration for RGBW led strips and latest HyperSerialEsp8266/HyperSerialESP32/HyperSPI ([Adalight](https://i.postimg.cc/hv9366VD/calib1.jpg) [HyperSPI](https://i.postimg.cc/kGdTQszk/calib2.jpg)) :new:
84-
- New dynamic video cache buffers (improved performance, fixes [#142](https://github.com/awawa-dev/HyperHDR/issues/142)) :new:
85-
- Performance information panel in the overview tab :new:
86-
- CPU performance and RAM usage (excluding Apple M1) :new:
87-
- CPU temperature reading (Linux only, when sensor is present) :new:
88-
- Under-voltage detection (Raspberry Pi OS only) :new:
89-
- USB grabber performance (shows framerate and latency) :new:
90-
- Instance input images to LED colors performance :new:
91-
- LED device output performance :new:
92-
- New JSON API function to control USB grabber: brightness, contrast, saturation, hue :new:
93-
- USB grabber latency benchmark ([link](https://www.hyperhdr.eu/2021/10/usb-grabbers-grand-latency-test-part-i.html)) :new:
94-
- HDR tone mapping for flatbuffers ([PR #215](https://github.com/awawa-dev/HyperHDR/pull/215) thanks @chbartsch) and protobuf :new:
95-
- Dynamic LED layout resize on container size changed :new:
96-
- Improved and refactored LED devices model and communication :new:
97-
- Flatbuffers/Protobuf: HDR tone mapping can use an alternative filename: *flat_lut_lin_tables.3d* :new:
98-
- FlatBuffers: add support for high performance local sockets ([link](https://github.com/awawa-dev/HyperHDR/commit/1100093068196a53eff5f856f0eaaf8e43ca229f)) :new:
99-
- The new build scheme allows grabber-less configuration and the use of external toolchains :new:
100-
- Add popular 'UDP raw' (WLED compatible) receiver for HyperHDR ([link1](https://i.postimg.cc/RV4PqPct/udpraw.jpg) [link2](https://github.com/awawa-dev/HyperHDR/commit/5fb1be1c4bdbc84becfd964a08cb106482b6c4e5)) :new:
85+
- New software grabber for Linux: Wayland (pipewire/portal) which also means support for **Ubuntu 22.04 LTS**
86+
- Registering HyperHDR services with the MQTT broker
87+
- Frame Buffer software screen grabber (Linux)
88+
- Reworked network discovery service and added Windows support
89+
- Improved Philips Hue wizard
90+
- WLED Configuration Wizard can discover WLED devices on the network
91+
- Protocol buffers HDR tone mapping
92+
- Replaced protobuf with a lightweight nanopb library
93+
- System event support: hibernation/sleep/wake up/resume
94+
- Added WLED auto-resume initialization and improved existing Philips Hue auto-resume feature
95+
- Wayland grabber: support for pipewire/portal version 4 protocol persistent authentication
96+
- [New fully automatic LUT calibration for HDR/SDR/YUV](https://www.hyperhdr.eu/2022/04/usb-grabbers-hdr-to-sdr-quality-test.html)
97+
- 30% improved performance for MJPEG HDR mode
98+
- Add white channel calibration for RGBW led strips and latest HyperSerialEsp8266/HyperSerialESP32/HyperSPI ([Adalight](https://i.postimg.cc/hv9366VD/calib1.jpg) [HyperSPI](https://i.postimg.cc/kGdTQszk/calib2.jpg))
99+
- New dynamic video cache buffers (improved performance, fixes [#142](https://github.com/awawa-dev/HyperHDR/issues/142))
100+
- Performance information panel in the overview tab
101+
- CPU performance and RAM usage (excluding Apple M1)
102+
- CPU temperature reading (Linux only, when sensor is present)
103+
- Under-voltage detection (Raspberry Pi OS only)
104+
- USB grabber performance (shows framerate and latency)
105+
- Instance input images to LED colors performance
106+
- LED device output performance
107+
- New JSON API function to control USB grabber: brightness, contrast, saturation, hue
108+
- USB grabber latency benchmark ([link](https://www.hyperhdr.eu/2021/10/usb-grabbers-grand-latency-test-part-i.html))
109+
- HDR tone mapping for flatbuffers ([PR #215](https://github.com/awawa-dev/HyperHDR/pull/215) thanks @chbartsch) and protobuf
110+
- Dynamic LED layout resize on container size changed
111+
- Improved and refactored LED devices model and communication
112+
- Flatbuffers/Protobuf: HDR tone mapping can use an alternative filename: *flat_lut_lin_tables.3d*
113+
- FlatBuffers: add support for high performance local sockets ([link](https://github.com/awawa-dev/HyperHDR/commit/1100093068196a53eff5f856f0eaaf8e43ca229f))
114+
- The new build scheme allows grabber-less configuration and the use of external toolchains
115+
- Add popular 'UDP raw' (WLED compatible) receiver for HyperHDR ([link1](https://i.postimg.cc/RV4PqPct/udpraw.jpg) [link2](https://github.com/awawa-dev/HyperHDR/commit/5fb1be1c4bdbc84becfd964a08cb106482b6c4e5))
101116
- User interface upgraded to modern standards (Bootstrap 5)
102-
- Improved LUT table for SDR(yuv) and HDR video streams :new:
117+
- Improved LUT table for SDR(yuv) and HDR video streams
103118
- Support for CEC (turn ON/OFF grabbers, remote keys to command HDR tone mapping)
104119
- Support for my new [HyperSPI](https://github.com/awawa-dev/HyperSPI) project for Rpi. Fastest possible cable solution for almost every generic ESP8266/ESP32 LED driver
105120
- Fork of WLED with USB serial port AWA protocol at @2000000 speed for ESP32 & ESP8266 and almost all types of LED strips: [HyperSerialWLED](https://github.com/awawa-dev/HyperSerialWLED)
@@ -117,7 +132,7 @@ For security reasons, you may consider changing the password for *pi* user after
117132
- LED grouping *aka* PC mode *aka* gradient mode, can help with eye fatigue when used with the monitor, each LED in the group has same average color
118133
- Add timeout for the anti-flickering filter
119134
- Panel for easy video resolution & refresh mode selection in the grabber section
120-
- Support for QT6.2 :new:
135+
- Support for QT6.2
121136
- Lower CPU usage when automatic signal detection triggers 'no-signal'
122137
- Fixed power saving issue in macOS version
123138
- Audio visualization effects (Windows, macOS and Linux)
@@ -152,7 +167,9 @@ Use linux 'top' command with per core view (press 1) or preferable 'htop'. On Rp
152167
Check the performance statistics that are updated every minute in System➔Log page.
153168

154169
Thanks to our colleague @mjoshd there is a HyperHDR integration plugin for Home Assistant. Check the details on the website of the project [https://github.com/mjoshd/hyperhdr-ha](https://github.com/mjoshd/hyperhdr-ha) Also you can test a HA plugin to install HyperHDR [link](https://github.com/ihrapsa/hassio-addons) (thanks @ihrapsa) 🚀 🆕
155-
170+
171+
If you want to install HyperHDR on Libreelec, @ghr12 has created a script that should help you https://github.com/ghr12/hyperhdr 🆕
172+
156173
We do not support driving WS281x and especially SK6812 LED strips directly from the Raspberry Pi although it's theoretically possible: [link](https://github.com/awawa-dev/HyperHDR/discussions/111). If you made it and it works, fine, but most of our users weren't so lucky. You should use external ESP8266/ESP32 (preferable with CH340G or CP2104 onboard) and the voltage level shifter. :warning:
157174

158175
Usage of WS281x LED strip with Rpi directly (PWM mode) requires _root_ privilages. Otherwise you may get _'Error message: mmap() failed'_ ([read more](https://github.com/awawa-dev/HyperHDR/issues/52)) :warning:

assets/webconfig/content/light_source.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -625,11 +625,11 @@ <h4 class="modal-title"><b><span id="ledPropertiesFormLabel"></span></b></h4>
625625
</div>
626626
<div class="form-group row">
627627
<div class="col-form-label mb-3 col-3">
628-
<label class="required" data-i18n="conf_leds_layout_cl_right"></label>
628+
<label class="required" data-i18n="conf_leds_layout_cl_top"></label>
629629
</div>
630630
<div class="mb-3 col-9">
631631
<div class="input-group">
632-
<input type="number" class="form-control" data-schemaformat="stepper" min="0" max="1" step="0.001" id="ledPropertiesDialogRight" />
632+
<input type="number" class="form-control" data-schemaformat="stepper" min="0" max="1" step="0.001" id="ledPropertiesDialogTop" />
633633
<div class="input-group-append"><button type="button" class="btn btn-secondary stepper-down">-</button></div>
634634
<div class="input-group-append"><button type="button" class="btn btn-secondary stepper-up">+</button></div>
635635
</div>
@@ -639,11 +639,11 @@ <h4 class="modal-title"><b><span id="ledPropertiesFormLabel"></span></b></h4>
639639
<div class="col-12 col-md-6">
640640
<div class="form-group row">
641641
<div class="col-form-label mb-3 col-3">
642-
<label class="required" data-i18n="conf_leds_layout_cl_top"></label>
642+
<label class="required" data-i18n="conf_leds_layout_cl_right"></label>
643643
</div>
644644
<div class="mb-3 col-9">
645645
<div class="input-group">
646-
<input type="number" class="form-control" data-schemaformat="stepper" min="0" max="1" step="0.001" id="ledPropertiesDialogTop" />
646+
<input type="number" class="form-control" data-schemaformat="stepper" min="0" max="1" step="0.001" id="ledPropertiesDialogRight" />
647647
<div class="input-group-append"><button type="button" class="btn btn-secondary stepper-down">-</button></div>
648648
<div class="input-group-append"><button type="button" class="btn btn-secondary stepper-up">+</button></div>
649649
</div>

sources/base/schema/schema-color.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@
205205
"required" : true,
206206
"minimum" : 0,
207207
"maximum": 100,
208-
"default" : 1,
208+
"default" : 2,
209209
"append" : "edt_append_percent",
210210
"propertyOrder" : 11
211211
},

sources/base/schema/schema-smoothing.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
"title" : "edt_conf_smooth_antiFlickeringTreshold_title",
5959
"minimum" : 0,
6060
"maximum": 255,
61-
"default" : 0,
61+
"default" : 32,
6262
"required" : true,
6363
"propertyOrder" : 5
6464
},
@@ -83,11 +83,11 @@
8383
{
8484
"type" : "integer",
8585
"format": "stepper",
86-
"step" : 250,
86+
"step" : 50,
8787
"title" : "edt_conf_smooth_antiFlickeringTimeout_title",
8888
"minimum" : 0,
8989
"maximum": 10000,
90-
"default" : 0,
90+
"default" : 250,
9191
"append" : "edt_append_ms",
9292
"options": {
9393
"dependencies": {

version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19.0.0.0beta2
1+
19.0.0.0

0 commit comments

Comments
 (0)