I looked at your output, and this looks good.
Strange how your F-Model works with the same code as all other H-models, whereas other F-models don't.
The color arrangement is due to REVERSE and OFFSET, playing with these values should get your LED strip right
OFFSET and REVERSE should just influence which pixel has which color. What I was confused about was that the actual rgb values from the log did not correspond with the colors from the test image you posted (which I used for the test). Some were quiet similar but for example "
[AmbiLight] final-pixel: [0,200,246]" (from my AmbiLight3.log) is some kind of turquoise, which I cannot find in the test image at all.
Am I misunderstanding something here?
Thank you for your work!
This is normal. It's due to the fact, that your TV shows a higher resolution, say 1920x1080, if you use Chromecast, like I did, sometimes the image is also of lower quality and has different colours in it (happend to me too) Also, libAmbiLight grabs a 96x54 sized image, which compresses everything down. This approach solves two problems, one is that it lets the TV calculate the "visible-color" pixel... so insted of having 1920 pixels (which can have 1920 different values), it reduces it to 96 values, of which you only need maybe 40-50. The other problem is speed. It's much more performant to work with 96 pixels instead of 960.
I made some plain test images and reran the test with the normal method:
samyGOso -d -T -B -l /mnt/opt/privateer/usr/libso/libAmbiLight.so H_LEDS:36 V_LEDS:18 SERVER_IP:192.168.1.32 SERVER_PORT:5050 OFFSET:17 REVERSE TEST
The images and the corresponding logs (which I attached) have me believe, that the red and blue values in the logs are interchanged. Do you agree?
(I had some trouble attaching the images, so I rared them.)
You do not have the required permissions to view the files attached to this post.
I guess that's why I had implemented COLOR switch in libScreenShot. Looking back I think it's YUV or so, but basically just switching R and B is enough.
Update:
I implemented the COLOR option from libScreenShot for those of you with strange colors.
Also added a SLEEP option to increase the sleep-timeout if you happen to experience crashes.
Based on the logs you provided and your input, it seems like the lib only works on MST-devices. Maybe someone of higher knowledge can pick up the project and make it work for non-MST devices, since my know-how of the whole Samsung-OS system and it's functionalities is very limited. Unfortunatelly my time to dig into this topic and learn all that stuff is also limited. Although I'd really love to.
Well, at least, there's a working version for MST-devices and a fundamental PoC for other devices, who can use my code for further implementation. It's free to grab on GitLab, feel free to fork.
adonis wrote:Update:
I implemented the COLOR option from libScreenShot for those of you with strange colors.
Also added a SLEEP option to increase the sleep-timeout if you happen to experience crashes.
Based on the logs you provided and your input, it seems like the lib only works on MST-devices. Maybe someone of higher knowledge can pick up the project and make it work for non-MST devices, since my know-how of the whole Samsung-OS system and it's functionalities is very limited. Unfortunatelly my time to dig into this topic and learn all that stuff is also limited. Although I'd really love to.
Well, at least, there's a working version for MST-devices and a fundamental PoC for other devices, who can use my code for further implementation. It's free to grab on GitLab, feel free to fork.
Cheers,
Adis
Thanks for your hard work Adis!
I hope someone can give a hand for non MST. Unfortunately the non MST is the Samsung best hardware, quite difficult to hack though.
adonis wrote: ↑Mon Oct 15, 2018 11:55 am
Update:
I implemented the COLOR option from libScreenShot for those of you with strange colors.
Also added a SLEEP option to increase the sleep-timeout if you happen to experience crashes.
Based on the logs you provided and your input, it seems like the lib only works on MST-devices. Maybe someone of higher knowledge can pick up the project and make it work for non-MST devices, since my know-how of the whole Samsung-OS system and it's functionalities is very limited. Unfortunatelly my time to dig into this topic and learn all that stuff is also limited. Although I'd really love to.
Well, at least, there's a working version for MST-devices and a fundamental PoC for other devices, who can use my code for further implementation. It's free to grab on GitLab, feel free to fork.
Cheers,
Adis
Thank you very much so far for the time invested into that for us
Too bad it didn't work for the non MST devices. As far as I could see in the source code and could see by short analysis of the exeTV the function for my firmware is "_ZN9TDiScaler13CaptureScreenEP8CDSize_tPhP20CDVideoFrameCommon_t8CDRect_t". It looks to me at least almost like the already existing ones in the samyGO_whacky_t. Maybe i'm wrong with it... Furthermore, g_IPanel, which is probably called "TDiPanel" or "CDiPanel" by me, doesn't make me smarter. But unfortunately I have already reached my limits at this point and a few attempts to get the whole thing executable in the libscreenshot have also failed. Maybe this information will help somebody else.
adonis wrote: ↑Mon Oct 15, 2018 11:55 am
Update:
I implemented the COLOR option from libScreenShot for those of you with strange colors.
Also added a SLEEP option to increase the sleep-timeout if you happen to experience crashes.
What exactly does the COLOR option do? I would have expected the option to have parameters to switch one color with the other. Does it somehow recognize, if colors are switched and corrects it automatically?
adonis wrote: ↑Mon Oct 15, 2018 11:55 am
Update:
I implemented the COLOR option from libScreenShot for those of you with strange colors.
Also added a SLEEP option to increase the sleep-timeout if you happen to experience crashes.
What exactly does the COLOR option do? I would have expected the option to have parameters to switch one color with the other. Does it somehow recognize, if colors are switched and corrects it automatically?
It just reverts red and blue as zoelchat already mentioned.