Overview
In February this year, we made testing for Dolby Vision Profile 5 tonemapping available for Vero V devices. This resolved issues playing Profile 5 content which does not have an HDR fallback layer and otherwise resulted in pink and green colours during playback. This also enabled users without a Dolby Vision display to enjoy this content in HDR or SDR.
We received positive feedback, but since the launch of Vero V it has been apparent that users would like native Dolby Vision output and not just for the content to be output as HDR. So for some time, weâve been thinking of how to achieve this. We kept quiet for a while, as our plan is always to underpromise and overdeliver.
Goals
When considering such an implementation, we have a few key objectives:
- Listen to our customers and give them what they ask for (Dolby Vision)
- Implement Dolby Vision in a way that does not impede on user freedoms that are associated with OSMC
- Implement Dolby Vision in a way that works well and for many years to come
- Support existing customer base via the form of a software update
- Enable customers to make best use of their investment in a DV display
- Support playback of any video format, including âlegacyâ codecs that many customers have in their collection but other players have deprecated
Implementation
We are happy to implement display-led (TV-led) Dolby Vision with support for CMv2.9 and CMv4.0. Currently, the status of this implementation is as follows:
Profile | Expected Behaviour |
---|---|
4 | Plays SDR base only, even to a DV compatible display |
5 | Plays well on DV displays as well as HDR displays as it did previously, but now passing through display management metadata to DV displays. |
7 | Plays well with display management metadata passed on to DV displays. Dual tracks are merged to a single track. If playing FEL, this is discarded with BL + RPU used only. |
8.1 | Plays well with display management metadata passed on to DV displays. |
8.4 | Plays the HLG base layer only even to a DV display |
Advantages and considerations
Considering the original goals outlined above, we believe we have achieved them as far as possible.
Because we design and commission our own hardware, we are able to make use of Veroâs characteristics for a solution which should stand us in good stead going forward. We do not rely on a proprietary kernel module supplied from the SoC vendor for an Android system. That approach was rejected because we could not be sure features would not be lost as we move to newer kernels and, in time, newer hardware. We would be dependent on a âblack boxâ over which we would have no control. We would also be subject to licensing conditions which we found onerous. While this means player-led and VS engine conversions will not be supported, we believe those features will become less important as DV support comes to more affordable TVs.
With our approach, we arenât the first to support DV with Kodi on AMLogic but we were able to do so in a way that is best for us as developers and in turn our users. We expect to be able to move to a newer kernel without loss of functionality and we can actively investigate and resolve issues that arise directly.
Invitation to test
Weâd like to now invite users to publicly test this functionality.
To test these improvements:
- Login via the command line
- Run the following command to add the staging repository:
echo 'deb http://apt.osmc.tv bullseye-devel main' | sudo tee /etc/apt/sources.list.d/osmc-devel.list
- Run the following commands to update:
sudo apt-get update && sudo apt-get dist-upgrade && reboot
- Your system should have have received the update.
I also recommend you remove /etc/apt/sources.list.d/osmc-devel.list
after updating.
This will deactivate the staging repository. You can do so with the following command:
sudo rm /etc/apt/sources.list.d/osmc-devel.list
.
Please note that we will automatically disable this update channel after 14 days on your device in case you forget to do so to ensure that your system reverts to the stable update channel.
Frequently asked questions
What is Dolby Vision?
Dolby Vision (DV) is a technology for High Dynamic Resolution (HDR) video. Its objective is to:
- re-create (using the âcomposerâ) as close as possible the 12-bit video that the colourist optimised in the editing studio
- tonemap the result to suit the userâs display (using the âdisplay mapperâ). The instructions for this (metadata) are generated by algorithm, but with adjustments the colourist may make while monitoring on a typical consumer TV.
The main monitor used in the editing suite will have a very high dynamic range with maximum peak luminance of 1000 nits or more. Domestic TVs, especially cheaper ones and OLEDs will not be that bright so the signal needs to be tonemapped to avoid losing detail in the highlights while maintaining contrast in the mid-tones. Note also that no displays can achieve their peak luminance over the whole screen at once. Ideally, the tonecurve is different for each scene and this is what DV does using dynamic metadata.
What is a Dolby Vision Profile?
Blu-rays with DV use âProfile 7â. The video has a âbase layerâ, compatible with HDR10 and an âenhancement layerâ which is merged with the base layer in the composer. The enhancement layer contains the instructions for the merge and the dynamic metadata for the display mapper.
Profile 7 video is what you get by backing up your DV Blu-rays to a hard disc (usually MKV format).
Streaming services may use âProfile 5â. This is a system optimised for efficient streaming. There is only one layer which is a proprietary format in an âIPT-PQ-c2â colourspace. This needs to be converted to a format that can be sent via HDMI to the display. The stream includes dynamic metadata for the conversion and the display mapper. Software is available to capture Profile 5 streams and store them as files.
âProfile 8â is a single-layer system in which the layer is compatible with an existing video format - HDR10 (8.1), HLG (8.4) or SDR (8.2). Profile 8.1 files have often been converted from Profile 7. iPhones can record in profile 8.4.
What do TV-led and player-led mean?
With DV, the composer part is always in the player. The display mapper may be in the player (player-led mode) or in the display (display-led or TV-led mode). Players supporting player-led can be tricked into converting DV to âLow Latency DVâ (similar to HDR10) and sending that to a non-DV display. TV-led should be the preferred method for users with a DV display since the display manufacturer should know best how to tailor the video for his hardware.
What are FEL and MEL?
In Profile 7 video, the enhancement layer may be âfullâ (FEL) or âminimumâ (MEL). FEL includes a video stream which modifies every pixel of the base layer. MEL is equivalent to Profile 8.1. FEL requires sophisticated decoder hardware and support for it seems to have been dropped in newer kernels and Android versions. Software is available which can merge a FEL into the base layer to produce a Profile 8.1 video.
How can I play Dolby Vision with OSMC?
To play Dolby Vision in the best possible quality you need a TV/display that supports Dolby Vision Standard Mode. With other displays, the quality can only be as good as HDR10. Early Sonys and some Panasonics offer only Low Latency Mode which we do not support.
Vero V devices will pass through Profile 7 and 8.1 video together with the display mapper metadata for a DV display to operate in TV-led mode. Non-DV displays will be sent the base layer only - as-is for an HDR display or tonemapped for an SDR display.
Vero V devices will apply the shaping metadata to a Profile 5 stream. The result will be sent to a DV display with the display mapper metadata, or to non-DV displays as HDR10 or (tonemapped) SDR as appropriate.
OSMC on Vero 4K, Vero 4k + and Raspberry Pi does not support Dolby Vision.
What about HDR10+? What support is there for my Samsung?
Some titles are available with both HDR10+ and DV metadata. These will play as DV on a DV display, HDR10+ on a TV that supports HDR10+ but not DV (Samsung) and HDR10/SDR otherwise.
We might be able to convert DV to HDR10+ in the future. But the metadata formats are very different so itâs unclear how good that conversion can be.
Thank you to those that tested
Many thanks go out to those that tested this exciting new functionality in advance and gave vital feedback that allowed us to improve things to a state where they can be tested publicly.