HDR-issue with 2017 LG OLEDs or with the Vero?

Has anyone tried burning these test patterns to disc and tried playing them with an actual BD player?

It can be done but don’t need to burn it to a disc. Most players should have USB port to plug a flash drive with these files on it.

@HDRpotato will be interesting to see how the N2 behaves with your OLED when you get it. For me & my Q9FN its pretty much perfect and easily on par if not better than my Oppo. Doesn’t play DV (never will) and HDR10+ (currently - bug) but I use Oppo for those.

As Sam says, a lot of the code in N2/CE is from OSMC. Agree with your comment on keeping the Vero. My Vero 4K+ is currently relegated to bedroom as there is no way I can bring myself to watch HDR on it until the MaxXXX issue is resolved. There are some people on here who object very vociferously to that statement but why would I? I don’t have time to watch HDR movies multiple times until I get the best possible picture.

I used DVS HDR Calibration disk patterns and Spears & Munsil Benchmark UHD disk to test & play (when I am bored). For SDR, I use Display Calibrations Ted’s Disk. Was in the market to buy an Accupel Pattern generator but sadly its been discontinued. Was supposed to the best one out there. The N2 matches or betters the Oppo for my QLED. But, may be different for OLED.

Also use Xrite iPro 2 Spectrometer & IPro Display 2 Calorimeter to calibrate using CalMan.

All the pattern disks I mentioned have been proven to be bit perfect. In case anyone feels like blaming them. Or, one could just blame the test patterns and be done with it …… sigh ……

No point in keeping that Oppo since you have the N2.
Mind selling it to me for $100?

Add on an extra 0 and I may think about it.

Doesn’t play DV (never will) and HDR10+ (currently - bug) but I use Oppo for those.

As usual, you are very selective in what you read and respond to.

Your m9702 will right?
So with an m9702 and an N2 all your bases will be covered.

PS: You are correct, I am selective in what I respond to, who isn’t?

The grass is not always greener on the other side.
I received a N2/CE device a few days ago for a project I can’t do with a Vero 4K+ and imho it is very much more a hobbyist device with not much support.
Yes it may play HDR better until the Vero moves to the next kernel but I have had several issues with it that my Vero’s simply just work on.
The first was it refuses to work with my Windows 10 SMB shares, so much so I gave up after a couple of days and ended up installing Hanewin NFS server to work with it.
Secondly the ethernet port was giving less than optimised performance, my initial thought was to install autofs to eliminate buffering on high bitrate 4K files but its OS will not support this so I ended up plugging in a spare USB ethernet adapter I had which thankfully works perfectly.
Then I found that sound will not work on BBC Freeview broadcasts when they implement Dolby Digital sound in their broadcasts (still gotta find a cure to that as these broadcasts are very infrequent).

I’m still in the process of setting this up as I want it but my first few days with it make me feel I’ll run into other problems.

All in all and on the assumption @sam_nazarko and the OSMC team cure the HDR issue in the near future I’d thoroughly recommend paying a bit extra for a Vero 4K+ not only to get the wonderful support everyone offers here, but also to get a more mature device and versatile OS.

The N2 is not a bad device, but annoying in comparison to my Vero’s.

As an aside I wonder if these test patterns hadn’t shown up these discrepancies how many people would notice anything wrong in real world watching of an HDR movie or TV show on their Vero’s?

I didn’t buy an N2 and never planned to. That was just something Sam said in case I did buy one.

Absolutely. How do you think we got here in the first place? The “test pattern” is a simple way to check for it without having to explain much, it’s a clear cut test. Much easier than uploading scenes from movies and asking people to describe what they see or should see.

I have an update. @grahamh @sam_nazarko @WilliamG

I had some time to test some further stuff after William noticed different behavior between our two identical devices.
First off, I’d like to apologize for creating a bit of confusion. In the days leading up to my post, I have compiled a total of 62(!) sample files regardings this issue which I have tested on multiple players and devices to find a common pattern to help identify the issue/cause. As you might remember, I started this topic off with the 2000nits clip which was the easiest for me to test since I could make sure no player would use some sort of fallback which coincidantelly aligns with the mastering data (most devices would probably use 1000 or 4000 in such a case, so having the 2000nits pattern flash correctly would be a good indicator of correctly reading and passing its metadata).
However, 2000nits was close to 1000nits and people with some post processing turned on could mistake the 2000nits for 1000nits, so I replaced the test clips to make it more resistent. This was a mistake. I was 100% sure I have tested the 1000nits pattern on the internal player and/or the FireTV, but with the number of test files I had collected I must’ve missed it and misremembered. But apparently, I have not :frowning:

This does not change the core issue regarding this topic though. Just how to interpret the errors. It turns out, the TV is not tonemapping everything to 4000nits. The 2017 LG OLEDs just have a broken 1000nits tonemapping (thanks LG for your great customer support and not fixing this basic issue after abandoning a year old TV series!) I don’t know how long the firmware has been broken like this but having my display HDR calibrated back then, I’m pretty sure that was not an issue before.

Anyway, here’s the gist:
2017 OLEDs have correct tonemapping for everything except in the range 801-1199cd/m². This range causes the TV to tonemap to 4000nits. I don’t know why, I don’t know if this is on purpose, I can’t imagine why. But literally everything below and above those numbers works fine.
The Vero still does not send correct metadata for these TVs though or maybe the TV is not respecting what the Vero tells it. With 1000 being Vero’s fallback, this explains why everything shows up as 4000nits on the TV. The 2000nits pattern works correctly on multiple devices I tested (including the internal player) but not on the Vero. @grahamh and @sam_nazarko can you recheck if that test clip indeed sends a signal of 2000nits from the Vero? If it doesn’t, it means there’s no issue between Vero<->2017 models but just an issue on the Vero and probably something that is maybe fixed in the upcoming update.

I’ll wait for the upcoming update for further testing. This will probably fix everything except for the 2017 TVs being dumb idiots with 1000nit content.
Speaking of: this is probably highly niche but would some basic metadata manipulation be possible in the future? I’d love for the player to automatically change metadata that falls into the 801-1199cd/m² range to change it to 1200 before it sends it to the TV (same for MaxCLL). This would save me from buying a new TV (I don’t want to give LG any more money for how they keep abandoning their expensive TVs so fast) or using a HDFury device and manually set it up for every movie. I’m sure there’s a few 2017 owners out there who would love this.

2 Likes

It’s possible – but how we expose this could be tricky. It would probably just initially launch as being configurable via sysfs. Maybe we can have a trick to handle this automatically based on the TV’s EDID (although an AVR may hide it) in the same way we do to resolve issues on 2009 Phillips TVs that misadvertise colourspace support.

1 Like

Yeah I can imagine.
Maybe some sort of user-customizable python script can be called once before playback starts that’s analogous to this C code, where meta data from the movie can be overriden or something:

void overrideToneMapping(HDR10MetaData *metadata)
{
  //optimized LG OLED 2017 behavior:
  if(metadata->maxLuminance > 800 && metadata->maxLuminance < 1200)
    metadata->maxLuminance = 1200;
  if(metadata->maxCLL > 800 && metadata->maxCLL < 1200)
    metadata->maxCLL = 1200;
}

Just an idea…

Correct - all good.
Still love my Vero 4K+ and looking fwd to the fixes.

Totally - N2 support is limited (HardKernel are not the most communicative/friendliest of companies). CoreElec are decent but there is only so much they can do.

That’s why I still love the Vero 4K+. Having said that, I have not had any problems with the N2/CoreElec - but I went straight for NFS, EMMC install etc. No buffering on 4K remixes (some at 90Mbps).

Both have their pros/cons and I still love my Vero 4K+. It’s a much more polished piece of kit - but the passive heatsink and sheer speed of the N2 rocks too,

PS various people inc myself have already said that we can see the difference in pic quality quite easily. The test patterns simply provide a more scientific and consistent way.

As of October update, Vero only sends 1000/0.005 nits luminance data for all those tHDR clipping test patterns (MP4 or M2TS).
BTW, I am not sure that those test clips are actually correct. HDRMaster 8K software reports that the 1000 nits bar is actually 962.9 nits, 2000 nits is 1881.6. 10000 nits bar is reported as 10000 nits.

Also, Shield’s color issues have always been due to lack thereof or incorrect colorspace (gamut) switching. Its output has been fairly bit accurate for a long time now and it has passed correct static HDR metadata for quite some time now.

1 Like

Have you done any testing with Apple 4k TV by any chance? How is it holding up ?

All three clips (1000, 2000, 4000) were tested on an Apple TV 4K running tvOS 13.2 using MRMC, all of them show clipping at the 4000 nit mark.

Interesting. When I installed an OSMC image from December last year with Kodi 17 I think I only tried the 1000nits pattern. Maybe I need to retest this to see if it worked correctly before for the 2000 and 4000 clips.

I think the mark in the video is supposed to show the last flashing bar for the respecting nit value, i.e. it’s not supposed to be 1000 but just 1 bar shy of it.

I’m not too familiar with the Apple TV but I remember reading it will simply always transmit 1000nits for all content. Not sure if it still does that. Makes sense then that your 2017 flashes to 4000 as these LG OLED 2017 models seem to treat 1000nits as 4000nits for whatever reason.

Says here that ATV doesn’t pass HDR metadata correctly with MrMC?

https://forum.kodi.tv/showthread.php?tid=332180&pid=2897271#pid2897271

Good thread in general re Kodi devices & HDR : https://forum.kodi.tv/showthread.php?tid=332180

This is tested with a 2018 Panasonic OLED, the same clips were noted to playback at 1000 nits on the Vero 4K+.

Nope, after some test Apple TV 4k output wrong MaxCLL/FALL.

TEST Netflix MaxCLL/FALL output:
Panasonic 820
Roma: Max CLL/Max FALL 5904 / 253 nits
Travelers s03e01: Max CLL/Max 1297 / 565 nits

Apple TV 4k
Roma: Max CLL 4000/Max FaLL 1000
Travelers s03e01:Max CLL 4000/Max FaLL 1000

https://forum.kodi.tv/showthread.php?tid=332180&pid=2890267#pid2890267

Seems like an expected behaviour as noted by others.

Okay, so the AppleTV outputs everything at 4000 then. @wesk05 said all three test clips output 1000nits on his Vero 4K, which will hopefully be fixed with the upcoming kernel. So everything seems like expected behavior for you and your TV does what it’s being told to do correctly. Once the new Vero kernel releases, you should be all good.