• 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17
  • 31
Kodi + Shield + Dolby Vision
(2020-12-27, 15:53)blackreign66 Wrote:
(2020-12-27, 15:06)fritsch Wrote: That does not matter. All the mkv bits (which check for the profile) are patched in from externally. FFmpeg does not remove certain features from 4.1 to 4.3.
Other than that: Is there as of now any other devices than the Shield, that is doing DV as half-baked (firmware bug in shield) or even better? Or do we currently discuss a Shield-Only feature here?

Does Plex support "Adjust Refreshrate to match video"? Or is it just running with 60 hz fixed? Means: Is the testing that you guys do comparable?
Plex does have Refreshrate capability but it doesn't seem to work, so it's running at 60 hz fixed. Knowing this now, I decided to switch Kodi into 23.98 refreshrate fixed and remove the advancedsettings.xml. Doing this has allowed the dolby vision mkv movies to play immediately without issue 95% of the time. If I revert back to allowing Kodi to change refreshrate, it fails pretty much 95% of the time.

This is very setup dependent.

Here refresh rate switching actually helps in the odds of perfectly playing the movie.

Having the receiver on, increases even further.

I'm aware that my Denon receiver actually fixes some hdmi timings that some TVs don't like.
I know this because of the OSSC (open source scan converter) that would not work in 5x at some refreshes while direct hooked into the tv and the same resolution and refresh works if you use the receiver in the chain.

And Fire Stick, Windows, does any of those plataforms even expose their APIs for Dolby Vision?

Nvidia does have a bit for Dolby Vision but beyond that has nothing for players to send the metadata to the display.

So I guess Android and very select boxes are the only possible solution for now.
Do we need further checks? E.g. what happens if a Philips or Sony TV plays such samples with the hevc-dv codec selected for them. Do those just black screen? Or do they ignore the codec and fallback to standard HEVC?

If they fail ... we need to invest in a "allow list" approach, sadly (new word for blacklist I was told, from someone writing from a foxcon IPhone claming I would support slavery).
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
I can test with LG OLED B9 with latest firmware.

It might be a good idea to stablish a proper test files list and their respective profiles in their file names.
(2020-12-27, 15:06)fritsch Wrote: Other than that: Is there as of now any other devices than the Shield, that is doing DV as half-baked (firmware bug in shield) or even better? Or do we currently discuss a Shield-Only feature here?

So far it's been working on the Shield, and I think there's been a mention of running it on an Android TV directly too.


(2020-12-27, 16:22)hoppel118 Wrote: quietvoid is working on FireTV 4K Stick compatibility.

I'm not 'working' on it, I just made an issue but I still have no idea how to get it working Smile
So far the only difference between Kodi and ExoPlayer (according to logs) is that Kodi reconfigures the renderer when it receives the first frame from the DVHE decoder.


(2020-12-27, 17:02)fritsch Wrote: Do we need further checks? E.g. what happens if a Philips or Sony TV plays such samples with the hevc-dv codec selected for them. Do those just black screen? Or do they ignore the codec and fallback to standard HEVC?

If they fail ... we need to invest in a "allow list" approach, sadly (new word for blacklist I was told, from someone writing from a foxcon IPhone claming I would support slavery).

There are devices which can't playback profile 7 FEL files correctly, but it would be complicated to make a blacklist for this as the decoders don't advertise their real capabilities to the OS/software.
I'm not sure of which Android based device other than the Shield can play them, but others usually fail with a black screen (like the Firestick at least) instead of falling back to HDR10.
Okay, that means a setting is needed.

For Render-Reconfiguration: It happens infact after we receive the first frame from decoder. If you don't switch refreshrates and play a file with the resolution matching the renderer it should not reconfigure. Though, do you mean: Firetv4K works with exoplayer? Anything you see in adb log?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
(2020-12-27, 18:05)fritsch Wrote: Okay, that means a setting is needed.

For Render-Reconfiguration: It happens infact after we receive the first frame from decoder. If you don't switch refreshrates and play a file with the resolution matching the renderer it should not reconfigure. Though, do you mean: Firetv4K works with exoplayer? Anything you see in adb log?

Yes it works with ExoPlayer, just not Kodi.
Not sure which adb logs that would be, I've only done some logs using logcat which are here: https://github.com/xbmc/xbmc/issues/1889...-739099349
(2020-12-27, 17:11)fandangos Wrote: I can test with LG OLED B9 with latest firmware.

I have an LG OLED C9. Do you know a way to install Kodi on webOS?

Anyway..., I think fritsch meant other AndroidTV systems. Some SmartTVs like Philips and Sony use AndroidTV as their platform.

(2020-12-27, 17:11)fandangos Wrote: It might be a good idea to stablish a proper test files list and their respective profiles in their file names.

This is a very good idea.

1. We already have 5 mkv files (hosted by makeMKV) with their profile in their file name.
2. We have 10 mp4 files (hosted by demolandia). These files do not have their profile in their file names. Maybe they all use the same profile.
3. What about ts/m2ts Dolby Vision files?

mkv/mp4 are linked in the Kodi Samples Wiki under 4.16 and 4.17:

https://kodi.wiki/view/Samples

There are also some other dv files (ts, hlg) under 4.13, 4.14 and 4.15, but I never tested them.

What do you think?
frontend: nvidia shield tv 2019 pro | apple tv 4k | sonos arc 5.1.2 | lg oled65c97la
backend: supermicro x11ssh-ctf | xeon | 64gb ecc | wd red | zfs raid-z2 | dd max s8

software: debian | proxmox | openmediavault | docker | kodi | emby | tvheadend | fhem | unifi
(2020-12-27, 17:02)fritsch Wrote: Do we need further checks? E.g. what happens if a Philips or Sony TV plays such samples with the hevc-dv codec selected for them. Do those just black screen? Or do they ignore the codec and fallback to standard HEVC?

If they fail ... we need to invest in a "allow list" approach, sadly (new word for blacklist I was told, from someone writing from a foxcon IPhone claming I would support slavery).

For my Sony X950G with latest v6.4960 firmware and v19.0b2 installed I can confirm that all sample files from this page work and activate Dolby Vision mode.  On this page the Profile 5 samples work properly in Dolby Vision but the Profile 8.1 samples only playback as HDR10.

I suspect that any Sony TV using the MT5893 SoC is going to work just fine if the X950G works.
TV: Sony XBR-65X950G  A/V Receiver: Denon AVR-X3600H (Atmos 5.2.4)  UHD: Panasonic DP-UB820  BD: Sony BDP-S6200 (Region Free)
Media Players: 2019 Nvidia SHIELD TV Pro, 2015 Nvidia SHIELD TV, Amazon Fire TV Stick 4K Max, S905X3 CoreELEC Device
(2020-12-27, 18:08)quietvoid Wrote:
(2020-12-27, 18:05)fritsch Wrote: Okay, that means a setting is needed.

For Render-Reconfiguration: It happens infact after we receive the first frame from decoder. If you don't switch refreshrates and play a file with the resolution matching the renderer it should not reconfigure. Though, do you mean: Firetv4K works with exoplayer? Anything you see in adb log?

Yes it works with ExoPlayer, just not Kodi.
Not sure which adb logs that would be, I've only done some logs using logcat which are here: https://github.com/xbmc/xbmc/issues/1889...-739099349

Okay. Looks like the demuxer needs more work. It might throw away stuff that it thinks it does not need. From the logs (decoder or render) both look equal shitty with lots of errors ...
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
(2020-12-27, 17:02)fritsch Wrote: Do we need further checks? E.g. what happens if a Philips or Sony TV plays such samples with the hevc-dv codec selected for them. Do those just black screen? Or do they ignore the codec and fallback to standard HEVC?

If they fail ... we need to invest in a "allow list" approach, sadly (new word for blacklist I was told, from someone writing from a foxcon IPhone claming I would support slavery).

I tested on a Philips TV (48OLED935) running Android Pie 9.0 with @fandangos latest Jenkins build (kodi-20201222-c43636da-master-armeabi-v7a).

I was able to play all 5 test MKVs, but the first one (P4) gave me over-saturated colors. And for the P7_FEL one to play I had to play the P81 file first, otherwise it would have the wrong (purple/green) colors.

DV MKVs created with MakeMKV from UHD blu-rays worked well and switched the TV into DV mode. I also tested an MP4 with DV and that also worked.

Now this build uses dvh1 for all MKVs and the MP4 file was played using dvhe, but if I understand correctly that doesn't really make a difference?
OK, been studying the logs when playing DV files with Emby and Kodi:

https://paste.kodi.tv/fucureluje.kodi

As you can see, the Dolby Profile is not set when using Kodi. Either Kodi should set the profile for the decoder, or something is missing from the stream so that the decoder cannot identify the profile. I don't know.

I've tried passing the DV profile and level from the demuxer so that the profile value is set in VideoCodecAndroidMediaCodec, but it doesn't make any difference. OMX.Nvidia.DOVI.decode reports that it supports profiles 32,256,512 and 16 (not 128, which the log also states for profile 7). Setting the profile to any of these values manually doesn't help either.
(2020-12-28, 03:03)sk83 Wrote: OK, been studying the logs when playing DV files with Emby and Kodi:

https://paste.kodi.tv/fucureluje.kodi

As you can see, the Dolby Profile is not set when using Kodi. Either Kodi should set the profile for the decoder, or something is missing from the stream so that the decoder cannot identify the profile. I don't know.

I've tried passing the DV profile and level from the demuxer so that the profile value is set in VideoCodecAndroidMediaCodec, but it doesn't make any difference. OMX.Nvidia.DOVI.decode reports that it supports profiles 32,256,512 and 16 (not 128, which the log also states for profile 7). Setting the profile to any of these values manually doesn't help either.
And what were you seeing with emby? I’ve been having good luck using emby with DV in mkv and much more stable to trigger than plxx.
(2020-12-28, 03:51)Audiomixer Wrote:
(2020-12-28, 03:03)sk83 Wrote:  
And what were you seeing with emby? I’ve been having good luck using emby with DV in mkv and much more stable to trigger than plxx.

Emby works well. I've had sporadic problems with either black screen or shifted colors, but they are rare. The first five logs are from Emby playback.
(2020-12-28, 11:39)sk83 Wrote: Emby works well. I've had sporadic problems with either black screen or shifted colors, but they are rare. The first five logs are from Emby playback.

Yes it‘s sporadic, too. After some further tests, I also had these issues, black screen and wrong colors. But Emby works much more stable.

I don’t know, why it worked 40 times in a row for my first tests.
frontend: nvidia shield tv 2019 pro | apple tv 4k | sonos arc 5.1.2 | lg oled65c97la
backend: supermicro x11ssh-ctf | xeon | 64gb ecc | wd red | zfs raid-z2 | dd max s8

software: debian | proxmox | openmediavault | docker | kodi | emby | tvheadend | fhem | unifi
Hi guys,

I ran various tests and found out which DV profiles work in specific constellations and how to reproduce errors like black screen and wrong colors. It’s not complete, but it’s a good starting point.

I want to reproduce the errors to produce the relevant logfiles. How shall I configure the debug log? What do we need?

• verbose logging for the FFmpeg libraries
• verbose logging for the Audio component
• verbose logging for the Video component
• verbose logging for the audio/video timing information

Anything else?

Now I want to open some issues in GitHub. The forum is not really suitable for this. Let’s collaborate on every issue. If you validated my findings we can plan next steps, may be contact Nvidia.

Which repo do we want to use for that?

Regards Hoppel
frontend: nvidia shield tv 2019 pro | apple tv 4k | sonos arc 5.1.2 | lg oled65c97la
backend: supermicro x11ssh-ctf | xeon | 64gb ecc | wd red | zfs raid-z2 | dd max s8

software: debian | proxmox | openmediavault | docker | kodi | emby | tvheadend | fhem | unifi
  • 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17
  • 31

Logout Mark Read Team Forum Stats Members Help
Kodi + Shield + Dolby Vision0