[PR #13665] [CLOSED] DoVi Prof5 is only one that should use dvh1 tag #13657

Closed
opened 2026-02-07 07:16:55 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/13665
Author: @timitt
Created: 3/5/2025
Status: Closed

Base: masterHead: fix_dovi_tag


📝 Commits (1)

  • 23b4816 Only DoVi Profile 5 should have dvh1 tag as for example Profile 8 can fallback to HDR10 and therefore does not need to understand dvh1 tag.

📊 Changes

1 file changed (+17 additions, -3 deletions)

View changed files

📝 Jellyfin.Api/Controllers/DynamicHlsController.cs (+17 -3)

📄 Description

Only DoVi Profile 5 should have dvh1 tag as for example Profile 8 can fallback to HDR10 and therefore does not need to understand dvh1 tag.

Idea is that others have fallbacks to non-DoVi mode and for example Profile 8 fallbacks to HDR10 video correctly if DoVi is not supported. However it might not do that if it can't recognize tag.

As an example hls.js fails to play Profile 8 video as HDR if tag is dvh1, but plays it as HDR if tah is hvc1.

Also the change does not seem to break native hls on WebOS. It might be the case that most implementations do not read the tag at all but find hvcC, dvcC or dvvC configuration boxes and choose by them.

I can't confirm if this breaks playback on some hardware (as I could only test WebOS native hls and hls.js on WebOS), but this should be the correct way to use tag.

Without other fixes this only helps WebOS with hls.js play videos that has DoVi Profile 8 and aac audio. I will make more pull requests later to jellyfin-web. I believe this pull request is valid alone too.

Changes
Check if DoVi video is Profile 5 and then only change that video tag to dvh1 and let other types have hvc1.
We still need -strict -2 for both of them. I also changed code a bit to not repeat that -strict -2 line part three times.

Issues
Relates, but does not directly fix: https://github.com/jellyfin/jellyfin-webos/issues/275


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/13665 **Author:** [@timitt](https://github.com/timitt) **Created:** 3/5/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `fix_dovi_tag` --- ### 📝 Commits (1) - [`23b4816`](https://github.com/jellyfin/jellyfin/commit/23b481623a2e650af01e5dc19e905966694ad17f) Only DoVi Profile 5 should have dvh1 tag as for example Profile 8 can fallback to HDR10 and therefore does not need to understand dvh1 tag. ### 📊 Changes **1 file changed** (+17 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `Jellyfin.Api/Controllers/DynamicHlsController.cs` (+17 -3) </details> ### 📄 Description Only DoVi Profile 5 should have dvh1 tag as for example Profile 8 can fallback to HDR10 and therefore does not need to understand dvh1 tag. Idea is that others have fallbacks to non-DoVi mode and for example Profile 8 fallbacks to HDR10 video correctly if DoVi is not supported. However it might not do that if it can't recognize tag. As an example hls.js fails to play Profile 8 video as HDR if tag is dvh1, but plays it as HDR if tah is hvc1. Also the change does not seem to break native hls on WebOS. It might be the case that most implementations do not read the tag at all but find hvcC, dvcC or dvvC configuration boxes and choose by them. I can't confirm if this breaks playback on some hardware (as I could only test WebOS native hls and hls.js on WebOS), but this should be the correct way to use tag. Without other fixes this only helps WebOS with hls.js play videos that has DoVi Profile 8 and aac audio. I will make more pull requests later to jellyfin-web. I believe this pull request is valid alone too. **Changes** Check if DoVi video is Profile 5 and then only change that video tag to dvh1 and let other types have hvc1. We still need -strict -2 for both of them. I also changed code a bit to not repeat that -strict -2 line part three times. **Issues** Relates, but does not directly fix: https://github.com/jellyfin/jellyfin-webos/issues/275 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-07 07:16:55 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#13657