diff --git a/packager/mpd/base/mpd_utils.cc b/packager/mpd/base/mpd_utils.cc index 4840f2020d8..0f945f6538c 100644 --- a/packager/mpd/base/mpd_utils.cc +++ b/packager/mpd/base/mpd_utils.cc @@ -164,6 +164,8 @@ std::string GetAdaptationSetKey(const MediaInfo& media_info, key.append(GetBaseCodec(media_info)); if (GetBaseCodec(media_info).find("dvh") == 0) { + // Transfer characteristics for Dolby Vision (dvh1 or dvhe) must be PQ + // irrespective of value present in SPS VUI. key.append(":"); key.append(std::to_string(kTransferFunctionPQ)); } else if (media_info.video_info().has_transfer_characteristics()) { diff --git a/packager/mpd/base/period.cc b/packager/mpd/base/period.cc index a2f2f99d9fe..0cb8273d03d 100644 --- a/packager/mpd/base/period.cc +++ b/packager/mpd/base/period.cc @@ -276,6 +276,8 @@ bool Period::SetNewAdaptationSetAttributes( // - Common CCIP values. // Dolby vision: // https://professionalsupport.dolby.com/s/article/How-to-signal-Dolby-Vision-in-MPEG-DASH + // Transfer characteristics for Dolby Vision (dvh1 or dvhe) must be PQ + // irrespective of value present in SPS VUI. if (new_adaptation_set->codec().find("dvh") == 0) { new_adaptation_set->set_transfer_characteristics(kTransferFunctionPQ); } else if (media_info.video_info().has_transfer_characteristics()) {