EDID Override - Injecting a Dolby VSVDB Block

Sounds most intriguing. :thinking:

100% sure most people will be wanting to understand more (based on your comments) the device must be decoding the FEL layer and displaying it (note: generally would not expect much colour in the FEL layer) - and that does sound like big news!

I think some more details will help here, and a quick and concise way would be some photos - can just be from a phone as long as clear and taken square on and capture the whole screen etc. (i.e. not some weird angle hard to make out blurred photos :slight_smile: ) can just paste into a reply post.

I would suggest the following as a starting point so all can get on the same page:

  • Make sure all the settings are set as expected - set to use Lossless.
  • Reboot the device.
  • Take a photo of: Settings → CoreELEC → About
  • Take a photo of: Settings → System → CoreELEC
    • Make sure to scroll and capture all settings here - probably two photos.
  • Play the BL_EL.mkv
    • Take a few photos showing the two layers - most obvious is the woman and camera.
  • Take a photo of the on screen overlay showing the EOTF etc. (Keyboard “O”)

Files for you and others to test, original BL_EL and BL and EL on their own so can see what each is adding:


Unfortunately after more testing
This is false hope.

What has happened is Kinhank G1 will only display HDR10 playback. now.

Or is falling back to default display on TV

TV is TCL is Dolby Vision and HDR 10 and HLG

With your tar file all Dolby Vision testfile
HDR10 only on TV

Not sure if it is just TV default to HDR10

OK - next time capture some photos.

1 Like

Apparently @doppingkoala is working on DV support for non-licensed devices here:

So maybe there is hope for the future?

I think Kinhank G1 is a supported/licensed device…

It is, but it hasn’t been able to decode FEL until now.

As others already have said the Kinhank G1 is a DV supported device (FEL hasn’t yet worked though) and the interesting part about @freddy’s post is seeing something that comes from the enhancement layer.

As my work you linked to doesn’t do anything the enhancement layer it isn’t really relevant here.

It is false hope

Kinhank is not decoding fel 7

When Dolby test file is converted/forced as HDR 10

I can see the woman in the dress holding camera
She is all gray in color ,and appears more than once.

Only for a split second

The rest is garbled colors

Did you download the separate EL.mkv and BL.mkv I uploaded in the previous post?

Those should play ok for you so you can see what is actually on the two layers independently.

Did what you see when playing the BL_EL.mkv look like a mixture of those two separate files playing together?

It is hard to determine from words only but what you said could still fit with your device decoding the EL layer.

I just downloaded now
Can test after work.

From when i purchased Kinhank G1 it was noted that there is no fel 7 decoding /playback.

Also there is no DTB for Kinhank in CoreELEC 4.9
So i use generic sc2 s905x4 4g blob to boot CoreELEC
USB ethernet adapter for ssh.

I do not know if dovi.ko is read from Android vendor kernel at boot.

Fantastic work!

What are your recommended settings for all of your additions to CoreELEC including V10 conversion for SDR8, SDR10, …

Thank you

sir, I work it out with your calculator sheet but can’t find the min and max luminance nits.

Also I uploaded the EDID.bin of my PJ. Would you pls take an eye on it?


C2U_Auto_EDID.bin (256 Bytes)

FYI I just trimmed down that spreadsheet - cannot take credit for most of the work there.

Min Lum is in Cell F6 in your pic 0.019
Max Lum is in Cell I6 in your pic 696

Both are dropdowns - to select the possible values from, pick the one closest to your projectors abilities.

Would try without (not supported) the 12b 444(1) - Cell M6

Color Space you need to check your projector, can just try each one and see.

The Dolby VSVDB you create e.g. 49236899601BB1 you can put into the:
Dolby VSVDB - Payload setting in the UI, no need for any EDID saving/creating/loading etc.
It will pick up the Payload each time you play content.

No real recommendations as it is subjective, and dependent on your setup.

But here is what I have currently:

Mode: On [Prefer the reduced switching and not concerned on my display]
GUI Max Lum: 100 [not too dim but display friendly]
Type: Display Led (DV-Std)
Colorimetry: BT.2020nc [There is a slight effect on my LG E8 - and I prefer this]
For SDR8 → DV [Don’t watch much SDR and what I have is high quality, but can be a bit over the top but overall I default to this and switch to other if the result is not working well]
For SDR10 → DV [Similar to above]
For HDR10 → DV
For HDR10+ → DV [Recommend off if you have an HDR10+ display]
For HDRHLG → off [Not sure on the colours in other mode, prefer off most of the time]
For DV → off

I switch now and again depending on content.

Of the original CE settings on this page I set:

Disable noise reduction: On
Tone map SDR to HDR: Off [Should leave off if using DV VS10]
Tone map HDR to SDR: Off [Should leave off if using DV VS10]

Yes, I’m aware of the Min Lum and Max Lum should be different but hv no idea about abilities of my own one. So I just keep it unchange first.

Would try without (not supported) the 12b 444(1) - Cell M6 → If not supported 12b 444, the VSVDB will change to 49236898601BB1

Also I understand The Dolby VSVDB I calculated 49236899601BB1 could be put into the:
Dolby VSVDB - Payload setting in the UI of CE working without saving as new EDID.bin to load etc.

I will try both later. Also I will try to select other Min & Max Lum to create closest one to my PJ. Thank you so much.

@cpm : I Hope I’m not insisting too much but do you still think it might be feasible to change the SDR10 output (when VS10 set to output to SDR10) to have its tone-mapping working with another maxlum than 100nits ? Asking for people owning good old projectors without SMPTE ST 2084 (HDR10 PQ)

Feature Complete - Update 4

  • VS10 mapping and [GUI peak luminance in HDR PQ mode]

    • Should correctly work for all permutations (up and down mapping) with one exception for HDR10+
      • No way at this point in the code to distinguish HDR10 and HDR10+
      • need upstream work in Kodi to correctly identify each type first
      • HDR10+ maybe wrong for the OSD GUI peak luminance control, if you have different HDR10 and HDR10+ VS10 mapping (i.e. in the unlikely scenario you down map HDR10 but leave HDR10+ off or map to DV).
  • Code refactoring

    • Various improvements (no user visible changes)

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

Update tar

Dolby VSVDB Calc (no update)


At this point it is only guesstimation that 100 is used - as that is feed to the closed source dovi.ko - but it may be overridden there - like DV is which is using the displays luminance min/max instead.

If can get conclusive proof that mapping for SDR10 for each different source (in dovi.ko parlance modes e.g. from SDR8, HDR10 etc.) is all at 100 max then can add a parameter to override that 100 value from the ssh command line, otherwise will be on the back burner for a bit and can eventually create a test build to try.

1 Like

Ok, my guess is there are 3 possibilities:

  • The value which is fed to the dovi blob is kept intact and so we can change it
  • The value taken is the one from the VSVDB if existing (yes that would be odd but that’s a possible bug if the tone-mapping code is not completely aware of the output mode at some point, but since it must be aware of color space that’s unlikely they did wrong for luminance and right for color space) → in this case I can already do some testing changing the VSVDB values to spot any differences → this method would be somewhat valid (but weird)
  • The value is overriden internally in the dovi blob (likely 100 nits in this case) and we can’t do nothing about it (so a testing build with command would not have any impact :frowning: )

This is amazing! Thank you!!

After testing this latest update, it seems to break the [GUI peak luminance in HDR PQ mode] for actual Dolby Vision files (DV = off). OSD brightness didn’t change at all.
It works before this latest update.
Files using VS10 for playback are fine though, OSD brightness changes based on the slider.

1 Like