Implement support for encoding Dolby Vision from RPU file #3250
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The changes allow to encode AV1 files with Dolby Vision metadata for playback on supported devices.
As there is no official specification, the minimum I've tested is that the metadata is recognized and used correctly on playback.
The metadata OBU placement is based on #3000 (the AV1 HDR10+ specification), and I've tested it to be working fine with 2 GOPs.
From CLI, the metadata is expected to be passed as a RPU binary file, which follows the same format as encoders like
x265
.The metadata parsing/encoding is done through the dolby_vision crate.
The CLI opt can be either
--dovi-rpu
or--dolby-vision-rpu
(used byx265
)From Rust, the metadata must be encoded into the final T.35 and provided for the frames that require it.
For muxing, it's possible to use the GPAC utilities but it currently requires patching for AV1: gpac/gpac#2549
mkvmerge
will also have support for raw OBU. IVF has to be added.