summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-04-15 23:29:36 +0200
committerCarl Hetherington <cth@carlh.net>2024-04-15 23:29:36 +0200
commit0a8f2a1a2058f0461a7f978295e31af34a03bb40 (patch)
tree52d81af15a785b1511e7c3c9576dba67dc7cf403 /src
parentf22433bfab1cae79a9f4cab7286a27ca09d11715 (diff)
Add Dolby EDR metadata support (GH #12).
Diffstat (limited to 'src')
-rw-r--r--src/cpl.cc5
-rw-r--r--src/cpl.h9
2 files changed, 14 insertions, 0 deletions
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<std::string> 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<std::string> _additional_subtitle_languages;
boost::optional<std::string> _sign_language_video_language;
+ boost::optional<std::string> _dolby_edr_image_transfer_function;
bool _read_composition_metadata = false;
std::vector<std::shared_ptr<Reel>> _reels;