webosbrew / hyperion-webos

hyperion.ng video grabber for webOS
MIT License
143 stars 27 forks source link

Pale LED colors via hyperion(piccap) #118

Open phyte22 opened 2 months ago

phyte22 commented 2 months ago

Hi, I've already tried a lot of things and got some help via the openlgtv Discord. Unfortunately without success so far. I hope that my thread here is okay.

My setup: LG C3, RP2040 with HyperSerialPico, SK6812RGBW CW, HyperHDR, PicCap, Apple TV 4K running default settings on HyperHDR and PicCap

Problem: Pale colors when Piccap is set as source in HyperHDR with a static test image via my external source (Apple TV)

Live Video Feed in HyperHDR is very dark compared to real image on TV image

What I have tried so far:

I hope someone here has a tip and can help me. Thanks you!

satgit62 commented 2 months ago
*** static test image not called up via Apple TV but via LG browser**

And that's wrong! You want to calibrate your HDMI player and not your LG browser. You have to download the appropriate file (2,560 × 1,920) from https://de.m.wikipedia.org/wiki/Datei:EBU_Colorbars.svg#file and play it with your player (via Apple TV) as a picture/photo. From a PC/tablet browser, call up HyperHDR web interface and check the colors in LED Visualization with the color pipette.

In PicCap, you have to set the resolution to 320 × 240 and the correct video and UI backend according to your webOS version. For the C3, this should be “libvtcapture” and “libhalgal”. In Advanced Setting you can try with Quirk_DILE_VT_NO_FREEZE_CAPTURE. Or if the image in LED Visualization is too fuzzy then QUIRK_ALTERNATIVE_DUMP_LOCATION “dump loc 1” See: https://github.com/webosbrew/hyperion-webos/pull/107

phyte22 commented 2 months ago

static test image not called up via Apple TV but via LG browser

this was just a one time test, my "normal" procedure is to view the saved "Colorbars" image from Wikipedia in my photo library via the Apple TV. Result can be seen in my posted picture. (left white bar is grayish in my HyperHDR live view.

you probably meant 320x180 and not 320x240 right? I'm running piccap with libvtcapture and libhalgal with Autostart and VSync.

I tried _QUIRK_DILE_VT_NO_FREEZECAPTURE and _QUIRK_DILE_VT_DUMP_LOCATION2 but unfortunately no improvement and the same phenomenon. Is the second setting what you meant? Unfortunately I can't quite figure out from #107 thread how exactly to set dump loc 1

phyte22 commented 1 month ago

Can no one help me?

kornner commented 3 weeks ago

Hi. Not sure if you have already found a solution to your issue yet. I have the exact same setup as yours, but with a G1. On my TV, using the QUIRK_DILE_VT_DUMP_LOCATION_2 greatly helps with the colors but introduces noticeable latency when playing DV content to the point it becomes too distracting. (I choose this piccap route over external sync box because it's the only way to have ambilight with TV-led DV, so I'm not going to give up DV performance for that.)

What I found by surprise that helped with my situation is that I revert back to the default dump loc option, and adjust on HyperHDR the white channel limit for the SK6812 in the LED hardware setting. Turns out the LED colors appeared muted because the dedicated white channel was overpowering the RGB. Now I have the white channel limit at 70% and the colors look great. I just had to adjust the yellow balance a bit in image processing because it appears too green.

I don't care about the color value accuracy from the preview screen anymore, because in my case, a perfect green, yellow, & cyan value somehow rendered way off by the LEDs when compared to the actual image on my G1. Weirdly enough the original dump loc option may not give the most color accurate preview on HyperHDR, but LED colors match my TV better with way lower latency.