Modify characteristic curve per colour #78
Replies: 6 comments
-
|
Since your profile suggests that you have engineering experience, I would like to ask how you yourself view the issue of solving this problem? Considering that the RP2040 does not have hardware support for floating-point numbers. Do you display the requested color with specific RGB components, or do you base it on what is on the TV? And if so, did you accurately calibrate the LUT for your system, since generally such a symptom indicates a misalignment of BT.2020 relative to sRGB. At least when it comes to grabbers. On the other hand, if the LED displays such colors for the given RGB in the remote control tab, and as long as the wall color doesn't lean towards green, it would indicate that these LEDs are electronic junk. In the calibration of the Infinite Color Engine, you can change the components, including green, but only by percentage: any other transformation is hocus pocus/placebo if you don't know the specifics of the LED, which is probably not linear. |
Beta Was this translation helpful? Give feedback.
-
|
In HyperHDR I requested a specific color to be shown via the effects tab. I believe that the LUTs do not play a role here (and if they do, they're taken through this installation method) I'm aware that I can decrease the green output in the color engine via the HyperHDR page, but that obviously limits the ability to show green when there's green on the display. The characteristics of the LEDs are unknown, but with trial and error I could figure out what a suboptimal curve could be for my LEDs. So far I only noticed these incorrect colours with yellow, the rest seems to be acceptable and doesn't distract. I'm not sure if such calibration should be part of HyperSerialPico or HyperHDR, but it wouldn't be a bad idea to have a curve editor in HyperHDR. |
Beta Was this translation helpful? Give feedback.
-
|
Unfortunately, I do not plan to implement a functionality that would fix what the manufacturer of these particular LEDs screwed up, and besides, I doubt the effectiveness of such an operation. |
Beta Was this translation helpful? Give feedback.
-
|
However, there is a solution with one, although rather insignificant for you, catch since you've already decided on the colors you want: in GUI: LED calibration, you can set the RGB calibration points, but also the yellow/cyan/magenta one however you like. Since pure green suits you, don't touch it, but set yellow to what interests you, i.e., #FF7F00 instead of #FFFF00. Then yellow and colors near it geometrically (in linear RGB space) will have a reduced green component. And the catch? Colors specified by the user in the remote tab bypass this calibration, assuming that we render colors given exactly RGB parameters, so you won't verify it there. However, everything else, including colors obtained from averaging the video stream, goes through this calibration. Use the latest version v22beta0. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the suggestion to try the calibration for the secondary colours. It seems that my LED strip does not take that well at all. Odd things happen (e.g. on an image with overwhelming blue and purple, the top starts to show yellow). |
Beta Was this translation helpful? Give feedback.
-
|
So, go back to what I wrote to you at the beginning: LUT calibration. It looks like your webOS setup is so unusual that you have to calibrate the LUT yourself. It's not difficult, the calibration logs will give you specific information on how the yellow color was reproduced, and you'll definitely lose less time—just a few minutes—doing this than buying and reassembling the new LED (unnecessary if the LUT was miscalibrated). Beside a live preview of the video stream in HyperHDR should confirm that something is wrong with the colors on the input. Also you can redirect HyperHDR color output to the file to debug their RGB values if you want. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I have an SK6812CW 12V LED strip and it seems to not follow the default RGB order. I was able to swap R and G in the struct to solve this.
My second issue is that the green colour is quite dominant. For example, when I set the colour to yellow (#FFFF00), the LEDs emit a yellow-green light. I have to set the colour to orange (#FF7F00) to get yellow.
I can decrease the green brightness in HyperHDR and it all works fine, until there's green on the screen, it's whiteish and washed out (because the green brightness is limited by half).
Where in the code am I able to adjust the characteristic curve for just the green colour? The CalibrationConfig class seems to be a calibration for white, as decreasing the green value yielded no different result.
Beta Was this translation helpful? Give feedback.
All reactions