From 0a8f2a1a2058f0461a7f978295e31af34a03bb40 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 15 Apr 2024 23:29:36 +0200 Subject: Add Dolby EDR metadata support (GH #12). --- src/cpl.cc | 5 +++++ src/cpl.h | 9 +++++++++ 2 files changed, 14 insertions(+) (limited to 'src') diff --git a/src/cpl.cc b/src/cpl.cc index da4e0563..5ff86fda 100644 --- a/src/cpl.cc +++ b/src/cpl.cc @@ -370,6 +370,7 @@ CPL::read_composition_metadata_asset (cxml::ConstNodePtr node) }; _sign_language_video_language = extension_metadata("http://isdcf.com/2017/10/SignLanguageVideo", "Sign Language Video", "Language Tag"); + _dolby_edr_image_transfer_function = extension_metadata("http://www.dolby.com/schemas/2014/EDR-Metadata", "Dolby EDR", "image transfer function"); } @@ -568,6 +569,10 @@ CPL::maybe_write_composition_metadata_asset(xmlpp::Element* node, bool include_m add_extension_metadata ("http://isdcf.com/2017/10/SignLanguageVideo", "Sign Language Video", "Language Tag", *_sign_language_video_language); } + if (_dolby_edr_image_transfer_function) { + add_extension_metadata("http://www.dolby.com/schemas/2014/EDR-Metadata", "Dolby EDR", "image transfer function", *_dolby_edr_image_transfer_function); + } + if (_reels.front()->main_sound()) { auto asset = _reels.front()->main_sound()->asset(); if (asset && include_mca_subdescriptors) { diff --git a/src/cpl.h b/src/cpl.h index 25c294eb..fb4f3376 100644 --- a/src/cpl.h +++ b/src/cpl.h @@ -326,6 +326,14 @@ public: return _sign_language_video_language; } + void set_dolby_edr_image_transfer_function(std::string function) { + _dolby_edr_image_transfer_function = function; + } + + boost::optional dolby_edr_image_transfer_function() const { + return _dolby_edr_image_transfer_function; + } + Standard standard () const { return _standard; } @@ -383,6 +391,7 @@ private: /* See note for _release_territory above */ std::vector _additional_subtitle_languages; boost::optional _sign_language_video_language; + boost::optional _dolby_edr_image_transfer_function; bool _read_composition_metadata = false; std::vector> _reels; -- cgit v1.2.3