EDID Override - Injecting a Dolby VSVDB Block

This one: GitHub - anxdpanic/plugin.video.youtube: Watch your favorite YouTube content on Kodi

The authentication is a bit awkward - you have to create a Google OAuth token and allow it to access the YouTube Data API. Once it’s set up though it works pretty great.

1 Like

Took me a while to get my Youtube set up also. but is now also working fine, I used Alternate 2 user.

Any step by step guide please, the github guide is not clear

1 Like

@DMDreview

FYI this is what I see going out of the box:

--------parsing DRM/HDR--------
hdr_transfer_feature: 0x10
hdmi_current_hdr_mode: 0x1
hdmi_last_hdr_mode: 0x1
DRM.enable: enable
[0x10001168]: 0x1
version: 1
[0x10001169]: 0x1a
size: 26
[0x1000116a]: 0x2
eotf: ST 2084
[0x1000116b]: 0x0
metadata_id: static metadata
primaries:
0, 0,
0, 0,
0, 0,
white_point: 0, 0,
luminance: 0, 0,
max_content: 0
max_frame_average: 0
--------parsing AVIInfo--------
AVIInfo.enable: enable
[0x10001019]: 0x42
colorspace: 444
active_format_present: enable
bar: disable
scan: disable
[0x1000101a]: 0xe8
colorimetry: Extended
picture_aspect: 16:9
active_aspect: Same as picture_aspect
[0x1000101b]: 0x60
itc: disable
extended_colorimetriy: BT.2020
quantization_range: default
nups: unknown
[0x1000101c]: 0x5d
vic: 93
[0x10001017]: 0x0
ycc_quantization_range: limited
content_type: graphics
[0x100010e0]: 0x10
pixel_repetition: no
[0x100010b7]: 0x47
datauto: RDRB
[0x100010be]: 0x0
rdrb_interpolation: 0
[0x100010bf]: 0x1a
rdrb_perframe: 1
rdrb_linespace: 10

colorimetry is bt.2020 non-constant (nc or c not output in that info).

Feature Complete - Update.

Currently not thinking to add any further features to these builds for Dolby Vision - happy to attempt to fix any defects


Edit: rebooting in DV On mode may have problems of no visible screen! on some displays, don’t reboot with it on for now.
Edit2: looks related to frequency 24Hz boot ok, 60Hz no image.
If you get stuck with no image and can ssh, then the below works to get the display back for me.

cat /sys/class/display/mode > /sys/class/display/mode


  • DV Modes

    • On - DV always on (note: not from boot, but from kodi start)

      • Except when VS10 has been set off for the content type being played, then will play as per the content type without VS10.
    • On Demand - DV on when playing DV content or using VS10.

    • Off - DV / VS10 completely off.

  • DV Types

    • Display Led (DV-Std) - normally the best mode if available, aka tv-led.

    • Player Led (DV-LL) - low latency DV.

    • Player Led (HDR) - low latency DV processing but output as 12bit HDR PQ0.

      • Note: with a VSVDB Injected can use this mode with non-DV capable display just needs to be HDR capable.
  • VS10 mapping

    • Map up to SDR10, HDR10, DV as applicable, configured by content type.
    • Map down to SDR10, SDR8 as applicable, configured by content type.
      • Note: mapping down to HDR10 from DV is broken in AMLogic (hence no option for this in the UI) - but can use Player Led (HDR) as a better quality alternative for this case.
  • Dolby VSVDB Injection

    • Inject or override an existing Dolby VSVDB (V1 or V2).
    • Required for Player Led (HDR) on a non-DV capable display.

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

update tar file


Dolby VSVDB Calc

6 Likes

First of all apologize for Noob question ! Trying this for the first time , any guide to fresh install this Tar file on Minix U22X-J (Max) , what will be the recommended setting for one who uses Jvc projector and have HDfury in the path . Thanks for the great work .

Recommended way for testing is on a seperate/new micro sd-card.
Follow the normal install process for CE to that sd-card and then copy the tar into update to upgrade to this version.
Search around a bit on the above and should be good.

You can continue to use the HDFurry (assuming you are altering the EDID with a Dolby VSVDB) and then use Player Led (DV-LL).

Alternatively with Player Led (HDR) there is no need for the HDFurry for the DV use case, as a Dolby VSVDB can be entered and injected via the CE UI Settings, and Player Led (HDR) will output in HDR, so in this case effectively everything that was happening in the HDFurry is being done on the Ugoos directly.

4 Likes

On the VSVDB payload calculator do I have to insert any values that is particular to Jvc NP5 model , because I see LS12000 in there or is it based on the videos that been played .

Yes you would need values applicable to your projector - could start with the same as what you are putting into your HDFury?

The calc was a re-work of others work, to make things a little simpler, it’s origins and original versions are here:
https://github.com/xnappo/ez_dv_edid_fw/archive/refs/heads/main.zip

You could have a hunt around there as they were doing settings for a few different projectors.

[Link also in the spreadsheet I shared]
Dolby VSVDB Calc

1 Like

Hi, the Use display luminance setting removed?
I dont see now, in the settings.

Yes it is removed.

Determined to be not useful, empirical testing evidence suggested it had no effect outside altering the cd/m2 luminance min and max for graphics mode, and video mode min and max looks to always pick up from the Dolby VSVDB directly through another route, which is the mode used for playing videos.

There was also some thought it was used in the composer when have BL + FEL, but again from the empirical testing evidence looks like not the case. (if there is something there it is likely again using the Dolby VSVDB settings directly through another route)

Lastly we now need more control of the graphics mode luminance for the OSD (kodi menus etc.) - and bring it right down to 100 cd/m2 for DV Mode → (always) On

1 Like

hello sir, would you pls have to try to add a EDID reader into CE as well as VSVDB?

It’s there already built into the AMLogic Linux implementation - please check though the posts in this thread for details - I started with loading a complete EDID and show how to extract, edit with Third Party editors, and how to load again (with caveats on hot plug).

thank you sir, it looks like a little bit complicated for me. In you new build there is Payload input for Hex String e.g.: 490348A15855A2, do we still need to load it again with the jonke-pj-lldv.bin file via ssh? or just restart CoreELEC to make it work until next hot plug the HDMI?

FYI this is dev and testing topic - you will need a basic level of understanding/comprehension to get involved at this stage, for example those EDID instructions would be considered quite basic level :slight_smile:

Loading a EDID is different to the VSVDB Injection (although they are related), you appear to be mixing them up.

For the Dolby VSVDB Injection, you just need to set the Dolby VSVDB Payload in the UI and it will inject each time relevant content is played so you can actually change the value between content if you want to try things, (reading the previous posts will provide you with all the context).

All that is needed form your side is to supply a Dolby VSVDB Payload appropriate to your display - recommend to do some more reading up if you are struggling with what that means.

Actually I’d like to read the EDID of projector Hisense C2 Ultra to set it into the Payload in Dolby VSVDB in order to get better view than direct HDR10.

If the projector supports LL or Std DV, then can just set the DV Type to that, as the Dolby VSVDB would already be in the EDID coming from the projector (no need to inject one) - this is the normal case for DV displays.

Dolby VSVDB Payload is there to override that with different settings (for advanced users) or more likely to inject one because the projector is not DV capable.

If the projector is not DV capable then when reading the EDID you will not find any Dolby VSVDB to extract!

sir,thanks so much. Now I should try LG C2 Dolby VSVDB Payload: 44 0b 78 56 98 a9 53 instead. :grinning:

Command only works to switch off the rpu for display led not player led unfortunately.

1 Like