Dynamic conversion of HDR10+ SEI to DV P8 NAL

It was a defect in my code, combo of incorrect if boundary (inline if, but if should have covered two statements) and variable shadow, so all metadata was offset by several bytes incorrectly.

Everything now having num windows of 1.

This feature would be extremely useful for all LG TV that only support DV.

I can help test any builds.

1 Like

T5 Update

  • Testing cut for dynamic HDR10+ > DV P8.1 conversion.

Based on latest CE ng 21 Head (as of 28th Aug 2024) incorporating all prior changes up to and including T4A.

https://github.com/CoreELEC/CoreELEC/tree/coreelec-21

With changes applied on top of latest Head of:

https://github.com/CoreELEC/xbmc/tree/aml-4.9-21.1
https://github.com/CoreELEC/linux-amlogic/tree/amlogic-4.9-20
https://github.com/CoreELEC/media_modules-aml/tree/amlogic-4.9.269

L5 Metadata currently is not being adjusted - should not be relevant to tv-led but interesting if any real negative impact seen in player-led.


When testing use the below tar to update a fresh install of CE-21 ng.

Update tar


If it is not clear already, this is for testing only to try out functionality.
I will do my best to find a time slot for any repeatable issue found and attempt to fix / improve.

EDIT: There is a clear defect in the UI for the new HDR10+ setting if not in [mode: on demand], will update in a few days, it is just a UI issue so if set correct in [mode: on demand] then will be ok for [mode: on] as well.

11 Likes

I’ve tested with Breakthrough (2019), for me (LG C4) the picture flashes when switching scenes.

One feature that I would love to see is a bit more info on the Player Processor Window. Right now, it only shows Dolby Vision 8bit or 12bit. It would be amazing if it could like Dolby Vision P7 FEL STDL 8bit or Dolby Vision P8.1 8bit.

Play A Beautiful Planet 2016 color wrong
abnormal

normal

setup

Try updating to the latest version and using the new conversion method.

latest CoreELEC-Amlogic-ng.arm-21.1.1-Omega_devel_20240828092856.T5

Hit the letter (i) info on keyboard

Pause during playback
Move to settings
Video

Also clt + o will bring up top left corner

Thanks a lot, I will test this.

Is there a description available somewhere that explains the different Peak Brightness Source options?

You should change Mode to “On demand”, then the new “Dynamic HDR10+ to Dolby Vision Profile 8.1 conversion” option will become visible.

1 Like

Yep saw that, I am assuming that the same source put through dovi_tool is ok?

Probably best bet is another dev to look over the code either:

  • Not correctly getting the HDR10+ Meta
  • Not correctly converting / preparing the HDR10+ Meta to DV P8.1 Meta (most likely)
  • Not correctly applying the DV P8.1 Meta

Not sure where the issue is currently.

All code is in my *detla branches if anyone can check?

Did it work on the previous version for VS10 - For HDR10+ ?

I saw this previously when HDR10+ meta data was not stripped from the stream and tried to use VS10 so maybe broke that. (only for Player Led - Display Led was always fine iirc)

All the logic is based on @quietvoid’s Rust code converted to C++.


Also used the CRC 32 (mpeg2) from @doppingkoala C implementation which uses a lut, over my original pure calc method.

According to your code you’re simply converting the HDR10+ SEI and reinserting as RPU at the same offset in the buffer?
That shouldn’t work because the RPU is meant to be the last NALU in the access unit.

1 Like

My sony 95H only supports LLDV
DV mode=on demand,type=player-led,hdr10+ to p81=yes,Play HDR10+. ISO Movies,The color is normal, it’s HDR10, not DV.
DV mode=on demand,type=VS10 only,hdr10+ to p81=yes,Play HDR10+. ISO Movies,The color is normal, it’s HDR10, not DV.
HDR10 converted to DV, the color is not normal

Do you have an update file for 21.1? I updated last night and didn’t realise you had released this. I would love to test Sakra and Alien which are both HDR10+ movies.

the T5 update.tar from cpm a couple posts above is based on the latest 21.1.1 Omega release.

1 Like

would hold off for a bit - will release another one soon, implementing a change based on quietvoid’s feedback and will include a fix for UI settings.

7 Likes

T6 Update

  • Testing cut 2 for dynamic HDR10+ > DV P8.1 conversion.

  • Add RPU NAL at end of BitstreamConvert

  • Fix UI defect for new HDR10+ setting

Based on latest CE ng 21 Head (as of 28th Aug 2024) incorporating all prior changes up to and including T5.

L5 Metadata currently is not being adjusted - should not be relevant to tv-led but interesting if any real negative impact seen in player-led.


When testing use the below tar to update a fresh install of CE-21 ng.

Update tar


If it is not clear already, this is for testing only to try out functionality.
I will do my best to find a time slot for any repeatable issue found and attempt to fix / improve.

14 Likes