aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Entities
diff options
context:
space:
mode:
authorllutic <113514011+llutic@users.noreply.github.com>2024-09-07 19:18:18 +0200
committerGitHub <noreply@github.com>2024-09-07 11:18:18 -0600
commitd0567fc8c61e73277578c4d5c4a8fb683b945514 (patch)
tree2cbc27568c86a15529a57311135ce39f33502fcf /MediaBrowser.Model/Entities
parentced2d21f7b40c33a2b2874817f47dc250417f020 (diff)
Add support DoVi Profile 10 (#11559)
Diffstat (limited to 'MediaBrowser.Model/Entities')
-rw-r--r--MediaBrowser.Model/Entities/MediaStream.cs16
1 files changed, 14 insertions, 2 deletions
diff --git a/MediaBrowser.Model/Entities/MediaStream.cs b/MediaBrowser.Model/Entities/MediaStream.cs
index b5d19edd6..85c1f797b 100644
--- a/MediaBrowser.Model/Entities/MediaStream.cs
+++ b/MediaBrowser.Model/Entities/MediaStream.cs
@@ -200,7 +200,8 @@ namespace MediaBrowser.Model.Entities
|| dvProfile == 5
|| dvProfile == 7
|| dvProfile == 8
- || dvProfile == 9))
+ || dvProfile == 9
+ || dvProfile == 10))
{
var title = "Dolby Vision Profile " + dvProfile;
@@ -777,7 +778,7 @@ namespace MediaBrowser.Model.Entities
var blPresentFlag = BlPresentFlag == 1;
var dvBlCompatId = DvBlSignalCompatibilityId;
- var isDoViProfile = dvProfile == 5 || dvProfile == 7 || dvProfile == 8;
+ var isDoViProfile = dvProfile == 5 || dvProfile == 7 || dvProfile == 8 || dvProfile == 10;
var isDoViFlag = rpuPresentFlag && blPresentFlag && (dvBlCompatId == 0 || dvBlCompatId == 1 || dvBlCompatId == 4 || dvBlCompatId == 2 || dvBlCompatId == 6);
if ((isDoViProfile && isDoViFlag)
@@ -800,6 +801,17 @@ namespace MediaBrowser.Model.Entities
_ => (VideoRange.SDR, VideoRangeType.SDR)
},
7 => (VideoRange.HDR, VideoRangeType.HDR10),
+ 10 => dvBlCompatId switch
+ {
+ 0 => (VideoRange.HDR, VideoRangeType.DOVI),
+ 1 => (VideoRange.HDR, VideoRangeType.DOVIWithHDR10),
+ 2 => (VideoRange.SDR, VideoRangeType.DOVIWithSDR),
+ 4 => (VideoRange.HDR, VideoRangeType.DOVIWithHLG),
+ // While not in Dolby Spec, Profile 8 CCid 6 media are possible to create, and since CCid 6 stems from Bluray (Profile 7 originally) an HDR10 base layer is guaranteed to exist.
+ 6 => (VideoRange.HDR, VideoRangeType.DOVIWithHDR10),
+ // There is no other case to handle here as per Dolby Spec. Default case included for completeness and linting purposes
+ _ => (VideoRange.SDR, VideoRangeType.SDR)
+ },
_ => (VideoRange.SDR, VideoRangeType.SDR)
};
}