moneytoo / Player

▶ Simple and lightweight, yet polished and powerful Android video player based on ExoPlayer
https://play.google.com/store/apps/details?id=com.brouken.player
The Unlicense
1.54k stars 180 forks source link

Is it possible to add a way to switch between HDR10+ and DolbyVision ? #166

Closed psychoboust closed 2 years ago

psychoboust commented 3 years ago

Hello, There is some videos which contain HDR10+ and DolbyVision format in the same file (like Wonder Woman 1984), is there a way to choose between the 2 formats ? Thks

beeeeswax commented 3 years ago

I don't pretend to know the ins and outs of DolbyVision and HDR but I do know on other players, these discs/remuxes with Dolby Vision will fall back to HDR10+ on TVs that don't support DV. It seems JustPlayer doesn't honour this though and if it sees a DolbyVision file and a non-DV TV is just sets the display to SDR and everything is really washed out. I'm seeing this on the Lord of the Rings UHD remuxes.

Discs/remuxes with just HDR10+ playback correctly with my TV displaying in HDR but DV files don't engage HDR as they should.

moneytoo commented 3 years ago

It seems JustPlayer doesn't honour this though and if it sees a DolbyVision file and a non-DV TV is just sets the display to SDR and everything is really washed out. I'm seeing this on the Lord of the Rings UHD remuxes.

Is that with Dolby Vision Profile 7? Based on these findings, I mapped DV profile 7 to HEVC to allow playback of these files on my device (phone with HDR10). I have no idea if the playback is SDR or HDR and even less idea if has any effect on DV (as I don't have any such equipment). Could you try installing Just Player from F-Droid (which lacks such mapping) to see if it behaves any different?

beeeeswax commented 3 years ago

Hi moneytoo, yes proile 7. Here's the MediaInfo for the video track on Lord of the Rings:

Video ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main 10@L5.1@High HDR format : Dolby Vision, Version 1.0, dvhe.07.06, BL+EL+RPU, Blu-ray compatible / SMPTE ST 2086, HDR10 compatible Codec ID : V_MPEGH/ISO/HEVC Duration : 3 h 48 min Bit rate : 67.9 Mb/s Width : 3 840 pixels Height : 2 160 pixels Color space : YUV Chroma subsampling : 4:2:0 (Type 2) Bit depth : 10 bits Stream size : 108 GiB (95%) Color range : Limited Color primaries : BT.2020 Transfer characteristics : PQ Matrix coefficients : BT.2020 non-constant Mastering display color primaries : Display P3 Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2 Maximum Content Light Level : 602 cd/m2 Maximum Frame-Average Light Level : 184 cd/m2

I've removed the "proper" version of Just Player and installed the F-Droid version, same behaviour though. HDR10+ discs (which just read "SMPTE ST 2086, HDR10 compatible" in MediaInfo) switch to HDR just fine but all three LOTR movies which use DV do not and as a result are very washed out.

I should have mentioned before, I'm on a Shield 2019 Pro and Samsung QE65Q7FN.

edit: No idea if this helps but Kodi can handle these different types of DV/HDR so I went searching for key terms in their code and found this page: https://github.com/xbmc/xbmc/blob/master/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp

When they come across DV content, they seem to label it as "video/dolby-vision" and format name "amc-dvhe" with "video/hevc" only being assigned if neither DV type is detected.

moneytoo commented 2 years ago

I don't think I will be able to anything about this as I don't have any knowledge about Dolby Vison as well as don't have any DV capable hardware. Just Player can only be as good as ExoPlayer (& used hardware). To resolve any DV problems, please reproduce your issues in the ExoPlayer Demo app and report it directly to ExoPlayer on their issue tracker.

Nioh8 commented 2 years ago

hope you dont mind but i referenced this issue over on the exoplayer github

https://github.com/google/ExoPlayer/issues/9794.

moneytoo commented 1 year ago

Release v0.125 includes ExoPlayer r2.18.2 which has some DV related improvements.