Learning about Dolby Vision and CoreELEC development

I started with a 20.5 Nexus Nightly on my N2 (not N2+) installed to eMMC - and have forced 12 bit, 4:2:2 and disabled GUI scaling - and have my standard display settings as 2160p 50Hz.

When I play 2160p Profile 5 stuff I get a black screen with my TV showing a DV logo, when I play 1080p Profile 5 stuff (output at 1080p) I get incorrectly rendered content with a very low frame rate (as though software not hardware h.265 decoding is being used?) - the colour space is right (i.e. it’s not pink and magenta) but there are semi-transparent letterbox bars in the wrong place and white dots (metadata?) at the top of the screen. If I play the 1080p DV content at 2160p I get a black screen.

I sometimes see a flash of what looks like DV RGB tunnelled video when I hit play - before the DV label appears on my display.

I’m using an LG C3 OLED via a Denon AVR - which works fine with a Ugoos via the same HDMI input on the AVR.

Haven’t touched the decoding side, or even seen anything like you are describing. Photo?

Probably, but they should be hidden in DV mode. Does your TV go into DV mode?


Currently only work with a 3840 x 2160 output. I’m guessing you have a whitelist that allows for 1080p output. Currently, that would need to be disabled.


Does profile 8 content work?

Have you changed the kodi / coreelec settings to prevent frame rate matching by any chance?

The odd decoded stuff with the metadata dots top of frame and correct colour space but incorrect brightness was only seen in 1080p output mode - not 2160p. I did get a DV logo.

I have adjust frame rate on start/stop enabled.

In 2160p I get black screen + DV logo and sound for all the DV stuff I’ve tried so far. (All profile 5 I think)

If someone can point me to test clips of the various modes I’ll try them.

The profile actually makes no difference at all. Pretty sure that triggering DV mode shows it has found valid metadata.


If you have ssh access, try entering

echo 1 > /sys/module/amvideo/parameters/vdr_dm_data_source

and then playing a SDR 2160p video. If things work, tv should go in DV mode and you should see the video playing with some hardcoded metadata

OK - I’d not rebooted after disabling GUI scaling.

Now I’ve rebooted and I’m playing 1080p Profile 5 (dvhe.05.03) in 2160p and I’m getting very bright video with the right colours and white dots top of frame. I get a flash of what looks like RGB tunnelling when I hit play.

My Denon AVR says 4K24 Dolby Vision in RGB 8bits.

Another 2160p DV file plays with what looks like better brightness with just one tiny little bit of unchanging metadata dots at the top of frame?

Not quite, right color-space, but still missing the reshaping that should be done that does impact the colors.


Is this after doing the ssh command? If so , undo with

echo 0 > /sys/module/amvideo/parameters/vdr_dm_data_source

or just reboot

Haven’t done any SSH stuff yet.

No need now. Sounds like just need to work out why the metadata can be seen.

Try the L5 active area offset P8 DV TEST.mp4 file from Level 5 (active area) – Google Drive

Say if the TV goes into DV mode, and then if you see changing black bars as the video plays

I get a Dolby Vision logo and a Red Screen and semi-transparent grey letterbox and pillarbox bars (= reduced brightness red) - not black bars.

No white metadata dots.

(I also did the SSH stuff and got DV mode with the wrong colour space when I echo-ed 1 and played a regular 2160p SDR Rec 709 YCbCr file. The DV logo appeared and I assume the YCbCr was rendered as ICtCp instead. When I echoed 0 things reverted to normal?)

that’s normal and L5 works as expected.

Ah - I wonder if the issue is related to the 1080p DV stuff I have?

** EDIT - Scrub that - I’ve got 2160p DV stuff that is also doing the white dots at top of frame thing **

Maybe remove avr Denon from the equation.

Go direct to LG from Box

Yes - I was thinking that might be the next step.

@R3S3T_9999 Can you clarify the expected result from that file?

I am seeing hard clipping, i.e., black letterbox and pillarbox bars, from that test file. Both from my CoreELEC build and from the internal player on my tv.

Is the expected result black bars or semi-transparent (= reduced brightness red) bars?

If there where no dots at the start of the file when Top=0, then it sounds like you have found a bug where an L5 crop wasn’t being added on your other file that acts to hide the metadata.

Can you share a sample of a file where you can see the white dots?

On my C2 and Hisense TV, it’s transparent too but on my old C8, it’s a solid black. So I guess you have an older TV?

Sony X90J, so only a few years. Interesting that it is different, do you know what is more “correct”?

Both are correct. There’s no raised black even with a high positive lift (offset) value of 4095 on the C2 and C8.

1 Like

@noggin I now think everything is working fine for you - just your TV treats a L5 crop differently to mine.

I have been embedding the metadata as full brightness pixels as it was simple for testing and my TV complete hides the metadata under the L5 crop.

Because I don’t actually have access to the 12-bit luma and chroma channels, I can’t actually put the metadata in the chroma LSB where it should be to minimise visual impact. But I should be able to use something with a small brightness to embed the metadata instead of the current full brightness pixels.

1 Like