Skip to content
This repository has been archived by the owner on Jun 4, 2023. It is now read-only.

Add dovi detection for mkv #24

Open
wants to merge 2 commits into
base: release/4.4-kodi
Choose a base branch
from

Conversation

the-black-eagle
Copy link

Update FFmpeg with two cherry-picked commits from FFmpeg master that allow detection of DolbyVision data in mkv files. Tested locally to ensure functionality. No changes in Kodi needed, current detection code works fine with this update.

Both parse/write implementations are based on mov/movenc.

This only adds support for the "Dolby Vision configuration box".
Other configuration boxes, such as
"Dolby Vision enhancement layer configuration box" are not supported.

The new functions will be used to implement parsing/writing the DOVI config
for Matroska, as well as to refactor both mov/movenc to use dovi_isom functions.

Signed-off-by: quietvoid <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
Adds handling of dvcC/dvvC block addition mappings.

The parsing creates AVDOVIDecoderConfigurationRecord side data.
The configuration block is written when muxing into Matroska,
if DOVI side data is present for the track.

Most of the Matroska element parsing is based on Plex's FFmpeg source code.

Signed-off-by: quietvoid <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
@wsnipex
Copy link
Member

wsnipex commented Oct 16, 2022

@fuzzard since we're probably not going to bump to ffmpeg 5 for Nexus, this looks like a pretty isolated change

@sscobici
Copy link

@thexai FYI: This PR + backported PR xbmc/xbmc#22423 to Nexus branch may allow Dolby Vision for MKV files in Nexus releases. Many people really want it.

@sscobici
Copy link

@the-black-eagle this PR misses mov.c and movenc.c files which also parse dolby isom. See https://github.com/FFmpeg/FFmpeg/search?q=dovi_isom.h

@quietvoid
Copy link

In 4.4 mov has an independent implementation, it doesn't need dovi_isom.h.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants