Log in

View Full Version : Scene based HDR Metadata smpte 2094 ?


superkraft
20th July 2018, 11:59
Hello Doom9 forum - here my first post :)

For encoding HDR10 (SMPTE ST 2086 ) material there is the SEI information available which can be added in the encoding process (maxfall, maxcll, WP, ...).


But for HDR10+, which is defining a dynamic approach how is this metadata written ?
The ST 2094 approach is scene(time-) based, so therefore there should be something like a table with those informations and their changes in time...

How is this metadata stored?
Which encoder can deal with this right now?
Which workflow appears suitable?

THX!!!

superkraft
20th July 2018, 12:06
For the ones interested here an overview by Lars Borg on youtube:

The ST 2094 Standards Suite For Dynamic Metadata
https://www.youtube.com/watch?v=qicgLruwMTY

The technical approaches to the implementations are explained, but I would be rather interested in the practical implementation.

sneaker_ger
20th July 2018, 13:04
HDR10+ is also stored in SEI messages. SEI messages aren't (necessarily) valid for a whole stream but can be attached to single GOPs and even frames. (Quite on the contrary, often SEIs have to be repeated because they become invalid at e.g. a keyframe.) So you can put different HDR metadata into different parts of a movie.

x265 allows this but I have never done it myself.
http://x265.readthedocs.io/en/default/cli.html#cmdoption-dhdr10-info

superkraft
20th July 2018, 13:49
Thanks Sneaker_ger for this reply!

Please excuse if this appears a bit naive:

From a practical point of view:
In the st 2086 process, I tell the encoder how the settings should be - but I do this exactly once: For example in ffmpeg I would attach that information in the command line as additional parameters.

But how would that work with st 2094 - so time-based? I imagine something like a text file, which includes a table for time and SEI.
I imagine a file similar to an .srt file for subtitles:
But instead this information is probably integrated directly into the stream with infos for time-range and maxcll / maxfall / wp)

How do I tell an encoder to implement all this information?
And how do I store this information for each scene?

MGarret
20th July 2018, 14:14
There is a sample JSON file in the link sneaker gave you (--dhdr10-info <filename>) as well as pdf with syntax of metadata file. Other than that, maybe ask in the x265 thread for additional info.

foxyshadis
22nd July 2018, 06:51
Thanks Sneaker_ger for this reply!

Please excuse if this appears a bit naive:

From a practical point of view:
In the st 2086 process, I tell the encoder how the settings should be - but I do this exactly once: For example in ffmpeg I would attach that information in the command line as additional parameters.

But how would that work with st 2094 - so time-based? I imagine something like a text file, which includes a table for time and SEI.
I imagine a file similar to an .srt file for subtitles:
But instead this information is probably integrated directly into the stream with infos for time-range and maxcll / maxfall / wp)

How do I tell an encoder to implement all this information?
And how do I store this information for each scene?

That's entirely encoder-dependent. x265 has a fairly well-documented JSON format that you can pass, but no other encoder supports it; each has their own method. You can also insert your SEI messages after the fact, but I don't know of a ready-made tool that does so right now.

kolak
4th August 2018, 18:27
Resolve Studio with HDR10+ option can export xml with metadata, but no idea if this is 100% compatible with x265 format.