Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support DoVi Profile 10 #11559

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Add support DoVi Profile 10 #11559

wants to merge 1 commit into from

Conversation

llutic
Copy link

@llutic llutic commented May 12, 2024

Added compatibility for AV1 DoVi Profile 10 based on dolby documentation

Changes

Dolby Vision profile 10 detection added for movies and series encoded with AV1 codec with Dolby Vision HDR layer.

Sources : https://professionalsupport.dolby.com/s/article/What-is-Dolby-Vision-Profile

Issues

I'm starting to get movies and series encoded in AV1 with DV but I can't see whether or not they are Dolby Vision compatible in the media information.

Added compatibility for AV1 DoVi Profile 10 based on dolby documentation
@llutic llutic changed the title Update MediaStream.cs Update MediaStream.cs for support AV1 DV May 12, 2024
@gnattu
Copy link
Member

gnattu commented May 12, 2024

Any sample files we can test against with?

Also, for what kind of device, is compatible with such dovi profile? We may not have any device can playback these videos currently.

@gnattu gnattu changed the title Update MediaStream.cs for support AV1 DV Add support DoVi Profile 10 May 12, 2024
@llutic
Copy link
Author

llutic commented May 12, 2024

Yes, I made several DV AV1 samples with the original files for comparison:

https://drive.google.com/drive/folders/1HQmWPa5D6s288-GeWU1l8z2GV-CZ9sZ5?usp=drive_link

In my case, my TV set is probably compatible (TCL C825) since I find these lines in the list of codecs via aida64:

OMX.MS.DOLBY_VISION.DVAV1.Decoder video/dolby-vision
OMX.MS.AV1.DOLBY_VISION.Decoder video/dolby-vision
OMX.MS.DOLBY_VISION.Decoder video/dolby-vision
OMX.MS.AV1.Decoder video/av01

I've tried to get it to work, but I think video players like exoplayer need to be updated to support the AV1 and DoVi combination.

@gnattu
Copy link
Member

gnattu commented May 12, 2024

I'm sorry but I think I have to mark this as blocked.

After some testing, the current libsvtav1 software decoder does not parse dovi rpu and will not work with our current tonemapping pipeline, and we have not confirmed any of the devices that potentially supports this dovi profile.

@gnattu gnattu added the blocked Blocked by another pull request label May 12, 2024
@gnattu gnattu requested a review from nyanmisaka May 12, 2024 15:53
@VampiricAlien
Copy link

VampiricAlien commented May 13, 2024

I did some testing using the videos you have linked.

dolby-vision-amaze-(dolby-vision).HEVC.Profile.5.0 worked well in ATV. Playing profile 10.0 I got sound but no picture.Tested in VLC on linux and get picture (no DV support). Jellyfin reported no error. No picture in VLC on AndroidTV. Profile 7.6 working.

OMX.realtek.video.dvhe.dtr.decoder
OMX.realtek.video.dvhe.st.decoder
OMX.realtek.video.dvhe.stn.decoder

Leaving it paused, I get video and sound but flashing lines.

@llutic
Copy link
Author

llutic commented May 13, 2024

I was able to test my test files with a TCL C845X2 TV with Just (Video) Player and Jellyfin Android TV 0.16.10 (in direct playback) and they were all detected with Dolby Vision.

I discovered a decoder called c2.mtk.dvav1.10.decoder
I think it allows you to decode DoVi in AV1 with profile 10

@nyanmisaka
Copy link
Member

Adding DolbyVision support to AV1 requires these prerequisites:

  • Migrate to FFmpeg 7.0 (jellyfin-ffmpeg7).
  • Server capable of detecting fourcc dav1 Profile 10. [THIS PR]
  • Server capable of transcoding dav1 to SDR
  • Server capable of remuxing dav1 to fMP4 and serving it via HLS

@llutic
Copy link
Author

llutic commented May 13, 2024

OK, thank you for your comments.

This is way beyond my knowledge :)

@jellyfin-bot
Copy link
Contributor

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@jellyfin-bot jellyfin-bot added merge conflict Merge conflicts should be resolved before a merge and removed merge conflict Merge conflicts should be resolved before a merge labels May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Blocked by another pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants