diff options
| author | llutic <113514011+llutic@users.noreply.github.com> | 2024-09-07 19:18:18 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-07 11:18:18 -0600 |
| commit | d0567fc8c61e73277578c4d5c4a8fb683b945514 (patch) | |
| tree | 2cbc27568c86a15529a57311135ce39f33502fcf /MediaBrowser.Model/Entities | |
| parent | ced2d21f7b40c33a2b2874817f47dc250417f020 (diff) | |
Add support DoVi Profile 10 (#11559)
Diffstat (limited to 'MediaBrowser.Model/Entities')
| -rw-r--r-- | MediaBrowser.Model/Entities/MediaStream.cs | 16 |
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) }; } |
