HyperHDR

Highly optimized open source ambient lighting implementation based on modern digital video and audio stream analysis for Windows, macOS and Linux (x86 and Raspberry Pi / ARM).

MIT License

Stars
1.1K
Committers
15

Bot releases are visible (Hide)

HyperHDR - HyperHDR 20.0.0.0 Latest Release

Published by github-actions[bot] 7 months ago

The HyperHDR v20 release was created with the participation of many users (thanks to everyone, especially to @astarom) and brings many important new features and fixes. More than several dozen thousand lines of code were changed, including almost the entire application base was rewritten using newer technologies, which then required several months of testing to make sure that it would not negatively affect stability. Thanks to the rebuilt LED rendering model, even more precise refreshing is achieved and the use of Smart Pointers gives us greater control over memory management. Software grabbers have been significantly improved, including hardware acceleration for Pipewire (Linux) and in particular a huge leap in performance and capabilities has occurred in the case of the DirectX grabber for Windows (native system HDR support without LUT and Pixel & Vertex Shader acceleration). At that time, a new HyperSerialPico project was also created, thanks to rp2040 PIO IO co-processor we received a driver offering even more precise timings for LED rendering than ESP32/Esp8266 and it allows the use of ready-made boards with a built-in level shifter: which significantly simplifies the construction of new HyperHDR setups regardless of the platform on which you host it.

Below is the full list of changes. Have fun!

New features:

  • Windows/DirectX: use hardware acceleration (pixel & vertex shaders) for software capturing. Fixes issue #688#691
  • Windows/DirectX: autodetect HDR mode.Fixes issue #690#691
  • Pipewire DMA & EGL hardware support (Wayland/x11 grabber) #556
  • Add video buffer memory caching to Pipewire grabber #691
  • Automatic database backup before applying structure changes when installing new version, json backups are saved in standard HyperHDR configuration home directory #691
  • Linux: audio stream auto-resume on EPIPE error #691
  • Ability to change MQTT Topic. Fixes issue #619#691
  • MQTT: auto-resume. Fixes issue #570#691
  • MQTT ability to execute multiply commands in one request. Fixes issue #642#691
  • Each MQTT subcommand will return full response in the overall result at HyperHDR/JsonAPI/response #691
  • Colorized logs #640
  • New device discovery service #605
  • Add new effect: Rainbow Waves #607
  • MQTT: hostname address resolver. Thanks @lougovsk #586
  • New JsonAPI method to calculate average color of selected instance #611
  • Add automatic LUT downloader & installer #568
  • Allow LUT calibration when no USB grabber is present #518
  • New JSON API method to update smoothing parameters #352

LED devices:

  • Smoothing clock is integrated directly within led driver: no more two separated & unsynchronized clocks for smoothing and led driver, also much more precise refresh times. Discussed here#691
  • Add support for Raspberry Pi Pico (Rp2040) HyperSerialPico #560
  • HyperHDR driver for WLED has been switched to WLED Audio-Reactive-Led-Strip (WARLS) protocol removing old 490 LEDs limit https://github.com/Aircoookie/WLED/wiki/UDP-Realtime-Control#691
  • Yeelight: Wizard now supports more models, workaround for music-mode reset, auto-resume support #750 Thanks @ratawhisk
  • Force HyperSerial detection #732 Thanks @alex-013
  • New features: disable LEDs/components on startup #737
  • Support for Pico (rp2040) boards using HyperSPI #691
  • Fix over 500LEDs limit for HyperSPI when RPi5 is used #691
  • Add support for HD108 led strip, 16/48bits colors #527
  • Live update WLED/udpraw LEDs number #564
  • ArtNet LED Controller: add toggle to prevent pixel color data split across two artnet universes. Fixes issue #657#691
  • Workaround for critical Rpi udev bug affecting serial ports #583

Core:

  • Refactoring. Migration to C++ Smart Pointers. Move almost all main objects management under control of modern C++ smart pointers, fully control complicated life-cycle and ownership of HyperHDR components #691
  • New interface: removed ancient Font Awesome 4 (so 2017...) Migrate to SVG: Bootstrap Icons and Google Material Icons/Symbols #605
  • New features: stop processing when user has locked the system #737
  • Remove folders nesting #363
  • Improved headers including for faster compilation #691
  • Pause the USB grabber when all LEDs are off to reduce load #608
  • Use optional system libs for compiling #541
  • Do not use TurboJPEG for RGB during calibration #508
  • Make bonjour use logging utilities. Thanks @nurikk #529
  • glibc requirements for DEB installer #402

Platform support:

  • SD images are available again and are based on Debian Bullseye, so they will not fit RPi 5: use the official Raspberry Pi installer for this board. It is explained here: link1
  • Add native build for Apple M1 / M2 / M3 (arm64) architecture #755
  • Add Ubuntu support to HyperHDR and Github Pages APT repository #522
  • Update build scripts and include Ubuntu 24.04 LTS
  • Upgrade Fedora 38 to 39, Ubuntu 23.04 to 23.10 #667
  • Add Arch Linux support #520

Updates:

  • Update language file's. Thanks @AstaRom #505
  • Upgrade Bootstrap to 5.2.3 / improved 'video live preview' on smartphones #336
  • Update Github actions/checkout@v3 #403
  • Update Github actions/download@v3 #372
  • Update mbedtls to 3.4.0 #589
  • Update flatbuffers to v23.5.26 #596
  • Update language file's. Thanks @AstaRom #617
  • switch libCEC to mainstream since version 6.x is widely available now #691

Bug fixing:

  • Windows/DirectX: fix overexposed HDR stream with pixel shader. Fixes issue #689#691
  • Fix: Fedora uses xz as the package name, not xz-utils #771 Thanks @hsmalley
  • Fix LUT loading bug to reduce memory usage by 96MB #766
  • Fix typo in LED strip name #670 Thanks @fluchfux
  • Fix background music effect #761
  • Fix typo #762 Thanks @laurens94
  • Fix macOS build #638 #671 #672
  • Fix Linux DBus sleep/wakeup handler
  • Fix pipewire grabber for non-contiguous DMA memory & EGL #711 Thanks @Mic92
  • Fixes for v20beta1 #705
  • Fix logging tab that can be empty when opened and add button to copy logs #691
  • Fix verbose command line option #723
  • Fixed the LUT calibration page by removing potential scrollbars that could interfere with the final result #691
  • Stability improvements & bug fixing #605
  • Fix QT5.15 issue when building on Windows #605
  • Remove depraciated ::set-output from Github Action #390
  • V4L: allow setting of V4L device input, fixes #537. Thanks @Thinner77 #540
  • JSON API security vulnerability #691
  • Improved installers script #691
  • Address CodeQL findings #691
  • Fix chrome/edge fullscreen detection #519
HyperHDR - HyperHDR 20.0.0.0beta2

Published by github-actions[bot] 8 months ago

Full list of changes below, with details in the attached links. Update is also available in HyperHDR Debian/Ubuntu APT repository: link.

HyperHDR: v20beta2:

  • SD images are available again and are based on Debian Bullseye, so they will not fit RPi 5: use the official Raspberry Pi installer for this board. It is explained here: link1
  • Fix: Fedora uses xz as the package name, not xz-utils #771 Thanks @hsmalley
  • Fix LUT loading bug to reduce memory usage by 96MB #766
  • Fix background music effect #761
  • Fix typo #762 Thanks @laurens94
  • Yeelight: Wizard now supports more models, workaround for music-mode reset, auto-resume support #750 Thanks @ratawhisk
  • Fix verbose command line option #723
  • Add native build for Apple M1 / M2 (arm64) architecture #755
  • New features: disable LEDs/components on startup #737
  • New features: stop processing when user has locked the system #737
  • Force HyperSerial detection #732 Thanks @alex-013
  • Fix Linux DBus sleep/wakeup handler
  • Fix pipewire grabber for non-contiguous DMA memory & EGL #711 Thanks @Mic92
  • Update build scripts and include Ubuntu 24.04 LTS
  • Fixes for v20beta1 #705

HyperHDR: v20beta1:

  • Refactoring. Migration to C++ Smart Pointers. Move almost all main objects management under control of modern C++ smart pointers, fully control complicated life-cycle and ownership of HyperHDR components #691
  • Windows/DirectX: use hardware acceleration (pixel & vertex shaders) for software capturing. Fixes issue #688#691
  • Windows/DirectX: fix overexposed HDR stream with pixel shader. Fixes issue #689#691
  • Windows/DirectX: autodetect HDR mode.Fixes issue #690#691
  • Automatic database backup before applying structure changes when installing new version, json backups are saved in standard HyperHDR configuration home directory #691
  • Smoothing clock is integrated directly within led driver: no more two separated & unsynchronized clocks for smoothing and led driver, also much more precise refresh times. Discussed here#691
  • HyperHDR driver for WLED has been switched to WLED Audio-Reactive-Led-Strip (WARLS) protocol removing old 490 LEDs limit https://github.com/Aircoookie/WLED/wiki/UDP-Realtime-Control#691
  • switch libCEC to mainstream since version 6.x is widely available now #691
  • Linux: audio stream auto-resume on EPIPE error #691
  • Improved headers including for faster compilation #691
  • JSON API security vulnerability fixed #691
  • Add video buffer memory caching to Pipewire grabber #691
  • Fixed the LUT calibration page by removing potential scrollbars that could interfere with the final result #691
  • Support for Pico (rp2040) boards using HyperSPI #691
  • Fix over 500LEDs limit for HyperSPI when RPi5 is used #691
  • Improved installers script #691
  • Address CodeQL findings #691
  • Fix logging tab that can be empty when opened and add button to copy logs #691
  • ArtNet LED Controller: add toggle to prevent pixel color data split across two artnet universes. Fixes issue #657#691
  • Ability to change MQTT Topic. Fixes issue #619#691
  • MQTT: auto-resume. Fixes issue #570#691
  • MQTT ability to execute multiply commands in one request. Fixes issue #642#691
  • Each MQTT subcommand will return full response in the overall result at HyperHDR/JsonAPI/response #691
  • Fix typo in LED strip name #670 Thanks @fluchfux
  • Pipewire DMA & EGL hardware support (Wayland/x11 grabber) #556
  • Upgrade Fedora 38 to 39, Ubuntu 23.04 to 23.10 #667
  • Colorized logs #640
  • Fix macOS build #638 #671 #672
  • Update language file's. Thanks @AstaRom #617
  • Make bonjour use logging utilities. Thanks @nurikk #529
  • New interface: removed ancient Font Awesome 4 (so 2017...) Migrate to SVG: Bootstrap Icons and Google Material Icons/Symbols #605
  • New device discovery service #605
  • Stability improvements & bug fixing #605
  • Fix QT5.15 issue when building on Windows #605
  • Add new effect: Rainbow Waves #607
  • MQTT: hostname address resolver. Thanks @lougovsk #586
  • V4L: allow setting of V4L device input, fixes #537. Thanks @Thinner77 #540
  • Update flatbuffers to v23.5.26 #596
  • Pause the USB grabber when all LEDs are off to reduce load #608
  • Add support for HD108 led strip, 16/48bits colors #527
  • Use optional system libs for compiling #541
  • Update mbedtls to 3.4.0 #589
  • Add Ubuntu support to HyperHDR and Github Pages APT repository #522
  • New JsonAPI method to calculate average color of selected instance #611
  • Workaround for critical Rpi udev bug affecting serial ports #583
  • Add Arch Linux support #520
  • Fix chrome/edge fullscreen detection #519
  • Add automatic LUT downloader & installer #568
  • Allow LUT calibration when no USB grabber is present #518
  • Live update WLED/udpraw LEDs number #564
  • Add support for Raspberry Pi Pico (Rp2040) HyperSerialPico #560
  • Do not use TurboJPEG for RGB during calibration #508
  • Update Github actions/checkout@v3 #403
  • glibc requirements for DEB installer #402
  • Remove folders nesting #363
  • New JSON API method to update smoothing parameters #352
  • Update Github actions/download@v3 #372
  • Remove depraciated ::set-output from Github Action #390
  • Upgrade Bootstrap to 5.2.3 / improved 'video live preview' on smartphones #336
  • Update language file's. Thanks @AstaRom #505
HyperHDR - HyperHDR 20.0.0.0beta1

Published by github-actions[bot] 10 months ago

First test release of the upcoming next version of HyperHDR: v20beta1. Full list of changes below, with details in the attached links.

  • Refactoring. Migration to C++ Smart Pointers. Move almost all main objects management under control of modern C++ smart pointers, fully control complicated life-cycle and ownership of HyperHDR components #691
  • Windows/DirectX: use hardware acceleration (pixel & vertex shaders) for software capturing. Fixes issue #688#691
  • Windows/DirectX: fix overexposed HDR stream with pixel shader. Fixes issue #689#691
  • Windows/DirectX: autodetect HDR mode.Fixes issue #690#691
  • Automatic database backup before applying structure changes when installing new version, json backups are saved in standard HyperHDR configuration home directory #691
  • Smoothing clock is integrated directly within led driver: no more two separated & unsynchronized clocks for smoothing and led driver, also much more precise refresh times. #691
  • HyperHDR driver for WLED has been switched to WLED Audio-Reactive-Led-Strip protocol removing old 490 LEDs limit https://github.com/Aircoookie/WLED/wiki/UDP-Realtime-Control #691
  • switch libCEC to mainstream since version 6.x is widely available now #691
  • Linux: audio stream auto-resume on EPIPE error #691
  • Improved headers including for faster compilation #691
  • JSON API security vulnerability fixed #691
  • Add video buffer memory caching to Pipewire grabber #691
  • Fixed the LUT calibration page by removing potential scrollbars that could interfere with the final result #691
  • Support for Pico (rp2040) boards using HyperSPI #691
  • Fix over 500LEDs limit for HyperSPI when RPi5 is used #691
  • Improved installers script #691
  • Address CodeQL findings #691
  • Fix logging tab that can be empty when opened and add button to copy logs #691
  • ArtNet LED Controller: add toggle to prevent pixel color data split across two artnet universes. Fixes issue #657#691
  • Ability to change MQTT Topic. Fixes issue #619#691
  • MQTT: auto-resume. Fixes issue #570#691
  • MQTT ability to execute multiply commands in one request. Fixes issue #642#691
  • Each MQTT subcommand will return full response in the overall result at HyperHDR/JsonAPI/response #691
  • Fix typo in LED strip name #670 Thanks @fluchfux
  • Pipewire DMA & EGL hardware support (Wayland/x11 grabber) #556
  • Upgrade Fedora 38 to 39, Ubuntu 23.04 to 23.10 #667
  • Colorized logs #640
  • Fix macOS build #638 #671 #672
  • Update language file's. Thanks @AstaRom #617
  • Make bonjour use logging utilities. Thanks @nurikk #529
  • New interface: removed ancient Font Awesome 4 (so 2017...) Migrate to SVG: Bootstrap Icons and Google Material Icons/Symbols #605
  • New device discovery service #605
  • Stability improvements & bug fixing #605
  • Fix QT5.15 issue when building on Windows #605
  • Add new effect: Rainbow Waves #607
  • MQTT: hostname address resolver. Thanks @lougovsk #586
  • V4L: allow setting of V4L device input, fixes #537. Thanks @Thinner77 #540
  • Update flatbuffers to v23.5.26 #596
  • Pause the USB grabber when all LEDs are off to reduce load #608
  • Add support for HD108 led strip, 16/48bits colors #527
  • Use optional system libs for compiling #541
  • Update mbedtls to 3.4.0 #589
  • Add Ubuntu support to HyperHDR and Github Pages APT repository #522
  • New JsonAPI method to calculate average color of selected instance #611
  • Workaround for critical Rpi udev bug affecting serial ports #583
  • Add Arch Linux support #520
  • Fix chrome/edge fullscreen detection #519
  • Add automatic LUT downloader & installer #568
  • Allow LUT calibration when no USB grabber is present #518
  • Live update WLED/udpraw LEDs number #564
  • Add support for Raspberry Pi Pico (Rp2040) HyperSerialPico #560
  • Do not use TurboJPEG for RGB during calibration #508
  • Update Github actions/checkout@v3 #403
  • glibc requirements for DEB installer #402
  • Remove folders nesting #363
  • New JSON API method to update smoothing parameters #352
  • Update Github actions/download@v3 #372
  • Remove depraciated ::set-output from Github Action #390
  • Upgrade Bootstrap to 5.2.3 / improved 'video live preview' on smartphones #336
  • Update language file's. Thanks @AstaRom #505
HyperHDR - HyperHDR 19.0.0.0

Published by github-actions[bot] over 1 year ago

I've published new updated build-log on my blog which includes needed components and how to build and configure the entire system. It can be useful even if you already have your system built, as it also includes optimization tips and the possibility to upgrade your setup to a multi-segment configuration.
https://www.hyperhdr.eu/2023/02/ultimate-guide-on-how-to-build-led.html

New features:

  • Added support for entertainment api v2 (hue gradient strips) ( #471) Many thanks to @gibahjoe great job! Tutorial is here: link
  • HyperHDR got new packages repository (Github Pages). More details: https://awawa-dev.github.io/ Also RPM and Arch Linux installers are available there.
  • The SD images that come with this release are already linked to the HyperHDR repository, so a future update should be much simpler.
  • Add support for ESP32-S2 mini board. It requires latest HyperSerialESP32 v9 . This firmware brings also support for parallel multi-segments, that allows to double the refresh rate of large sk6812/ws2812b setups for free (a proper LED strip design is required)
  • ESP8266/ESP32 handshake for the AWA Adalight ( #432)
  • Save/restore WLED state and set max brightness at startup ( #353)
  • Adalight: auto-resume and ESP8266/ESP32 auto-discovery ( #494)
  • Add support for utv007 / Linux ( #423)
  • LED strip designer context menu incl. blink selected LED, zoom, edit, move, disable, delete single LED (more: #379)
  • Modifiable SPI path with device auto-detection (more: #346)
  • Flatbuffers: multiple custom LUT files support (more: #334)

Fix:

  • Automatic signal detection timing (#410)
  • Fix the black color for disabled LEDs (#419)
  • Fix: critical unicolor averaging bug causing very dark colors (more: #379)
  • Fix: web LED live simulator doesn't update (more: #337)
  • Fix: Improved HyperHDR web server startup (more: #351)
  • Fix: Restore support for ZasLuke Capture card (more: #335)
  • Fix: Philips Hue: do not treat stream errors as critical when retrying
  • Align SPI buffer for HyperSPI to 4 bytes
  • Fix: Use longer reset pulse (#468) Thanks @nurikk

Improvements:

  • Improved LED device performance (dropping frames that have exceeded the hardware capabilities of the LED device, UDP/SPI devices are not affected as the process is handled by the OS)
  • Update de.json (#411) Thanks @Duese123
  • Update nl.json (#491) Thanks @NicoLouis-be
  • Update Github actions/upload@v3 (#373)
  • Unified internal clocks (more: #355)
  • Colored cmake output (more: #364)
  • Support for precompiled headers (more: #359)
  • Improved REST API network driver (WLED, Philips Hue etc) (more: #354)
  • Github Action: upgrade runner to macos-12 (more: #341)
  • Update actions/cache@v3 (more: #371)
HyperHDR - HyperHDR 19.0.0.0beta2

Published by github-actions[bot] almost 2 years ago

I think that the number of changes and fixes introduced recently fully justifies the release of one more test version before the stable one.

New features:

  • HyperHDR got new packages repository (Github Pages). More details: https://awawa-dev.github.io/ Also RPM packages are available there and Arch Linux installers are planned.
  • The SD images that come with this release are already linked to the HyperHDR repository, so a future update should be much simpler.
  • Add support for ESP32-S2 mini board. It requires latest HyperSerialESP32 v8 firmware https://github.com/awawa-dev/HyperSerialESP32/releases/tag/v8.0.0.0 . This firmware brings also support for multi-segments, that allows to double the refresh rate of large sk6812/ws2812b setups for free (well, at least a proper LED strip design is required)
  • ESP8266/ESP32 handshake for the AWA Adalight (#432)
  • Save/restore WLED state and set max brightness at startup (#353)
  • Add support for utv007 / Linux (#423)

Fix:

  • Automatic signal detection timing (#410)
  • Fix the black color for disabled LEDs (#419)

Improvements:

  • Improved LED device performance (dropping frames that have exceeded the hardware capabilities of the LED device, UDP/SPI devices are not affected as the process is handled by the OS)
  • Update de.json (#411) Thanks @Duese123
  • Update Github actions/upload@v3 (#373)
HyperHDR - HyperHDR 19.0.0.0beta1

Published by github-actions[bot] almost 2 years ago

Check out also latest HyperSerialEsp8266 and HyperSerialESP32 releases. Both projects were migrated to PlatformIO which greatly simplify customizations and building the firmware in case if you want e.g. to change default serial port speed or the pin-outs (support for Github Actions!). Also HyperHDR v19 new feature allows me to remove old "first LED enabled/disabled" firmware version, because now you can set it up in HyperHDR.

New features:

  • LED strip designer context menu incl. zoom, edit, move, disable, delete single LED (more: #379)
  • Modifiable SPI path with device auto-detection (more: #346)
  • Flatbuffers: multiple custom LUT files support (more: #334)

Bug fixing:

  • Fix: critical unicolor averaging bug causing very dark colors (more: #379)
  • Fix: web LED live simulator doesn't update (more: #337)
  • Fix: Improved HyperHDR web server startup (more: #351)
  • Fix: Restore support for ZasLuke Capture card (more: #335)
  • Fix: Philips Hue: do not treat stream errors as critical when retrying

Improvements:

  • Colored cmake output (more: #364)
  • Unified internal clocks (more: #355)
  • Support for precompiled headers (more: #359)
  • Improved REST API network driver (WLED, Philips Hue etc) (more: #354)
  • Github Action: upgrade runner to macos-12 (more: #341)
  • Update actions/cache@v3 (more: #371)
HyperHDR - HyperHDR 18.0.0.0

Published by github-actions[bot] about 2 years ago

Changelog (v18 key highlights can be found on the HyperHDR blog link )

New features:

  • Registering HyperHDR services with the MQTT broker
  • System event support: hibernation/sleep/wake up/resume
  • WLED Configuration Wizard can discover WLED devices on the network
  • Added WLED auto-resume initialization and improved existing Philips Hue auto-resume feature
  • Reworked network discovery service and added Windows support
  • Frame Buffer software screen grabber (Linux)
  • New config option to fix static flickering for DX11 grabber (#275)
  • Improved Philips Hue wizard
  • Protocol buffers HDR tone mapping (mainly for Android Screen Grabber #263)
  • Replaced protobuf with a lightweight nanopb library
  • Limit for software screen grabbers increased to 60FPS
  • New software grabber for Linux: Wayland (pipewire/portal). Support for Ubuntu 22.04 LTS!
  • Wayland grabber: support for pipewire/portal protocol version 4 persistent authentication
  • New fully automatic LUT calibration for HDR/SDR/YUV
  • New set of dedicated LUT tables for supported grabbers
  • 30% improved performance for MJPEG HDR mode
  • Add white channel calibration for RGBW led strips and latest HyperSerialEsp8266/HyperSerialESP32/HyperSPI (Adalight HyperSPI)
  • New dynamic video cache buffers (improved performance, fixes #142)
  • Performance information panel in the overview tab
    • CPU performance and RAM usage (excluding Apple M1)
    • CPU temperature reading (Linux only, when the sensor is present)
    • Under-voltage detection (Raspberry Pi OS only)
    • USB grabber performance (shows framerate and latency)
    • Instance input images to LED colors performance
    • LED device output performance
  • New JSON API function to control USB grabber: brightness, contrast, saturation, hue
  • USB grabber latency benchmark (link)
  • HDR tone mapping for flatbuffers (PR #215 thanks @chbartsch)
  • Dynamic LED layout resize on the container size changed
  • Improved and refactored LED devices model and communication
  • Flatbuffers: HDR tone mapping can use alternative filename: flat_lut_lin_tables.3d
  • FlatBuffers: add support for high performance local sockets (link)
  • The new build scheme allows graberless configuration and usage of external toolchains
  • Add popular 'UDP raw' (WLED compatible) receiver for HyperHDR (link1 link2)

Bug Fixing:

  • Fix variuos memory leaks reported by diagnostic tools
  • Fix Philips Hue reconnection issues
  • Synchronize interface to FlatBuffers HDR state when no USB grabbers are present in the build
  • Fix for DirectX11 grabber secondary monitor capturing (fixes #223)
  • Fix translations for parametrized items. Germany resources corrected (thanks @tuxuser)
  • Fix for broken LED raw JSON editor (fixes #235)
  • Fix looped communication in the remote tab
  • Fix restart issue of X11 software screen grabber (fixes #167)
  • Fix LED devices on/off race condition
  • Fix saving Yeelight configuration (fixes #133)
  • Fix inter-thread communication
  • Fix saving changed Philips Hue configuration
  • Fix LED devices state synchronization
  • Fix invoking setting static color from the system menu
  • Ignore Bluetooth devices during Adalight auto-discovery
  • ProviderRestApi and ProviderUdpSSL are rewritten to fix variuos related issues
  • ProviderUdpSSL (Philips Hue) ability to resume the connection when the communication stream is broken
  • Fix for the undervoltage detection for newer Raspberry Pi OS

Improvements:

  • Migration from Pi-gen to CustomPiOS (Rpi SD images)
  • Utilizing and migration to C++ smart pointers
  • Move the flatbuffer server to separate thread
  • Upgrade MBEDTLS to version 3.1
  • Upgrade FlatBuffers to version 2.0.0
  • Switch to mainline libjpegturbo 2.x
  • Use prebuild protobuf compiler for Windows or the system library for other targets
  • Updated rpi_ws281x library
  • Windows and macOS releases are using QT6.2 LTS
  • Windows: migrate the solution and documentation to Visual Studio 2022
  • Removed: tinkerforge and USB-HID support
  • Removed: LED device latch time

Community:

HyperHDR - v18.0.0.0beta3

Published by github-actions[bot] over 2 years ago

Beta3

  • Registering HyperHDR services with the MQTT broker
  • System event support: hibernation/sleep/wake up/resume
  • WLED Configuration Wizard can discover WLED devices on the network
  • Added WLED auto-resume initialization and improved existing Philips Hue auto-resume feature
  • Reworked network discovery service and added Windows support
  • Frame Buffer software screen grabber (Linux)
  • New config option to fix static flickering for DX11 grabber (#275)
  • Improved Philips Hue wizard
  • Protocol buffers HDR tone mapping (mainly for Android Screen Grabber #263)
  • Replaced protobuf with a lightweight nanopb library
  • Limit for software screen grabbers increased to 60FPS
  • Fix for the undervoltage detection for newer Raspberry Pi OS

Beta2

New features:

  • New software grabber for Linux: Wayland (pipewire/portal). Support for Ubuntu 22.04 LTS!
  • Wayland grabber: support for pipewire/portal protocol version 4 persistent authentication
  • New fully automatic LUT calibration for HDR/SDR/YUV
  • New set of dedicated LUT tables for supported grabbers
  • 30% improved performance for MJPEG HDR mode
  • Add white channel calibration for RGBW led strips and latest HyperSerialEsp8266/HyperSerialESP32/HyperSPI (Adalight HyperSPI)
  • New dynamic video cache buffers (improved performance, fixes #142)
  • Performance information panel in the overview tab
    • CPU performance and RAM usage (excluding Apple M1)
    • CPU temperature reading (Linux only, when the sensor is present)
    • Under-voltage detection (Raspberry Pi OS only)
    • USB grabber performance (shows framerate and latency)
    • Instance input images to LED colors performance
    • LED device output performance
  • New JSON API function to control USB grabber: brightness, contrast, saturation, hue
  • USB grabber latency benchmark (link)
  • HDR tone mapping for flatbuffers (PR #215 thanks @chbartsch)
  • Dynamic LED layout resize on the container size changed
  • Improved and refactored LED devices model and communication
  • Flatbuffers: HDR tone mapping can use alternative filename: flat_lut_lin_tables.3d
  • FlatBuffers: add support for high performance local sockets (link)
  • The new build scheme allows graberless configuration and usage of external toolchains
  • Add popular 'UDP raw' (WLED compatible) receiver for HyperHDR (link1 link2)

Bug Fixing:

  • Fix variuos memory leaks reported by diagnostic tools
  • Fix Philips Hue reconnection issues
  • Synchronize interface to FlatBuffers HDR state when no USB grabbers are present in the build
  • Fix for DirectX11 grabber secondary monitor capturing (fixes #223)
  • Fix translations for parametrized items
  • Fix for broken LED raw JSON editor (fixes #235)
  • Fix looped communication in the remote tab
  • Fix restart issue of X11 software screen grabber (fixes #167)
  • Fix LED devices on/off race condition
  • Fix saving Yeelight configuration (fixes #133)
  • Fix inter-thread communication
  • Fix saving changed Philips Hue configuration
  • Fix LED devices state synchronization
  • Fix invoking setting static color from the system menu
  • Ignore Bluetooth devices during Adalight auto-discovery
  • ProviderRestApi and ProviderUdpSSL are rewritten to fix variuos related issues
  • ProviderUdpSSL (Philips Hue) ability to resume the connection when the communication stream is broken

Improvements:

  • Migration from Pi-gen to CustomPiOS (Rpi SD images)
  • Utilizing and migration to C++ smart pointers
  • Move the flatbuffer server to separate thread
  • Upgrade MBEDTLS to version 3.1
  • Upgrade FlatBuffers to version 2.0.0
  • Switch to mainline libjpegturbo 2.x
  • Use prebuild protobuf compiler for Windows or the system library for other targets
  • Updated rpi_ws281x library
  • Windows and macOS releases are using QT6.2 LTS
  • Windows: migrate the solution and documentation to Visual Studio 2022
  • Removed: tinkerforge and USB-HID support
  • Removed: LED device latch time

Community:

HyperHDR - v18.0.0.0beta2

Published by github-actions[bot] over 2 years ago

New features:

  • New software grabber for Linux: Wayland (pipewire/portal). Support for Ubuntu 22.04 LTS!
  • Wayland grabber: support for pipewire/portal protocol version 4 persistent authentication
  • New fully automatic LUT calibration for HDR/SDR/YUV
  • New set of dedicated LUT tables for supported grabbers
  • 30% improved performance for MJPEG HDR mode
  • Add white channel calibration for RGBW led strips and latest HyperSerialEsp8266/HyperSerialESP32/HyperSPI (Adalight HyperSPI)
  • New dynamic video cache buffers (improved performance, fixes #142)
  • Performance information panel in the overview tab
    • CPU performance and RAM usage (excluding Apple M1)
    • CPU temperature reading (Linux only, when the sensor is present)
    • Under-voltage detection (Raspberry Pi OS only)
    • USB grabber performance (shows framerate and latency)
    • Instance input images to LED colors performance
    • LED device output performance
  • New JSON API function to control USB grabber: brightness, contrast, saturation, hue
  • USB grabber latency benchmark (link)
  • HDR tone mapping for flatbuffers (PR #215 thanks @chbartsch)
  • Dynamic LED layout resize on the container size changed
  • Improved and refactored LED devices model and communication
  • Flatbuffers: HDR tone mapping can use alternative filename: flat_lut_lin_tables.3d
  • FlatBuffers: add support for high performance local sockets (link)
  • The new build scheme allows graberless configuration and usage of external toolchains
  • Add popular 'UDP raw' (WLED compatible) receiver for HyperHDR (link1 link2)

Bug Fixing:

  • Fix variuos memory leaks reported by diagnostic tools
  • Fix Philips Hue reconnection issues
  • Synchronize interface to FlatBuffers HDR state when no USB grabbers are present in the build
  • Fix for DirectX11 grabber secondary monitor capturing (fixes #223)
  • Fix translations for parametrized items
  • Fix for broken LED raw JSON editor (fixes #235)
  • Fix looped communication in the remote tab
  • Fix restart issue of X11 software screen grabber (fixes #167)
  • Fix LED devices on/off race condition
  • Fix saving Yeelight configuration (fixes #133)
  • Fix inter-thread communication
  • Fix saving changed Philips Hue configuration
  • Fix LED devices state synchronization
  • Fix invoking setting static color from the system menu
  • Ignore Bluetooth devices during Adalight auto-discovery
  • ProviderRestApi and ProviderUdpSSL are rewritten to fix variuos related issues
  • ProviderUdpSSL (Philips Hue) ability to resume the connection when the communication stream is broken

Improvements:

  • Migration from Pi-gen to CustomPiOS (Rpi SD images)
  • Utilizing and migration to C++ smart pointers
  • Move the flatbuffer server to separate thread
  • Upgrade MBEDTLS to version 3.1
  • Upgrade FlatBuffers to version 2.0.0
  • Switch to mainline libjpegturbo 2.x
  • Use prebuild protobuf compiler for Windows or the system library for other targets
  • Updated rpi_ws281x library
  • Windows and macOS releases are using QT6.2 LTS
  • Windows: migrate the solution and documentation to Visual Studio 2022
  • Removed: tinkerforge and USB-HID support
  • Removed: LED device latch time

Community:

HyperHDR - v17.0.0.0

Published by awawa-dev about 3 years ago

This is the most important HyperHDR update to date, bringing new features, fixes, and changes to: UI, video processing, JSON API, translation resources, software screen grabbers and LED drivers. SD card OS images include new AARCH64 version for Raspberry Pi 2 (rev. 1.2), 3 and 4 as tests showed performance improvements compared to the 32-bit armv7l.

Changelog (v17 key highlights can be found on the HyperHDR blog link ):

  • fix for default LUT table for both SDR (yuv/nv12/i420) and HDR video stream: BT2020 color space matrix multiplication bug, truncating values to the allowed range and apply proper processing order. First & major LUT table update since v14 (important: included after v17 beta2 so testers need to upgrade HyperHDR and recalibrate automatic signal detection if used)
  • upgrade ancient Bootstrap 3 to version 5 (the core of the user interface)
  • replace and update most of UI components, new layout picture1, picture2, picture3, picture4, picture5, picture6
  • software screen grabbers (Windows: DirectX11 / Linux:X11 / macOS:CoreGraphics) pictureWin
    pictureLin pictureMac #46
  • automatic signal detection with smart learning capability for USB grabbers (you can have only one algorithm enabled at the time: automatic one or the old, difficult to setup and unreliable manual one) picture1 picture2 picture3 picture4 picture5 picture6
  • new feature: auto-resume option for video grabbers when capturing stops for some reason (for example: changing the resolution or refresh rate of the incoming video stream) picture1
  • re-implemented backup import / export function for ALL instances settings in place of the old functionality that clumsily imitated creating of backups, which in many cases resulted in data loss picture1
  • current video stream information in the 'overview' tab picture1
  • support for my new HyperSPI project (https://github.com/awawa-dev/HyperSPI) with awa_spi LED driver picture1
  • new video stream crop method in JSON API picture1 #64
  • JSON API documentation in a form of live playground in 'Advanced' tab picture1
  • new feature: execute multiple JSON commands via GET request using single link picture1
  • 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 picture1, you can even improve the effect with the anti-flickering filter with threshold set to 255
  • add timeout for the anti-flickering filter picture1
  • fix: in specific cases some devices could not react to 'no-signal' when it's triggered
  • translation resources are updated
  • new panel for easy video resolution & refresh mode selection picture1 picture2
  • add release for AARCH64 architecture #68 PERFORMANCE INCREASED UP to 30% COMPARED to Rpi 32bits: 32bit 1280 32bit 1920 64bit 1280 64bit 1920
  • fix for WLED new network protocol #90
  • HDR tone mapping is available as a global component picture1 picture2 picture3
  • new feature: add list of available COM ports for the adalight driver picture1
  • removed redundant default JSON config in favour of JSON Schemas defaults
  • fix missing Linux taskbar icon
  • support for libCEC 6.0.2 to turn on/off video & system grabber picture1
  • support for libCEC to turn on/off HDR tone mapping with remote buttons (CEC or libCEC is quite buggy here and dependent on the hardware, with LG C9 must restart TV to make them work) picture1
  • HyperHDR is ready for QT6.2 (tested with the preview version/Vulkan/Windows)
  • lower CPU usage when automatic signal detection triggers 'nosignal' ('save resources' for software framerate decimation) picture1 #93
  • standardize libJPEG-turbo library (where it's necessary)
  • fix values premature clipping in the LUT generator & SDR preview rendering fix, access available now from the menu ('Advanced' tab)
  • suppress most of external components' warnings while building
  • faster image to LED colors transformation
  • import 'sparks' and 'system shutdown' effects to the new effect API #75
  • upgrade: rpi_ws281x library
  • better logging with instances' indexes
  • fixed power saving issue in macOS version
  • fixed memory leaks in SPI drivers
  • Boblight changed from built-in to optional component
HyperHDR - v17.0.0.0beta2

Published by awawa-dev about 3 years ago

Changes from the previous v17 beta:

  • Fix: serious bug when the WWW panel after the restart had first instance's configuration
  • New feature: auto-resume option for video grabbers when capturing stops for some reason (for example: changing the resolution or refresh rate of the incoming video stream) picture1
  • New feature: add support for ESP32 devices for HyperSPI (awa_spi driver)
  • New feature: add list of available COM ports for the adalight driver picture1
  • New feature: execute multiple JSON commands via GET request using single link picture1
  • Fix: in specific cases some devices could not react to 'no-signal' when it's triggered
  • Fix: better fit for mobile browsers the remote and JSON API wizard tab pages
  • Upgrade: rpi_ws281x library
  • Fix: validate user color selection in the remote and JSON API wizard tab pages

This is a beta version intended for testers or users who want to try out new functionalities.
It has just come out of production and despite our best efforts it may still contains bugs.
More detailed information can be found on the HyperHDR blog: link.
BEFORE INSTALLING PLEASE BACKUP YOUR HYPERHDR CONFIGURATION FOLDER (JUST IN CASE, YOUR CONFIGURATION SHOULD BE PRESERVED)

SD card images will be available for the stable release.
Please put your feedback in dedicated thread in the discussions link or report a new issue with full details.

Change log:

  • upgrade ancient Bootstrap 3 to version 5
  • replace and update most of UI components, new layout picture1, picture2, picture3, picture4, picture5, picture6
  • software screen grabbers (Windows:DirectX11 / Linux:X11 / macOS:CoreGraphics) pictureWin
    pictureLin pictureMac #46
  • automatic signal detection with smart learning capability for USB grabbers (you can have only one algorithm enabled at the time: automatic one or the old, difficult to setup and unreliable manual one) picture1 picture2 picture3 picture4 picture5 picture6
  • re-implemented backup import / export function for ALL instances settings in place of the old functionality that clumsily imitated creating of backups, which in many cases resulted in data loss picture1
  • current video stream information in the 'overview' tab picture1
  • support for my new HyperSPI project (https://github.com/awawa-dev/HyperSPI) with awa_spi LED driver picture1
  • new video stream crop method in JSON API picture1 #64
  • JSON API documentation in a form of live playground in 'Advanced' tab picture1
  • 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 picture1, you can even improve the effect with the anti-flickering filter with threshold set to 255
  • add timeout for the anti-flickering filter picture1
  • translation resources are updated
  • new panel for easy video resolution & refresh mode selection picture1 picture2
  • add release for AARCH64 architecture #68 PERFORMANCE INCREASED UP to 30% COMPARED to Rpi 32bits: 32bit 1280 32bit 1920 64bit 1280 64bit 1920
  • fix for WLED new network protocol #90
  • HDR tone mapping is available as a global component picture1 picture2 picture3
  • removed redundant default JSON config in favour of JSON Schemas defaults
  • fix missing Linux taskbar icon
  • support for libCEC 6.0.2 to turn on/off video & system grabber picture1
  • support for libCEC to turn on/off HDR tone mapping with remote buttons (CEC or libCEC is quite buggy here and dependent on the hardware, with LG C9 must restart TV to make them work) picture1
  • HyperHDR is ready for QT6.2 (tested with the preview version/Vulkan/Windows)
  • lower CPU usage when automatic signal detection triggers 'nosignal' ('save resources' for software framerate decimation) picture1 #93
  • standardize libJPEG-turbo library (where it's necessary)
  • fix values premature clipping in the LUT generator & SDR preview rendering fix, access available now from the menu ('Advanced' tab)
  • suppress most of external components' warnings while building
  • faster image to LED colors transformation
  • import 'sparks' and 'system shutdown' effects to the new effect API #75
  • better logging with instances' indexes
  • Fixed power saving issue in macOS version
  • fix memory leaks in SPI drivers
HyperHDR - v17.0.0.0beta

Published by awawa-dev about 3 years ago

This is a beta version intended for testers or users who want to try out new functionalities.
It has just come out of production and despite our best efforts it may still contains bugs.
More detailed information can be found on the HyperHDR blog: link.
BEFORE INSTALLING PLEASE BACKUP YOUR HYPERHDR CONFIGURATION FOLDER (JUST IN CASE, YOUR CONFIGURATION SHOULD BE PRESERVED)

SD card images will be available for the stable release.
Please put your feedback in dedicated thread in the discussions link or report a new issue with full details.

Change log:

  • upgrade ancient Bootstrap 3 to version 5
  • replace and update most of UI components, new layout picture1, picture2, picture3, picture4, picture5, picture6
  • software screen grabbers (Windows:DirectX11 / Linux:X11 / macOS:CoreGraphics) pictureWin
    pictureLin pictureMac #46
  • automatic signal detection with smart learning capability for USB grabbers (you can have only one algorithm enabled at the time: automatic one or the old, difficult to setup and unreliable manual one) picture1 picture2 picture3 picture4 picture5 picture6
  • re-implemented backup import / export function for ALL instances settings in place of the old functionality that clumsily imitated creating of backups, which in many cases resulted in data loss picture1
  • current video stream information in the 'overview' tab picture1
  • support for my new HyperSPI project (https://github.com/awawa-dev/HyperSPI) with awa_spi LED driver picture1
  • new video stream crop method in JSON API picture1 #64
  • JSON API documentation in a form of live playground in 'Advanced' tab picture1
  • 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 picture1, you can even improve the effect with the anti-flickering filter with threshold set to 255
  • add timeout for the anti-flickering filter picture1
  • translation resources are updated
  • new panel for easy video resolution & refresh mode selection picture1 picture2
  • add release for AARCH64 architecture #68 PERFORMANCE INCREASED UP to 30% COMPARED to Rpi 32bits: 32bit 1280 32bit 1920 64bit 1280 64bit 1920
  • fix for WLED new network protocol #90
  • HDR tone mapping is available as a global component picture1 picture2 picture3
  • removed redundant default JSON config in favour of JSON Schemas defaults
  • fix missing Linux taskbar icon
  • support for libCEC 6.0.2 to turn on/off video & system grabber picture1
  • support for libCEC to turn on/off HDR tone mapping with remote buttons (CEC or libCEC is quite buggy here and dependent on the hardware, with LG C9 must restart TV to make them work) picture1
  • HyperHDR is ready for QT6.2 (tested with the preview version/Vulkan/Windows)
  • lower CPU usage when automatic signal detection triggers 'nosignal' ('save resources' for software framerate decimation) picture1 #93
  • standardize libJPEG-turbo library (where it's necessary)
  • fix values premature clipping in the LUT generator & SDR preview rendering fix, access available now from the menu ('Advanced' tab)
  • suppress most of external components' warnings while building
  • faster image to LED colors transformation
  • import 'sparks' and 'system shutdown' effects to the new effect API #75
  • better logging with instances' indexes
  • Fixed power saving issue in macOS version
  • fix memory leaks in SPI drivers
HyperHDR - v16.0.0.1

Published by awawa-dev over 3 years ago

HOTFIX:
HDR tone mapping for MJPEG stream was completely broken since the previous v15 ( #63 thanks @setrin).
THIS UPDATE IS HIGHLY RECOMMENDED. Sorry for inconvenience.

Last year new important feature was introduced by HyperHDR for your ambient systems: support for USB grabbers using Microsoft Media Foundation in Windows. Now next significant milestone is reached: HyperHDR official support for Apple macOS and AVFoundation for direct USB grabber connection. Both for the video and audio streams.

New manual's chapter about fundamentals of HyperHDR configuration is available: read new chapter. Probably most of users know the basics but it can be useful if you are looking some information about instances & multi-light sources configuration, remotely controlling HDR tone mapping, configuring Philips Hue devices or using the audio effects.

  • New platform support: Apple macOS. You can use standard HyperHDR DMG container and after few clicks have hyperhdr application running on your system. The documentation was updated to address new OS support and to guide you through the installation process. You can find more information here.

  • Smoothing: new anti-flickering filter for low-light movie scenes. The problem haunted me and some users for a really long time. It is not caused by the software bug but it's an effect of the player/video filter processing on the input and the LED strip high refresh rate that can render discreet, constant changes around some RGB value on the output. Here is a video of the example how it manifests itself: read and watch more here. You can find details in the Smoothing section's description in HyperHDR also. But if you experience flickering on static scenes like paused movie then your problem lies elsewhere.

  • Smoothing: new 'Alternative linear' algorithm. Despite its name old 'Linear' smoothing algorithm practically is closer to the 'Exponential' one. I don't like how the old algorithm behaves in the full bright to dark transition where process begins fast and slows down much at the end (near the black color) creating some kind of non-linear decay effect. 'Alternative linear' has that side-effect minimized and can be considered as faster: around 20-30% in full transition. Anyway you can choose any of them and test it preferable on movie scenes with bright to dark transitions.

  • Upgraded LUT generator: maybe you don't know it but the LUT table in HyperHDR is used not only for HDR tone mapping. For popular YUV/NV12/I420 video streams it's also used for YUV to internal RGB conversion even without HDR tone mapping enabled to reduce CPU overload. With new version LUT table generator was redesigned and offers new features such as gamma correction and minimal threshold values. So you can tune up the video stream for HDR and mentioned above codecs to fit your needs. If you experience for ex. video shifted towards the green color you can correct it with a green gamma tuning up. Or if you want to trim very dark colors to black you can have it using minimal threshold. After you finish you should upload new LUT table to the HyperHDR home folder (location is written in the first lines in logs, later you can find information about if it was found successfully). The link to the generator is in the grabber description section or you can open it directly:
    http://IP_OF_HYPERHDR:8090/content/lut_generator.html
    You may need a sample of your video stream to test on. First turn OFF the HDR tone mapping and then take a screenshot using new button ('Screenshot') available in the HyperHDR video preview window. Next upload it to the LUT generator page using 'Upload test image' button.

  • New JSON helper for API access: standard way of communication is to send JSON packages using POST requests. But it complicates things if we don't have an access to the POST helper like linux curl on some systems or home automation solutions. Now it's possible to send JSON package using simply GET request on the address:
    http://IP_OF_HYPERHDR:8090/json-rpc?request=URL_ENCODED_JSON_PACKAGE
    For example to turn on/off HDR tone mapping remotely: read more here. You can test it in your web browser too.

HyperHDR - v16.0.0.0

Published by awawa-dev over 3 years ago

Please use v16.0.0.1 instead.

HyperHDR - v15.0.0.0

Published by awawa-dev over 3 years ago

Main feature of this release is brand new kind of effect: music visualization. In addition to that there are some important new features/changes for video processing, bug fixes, optimization and structural changes so please read the change log carefully because new version brings some breaking changes.

Most modern HDMI grabbers offer both audio and video capturing. Till now we could only use led visualization for the video content. Don't you think that it's kind of waste and we couldn't use the system for other activities? But that's the past because HyperHDR v15 introduces the audio visualization. Best effect is achieved of course with low latency grabbers and led system like new Ezcap's grabbers family and HyperSerialEsp8266 / HyperSerialWLED. But it was tested using various grabbers including popular MacroSilicone MS2109 on Windows/Linux also.

You can enable sound effect for the selected instance so you can have video visualization on the led strip and sound visualization for Philips Hue lamps simultaneously. Or go full party mode with sound visualization on both devices. For large areas lamps like Philips Hue is best to use full-screen pulse effect. Refer to the live video preview to see how the effect is visualized.

Keep in mind that your current system is configured specifically for video capturing and you must make sure that the grabber is receiving sound also. In case of troubles please refer to the HyperHDR log as there are all needed information.

  • Effects: music API for effects is introduced. First configure your sound device in the 'Effects' tab and then run selected music effect from the 'Remote' tab. Please be aware that they are causing much more flickering than the standard video visualization... just like the disco lightning does.

  • Video processing: quarter of frame mode. New feature has strong, positive performance impact especially for slower devices like Raspberry Pi Zero. The frame is fast scaled to 50% of original width and height resulting in a quarter of the original frame. For me it's a kind of controversial change because such feature as side-effect allows to hide some unoptimized code from user but at this stage I think the video processing is quite well optimized and tested. Beside some of new grabbers don't allow to change the resolution and 1080p capturing is not always best choice for fast ambilight setups. And NV12/I420 are delivering only a quarter of color information anyway so only some part of luminescence data is lost during the down-scaling process.

  • Image processing: sparse processing. Enabling this option for selected instance causes to process only 25% of the captured frame. Effect similar to new 'quarter of frame' mode in the USB grabber settings but it's for selected instances for example: for an instance with large areas for Philips Hue lamps where we don't need such precision and we can turn on sparse processing. Both options have positive, cumulative impact on performance.

  • Effects: python module is removed once and for all. That has a positive aspect for stability and resources usage. Most of old effects were rewritten and migrated to the new, fast in-app API. During the process I discovered that one, quite popular configuration of effects stole a lot of resources from the CPU without your attention ... even if you didn't use them during the session (fixed).

  • Fixes: better instances interaction and many of discovered bugs were fixed including critical ones like heap corruption while picking up a color during calibration.

  • Build system: removing python module and introduced music capability caused rework of the build system. The installers are much smaller now and all the needed dependencies should be provided for most minimal systems even if installed from tar archive. The only needed dependency for deb/rpm installers is xz-utils to extract and to install default LUT table.

  • Philips Hue: minimal and maximum brightness were moved to the 'Processing' tab where they belong. Using these settings in the internal Philips driver caused out of gamut situations where orange/blue colors appeared instead of gray at minimal/maximal level. In the Philips' driver there was always hard-coded gamma correction ('candy gamma') and now you have opportunity to disable it as it has quite heavy impact on the lamps and it's not always a good option. Also HyperHDR will wait now for the Hue bridge to start up for all configurations: fix introduced in the previous version worked only for one instance.

  • OpenHab automation system: basic interaction with multiple LED's instances was fixed. May have impact on other integrated external applications that are using JSON API also.

  • ⚠️Breaking changes: names of the components, configuration file and folders have changed so to:

    • Start/stop HyperHDR as service run: sudo systemctl start/stop [email protected]
    • Run HyperHDR from command line:  /usr/share/hyperhdr/bin/hyperhdr
    • The configuration folder is .hyperhdr in the user home directory on your system. Your old configuration is kept safe and copied&migrated to the new folder automatically at startup but if you have custom LUT table in old home folder or you are on the read-only system then you must do it by yourself.
HyperHDR - v14.0.0.0

Published by awawa-dev almost 4 years ago

High responsiveness was always among the main goals of this project and reasons to fork it as HyperHDR from Hyperion NG. Now as the video processing is almost done with tuning up it's time to look at the other end of the system: the LED strip driver. You are sure that your large, high-density LED strip setup that is driven by the Adalight/Arduino doesn't have a bottleneck? Well, you may be wrong. Or do you have problems with Wifi's stability while using WLED?

Then you may be also interested in my new side-project for HyperHDR: ultra-fast USB serial port AWA protocol for ESP8266 at @2000000 baud with data integrity check at https://github.com/awawa-dev/HyperSerialEsp8266 Pure facts backed by results from the Saleae logic analyzer vs subjective opinions like "I think I don't see any lag anyway". Remember, you use it on your own risk.

It includes build-in calibration for each channel for RGBW led strips. Read more about it here: https://hyperhdr.blogspot.com/2020/12/my-build-log-using-sk6812-rgbw-led.html

There is also my new fork HyperSerialWLED available with the support for the AWA serial protocol at 2Mb speed:  https://github.com/awawa-dev/HyperSerialWLED Can't guarantee it will work as stable as HyperSerialEsp8266 because WLED has a lot of other things to do in the background (ex. handling Wifi) and timing control for the serial port could be at stake for larger number of LEDs. But you don't need to abandon all the benefits offered by the WLED which can be a big advantage for some users.

Why the data integrity check was introduced which causes incompatibility with other software? Because at 2Mb speed many chip-makers allow few percentage error in the transmission. And we do not want to have any distracting flashes.

In this version generic performance for decoding YUV stream increased up to 30% in higher resolutions. New decoders were added for incoming new modern grabbers: NV12, xRGB, RGB24, I420.

Also I own now some devices from Philips Hue ecosystem so this module received and will receive even more support if necessary. Please migrate your Hue setups to the Entertainment API. You won't want to go back to the old and very slow restful API. Check logs after you activate it as it can fall-back to the restful API in some circumstances (you should see a message about activating the stream and no errors if everything is OK). 

Main changes:

  • New: ultra-fast USB serial port AWA protocol for ESP8266 at 2 000 000 baud with data integrity check for WS2812b & SK6812 at https://github.com/awawa-dev/HyperSerialEsp8266 and https://github.com/awawa-dev/HyperSerialWLED (you use it on your own risk!)
  • Improvement: increase performance for YUV decoding up to 30% and decrease CPU usage by 40% for higher resolutions & frame rates. The internal video pipeline shouldn't be blocked now in specific circumstances (for example 1080p60).
  • New: add popular I420, RGB24 and NV12 & XRGB decoders particularly for incoming modern lossless USB3.1 grabbers
  • Fix: some non-standard chars inside the USB grabbers identifier caused the destruction of the grabber's configuration. Rullz Navy U3 is affected and probably Rullz Coffee and Black with internal loop.
  • Philips Hue fix: Entertainment API driver is back from the dead and it's working now. Lamps can be power off on black colors and wake up automatically.
  • Philips Hue new: new options to set sleep/wake time for lamps to eliminate unnecessary flickering.
  • Philips Hue fix: also for the old restful API power off/wake up issue is resolved. But please migrate to the Entertainment API as it is much, much faster.
  • Philips Hue new: add options for the bottom of the screen section for hue lamp's configuration.
  • Philips Hue new: Rpi/Windows with HyperHDR will wait for Hue Bridge if they are power on simultaneously (for ex. when they are connected to the same surge protector). Philips Hue Bridge needs about 1 minute to be ready and Raspberry Pi is much faster.
  • Improvement: better compatibility with some MJPEG grabbers and cameras for Linux.
HyperHDR - v12.1.0.0

Published by awawa-dev almost 4 years ago

This is a maintenance release that addresses all the issues reported by the users. Thanks for the feedback and time spent for testing.
If you are happy with previous version then it's perfectly fine to stay on it.

Main features:

  • Fixed really nasty bug that was causing many troubles for multi-instances & forwarding configs. The symptom was: an instance frozen on the black screen or on the boot effect.
  • Fix for a crash of the HyperHDR while using Philips Hue instance.
  • Fixed calibration problem with Kodi caused by the 'classic calibration option'.
  • HDR on/off command should be synchronized now (but these commands don't have permanent effect after reboot as designed).
  • Workaround for the new family of MS2109 grabber's clones for Windows 10.
HyperHDR - v12.0.0.0

Published by awawa-dev almost 4 years ago

For the Macro Silicone MS2109 clones please make sure that you DON'T allowed 1080p 60 frames: the device reports these settings as allowed but they won't work (beware: 1080p60 may be set on 'auto' mode automatically). Set the resolution and FPS manually to make sure of it and restart the app/service!!!

  • Fixed some non-standard video streams under Windows 10 .
    With current release all of my capture devices including Logitech camera are working correctly with the Media Foundation grabber.
    The device must have properly installed Windows driver (mission impossible for UTV007 on latest Windows) and supports of MJPEG or YUV encoding of course.
    You can view the video tutorial how it works with both WLED and Adalight Arduino USB adapter and multiple capturing devices under Windows 10 here: tutorial videos for Windows
  • Add hardware saturation & hue control for USB video grabbers if supported by the device (Windows, Linux)
  • Improved debug logger
  • A lot of small fixes and polished interface, removed some legacy options from the analog era
  • Include experimental support for USB-HID devices under Windows (must enable in cmake config file and recompile)
  • Applied some of changes and fixes from Hyperion NG including #1087 (Fix/no signal detection)

Known issues:

  • crashes with Philips Hue on some systems (will be fixed in the incoming release)
  • at startup effects cause some LED strips to remain black or stuck on the rainbow effect (please disable effects as workaround in this version)
  • color calibration using Kodi
  • not fully synchronized remote commands (will be fixed in the incoming release)