-
-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LUT processing for MJPEG is broken, affects blue channel (was: Cannot run HyperHDR) #63
Comments
I suspect your QT doesn't have QStringView. It was introduced in QT 5.10. You should get the version of your QT libraries during configuration phase with cmake. Migration to QStringView in v16 was necessary to comply with QT6 compatibility (and maintain some backward compatibility but supported QT 5.10 was introduced in 2017). EDIT: Ok, I see it now Qt Version: 5.7.1 |
There are linked system dependencies like GLIBC_2.28 that can't be provided alongside HyperHDR because they won't work anyway due to conflict with your system libraries and architecture. The "dependency hell" is here even worse that on Windows. Anyway should it work with most modern OS based on Ubuntu, Debian Buster/Bullseye distros (even minimal). |
First of all, big thank you for quickest reaction i've seen 🥇 Sorry but i'm newby in terms of linux and libs and compiling stuff. I have followed "How to compile" page and it threw those errors. What would you suggest? Could you maybe point me somewhere? Now i'm just lost as i tried to google how to update Qt lib i couldn't find easy solution. Thank you very much |
There should be brake-stop in the configuration phase to display an error about minimal QT version anyway (and I'll add it in one of next commits) but I guess it won't change much in your situation ;-) |
I have tried to update my QT lib but without success. It's too complicated for me :D I have installed QT 5.15 but cmake can't find it and still uses 5.9 which is installed by default.
Unfortunately, this doesn't make sense to me 😕 What i ultimately wanted is to get better color from HDR HDMI capture as current video using Hyperion is unusable |
I see that you used tar with sources. It does not contain external dependencies (in project:dependencies/external subfolders are empty) that's why you receive that errors. It can be easily fixed. Again 2 possible solutions:
|
So that's how you clone v15 repo. I was scratching my head how to do it and just downloaded source files instead. |
So i finally been able to return to HyperHDR and after few hiccups v15 works great 🙂 Thank you for your guidance again Don't get me wrong, it's huge improvement compared to classic Hyperion style, but i wonder if it could be better. |
Did you activated HDR tone mapping in the grabber properties? And check in the logs if HyperHDR found your custom LUT table in the default paths. |
And I hope you worked on the sample image that was captured from the HyperHDR (Screenshot button) when the HDR tone mapping was OFF. Otherwise you will get overlapsed result (double HDR tone mapping). |
Change gamma/saturation/luminance in the grabber properties BEFORE taking sample and creating LUT table, otherwise preview in the LUT generator works on different input. |
Preprocessor/calibrations settings has completly no impact on the live preview. There are used to LED calibration. |
Yep, i turned off HDR mapping and did the screenshot. |
During initializations it's normal |
Yes, sorry i just read whole log and found
So this should be good as well. It seems weird to me that same picture produces different results in Live Preview and in LUT Generator. The one in Generator is spot on |
And please dont change any saturation, hue, brigtness settings at all for now. If you did it earlier you may need to restart system because it stores v4l2 settings anyway. And best to delete /home/setrin/.hyperhdr before that to make sure default settings will be applied. |
I give up ;) There is no possibility to achieve 2 different results with the same LUT table other than video stream properties has changed due to some playing with the grabbers settings . |
Ok, that's fine 😄 I can live with the result, it's not too bad 🙂 i will try to mess around some more, maybe i will find something i've missed. Thank you very much for all the help. |
Frankly blue channel is completely broken and unusable. So there is difference not only in the video preview but also in the generator which is different from my picture (which also come from the lut generator page)?
Verifying HyperHDR translation/label's text would be appreciated ;) |
If you could post full logs at pastebin. Maybe it reveals something. |
and please screencapture your current video screen (whole WWW page on the grabber settings page with the live preview activated and visible) with tone mapping ON and second screenshot with hdr tone mapping OFF to compare a difference. |
The LUT generator looks the same as your picture. Only Live preview has broken blue channel. Here are the logs: https://pastebin.com/W6t8ying |
That's what i don't understand. Why LUT generator gives perfect results, but in live preview it's broken with tone mapping on and with same grabber settings. Anyway, i have compensated it a little with gamma levels in image processing and increased saturation. Colors ale little off, but it much better than what Hyperion could offer wit HDR turn on on my playstation.
I can speak English on reasonable level (B2 maybe even C1) as well as Czech, but my mother tongue is Slovak. If you could use this, i'm happy to help :) |
There is something wrong in the processing but I can't explain it for now. Logs look normal.
EDIT: |
' Quarter of Frame mode ' is most suspected. But also there is strange resolution 800x450. Could you set some other resolution and make sure that width and height are divided by 4? |
Thanks. I will try later to put that test sample through full MJPEG pipeline and simulate your settings in HyperHDR to see if I could reproduce it. |
I will be forever grateful if you would be able to find solution for this stubborn issue. |
Hi Thank you very much for reporting that issue as it is critical one. For your v15 please replace your ImageResampler.cpp in libsrc\utils folder using new version from the attached archive. And for translation if you could take last 68 items from en version HyperHDR/assets/webconfig/i18n/en.json ("edt_conf_v4l2_hdrToneMapping_title" is first) and put it translated in HyperHDR/assets/webconfig/i18n/cs.json? But no hurry, hope next version will be after summer ;-) |
Hi 🙂 Ok, i will do my best to get the proper translation for those ready by next release 🙂 |
Yes, please replace ImageResampler.cpp in the v15 project that you already downloaded and recompile it & build DEB new package (" |
OK, closing as it's fixed. |
Bug report, debug log and your config file (FULL LOGS ARE MANDATORY)
hyperhdr: /lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.28' not found (required by /usr/share/hyperhdr/bin/../lib/libQt5Core.so.5)`Steps to reproduce
Tried to run HyperHDR x86 64bit version and i got error above.
What is expected?
HyperHDR is running
What is actually happening?
I get error message above.
I have also tried to compile it on my system as well, but i got another error
/home/setrin/apps/hyperhdr/libsrc/boblightserver/BoblightClientConnection.h:9:10: fatal error: QStringView: No such file or directory
Full build error here:
[ 85%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/leddevice_autogen/mocs_compilation.cpp.o [ 86%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/leddevice_autogen/EWIEGA46WW/qrc_LedDeviceSchemas.cpp.o [ 86%] Linking CXX static library ../../lib/libleddevice.a [ 86%] Built target leddevice Scanning dependencies of target boblightserver [ 86%] Building CXX object libsrc/boblightserver/CMakeFiles/boblightserver.dir/boblightserver_autogen/mocs_compilation.cpp.o [ 86%] Building CXX object libsrc/boblightserver/CMakeFiles/boblightserver.dir/BoblightClientConnection.cpp.o [ 86%] Building CXX object libsrc/boblightserver/CMakeFiles/boblightserver.dir/BoblightServer.cpp.o In file included from /home/setrin/apps/hyperhdr/libsrc/boblightserver/BoblightServer.cpp:6:0: /home/setrin/apps/hyperhdr/libsrc/boblightserver/BoblightClientConnection.h:9:10: fatal error: QStringView: No such file or directory #include <QStringView> ^~~~~~~~~~~~~ compilation terminated. libsrc/boblightserver/CMakeFiles/boblightserver.dir/build.make:86: recipe for target 'libsrc/boblightserver/CMakeFiles/boblightserver.dir/BoblightServer.cpp.o' failed make[2]: *** [libsrc/boblightserver/CMakeFiles/boblightserver.dir/BoblightServer.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /home/setrin/apps/hyperhdr/build/libsrc/boblightserver/boblightserver_autogen/EWIEGA46WW/moc_BoblightClientConnection.cpp:9:0, from /home/setrin/apps/hyperhdr/build/libsrc/boblightserver/boblightserver_autogen/mocs_compilation.cpp:3: /home/setrin/apps/hyperhdr/build/libsrc/boblightserver/boblightserver_autogen/EWIEGA46WW/../../../../../libsrc/boblightserver/BoblightClientConnection.h:9:10: fatal error: QStringView: No such file or directory #include <QStringView> ^~~~~~~~~~~~~ compilation terminated. libsrc/boblightserver/CMakeFiles/boblightserver.dir/build.make:110: recipe for target 'libsrc/boblightserver/CMakeFiles/boblightserver.dir/boblightserver_autogen/mocs_compilation.cpp.o' failed make[2]: *** [libsrc/boblightserver/CMakeFiles/boblightserver.dir/boblightserver_autogen/mocs_compilation.cpp.o] Error 1 In file included from /home/setrin/apps/hyperhdr/libsrc/boblightserver/BoblightClientConnection.cpp:26:0: /home/setrin/apps/hyperhdr/libsrc/boblightserver/BoblightClientConnection.h:9:10: fatal error: QStringView: No such file or directory #include <QStringView> ^~~~~~~~~~~~~ compilation terminated. libsrc/boblightserver/CMakeFiles/boblightserver.dir/build.make:62: recipe for target 'libsrc/boblightserver/CMakeFiles/boblightserver.dir/BoblightClientConnection.cpp.o' failed make[2]: *** [libsrc/boblightserver/CMakeFiles/boblightserver.dir/BoblightClientConnection.cpp.o] Error 1 CMakeFiles/Makefile2:2000: recipe for target 'libsrc/boblightserver/CMakeFiles/boblightserver.dir/all' failed make[1]: *** [libsrc/boblightserver/CMakeFiles/boblightserver.dir/all] Error 2 Makefile:151: recipe for target 'all' failed make: *** [all] Error 2
If someone would be able to help me, i would really appreciate it
System
Server OS:
The text was updated successfully, but these errors were encountered: