jarnedemeulemeester / findroid

Third-party native Jellyfin Android app
GNU General Public License v3.0
2.48k stars 153 forks source link

Samsung Galaxy A55 Color Issue #797

Open bojtalepenye opened 2 months ago

bojtalepenye commented 2 months ago

The Issue/Bug

Okay, this is an issue I would very much like to know the cause of. Here is what is happening:

I have two phones. A Samsung Galaxy A71 and a new Samsung Galaxy A55. The film I want to play is a 4K (Consumer 4k - 3840x2160) HDR mkv file.

I have played this film on several devices and never had any problems on Laptops/Monitors. My previous phone was a Samsung Galaxy A52 and the problem with that was a bug many people experienced. Films that used the HEVC video encoding were unwatchable and the framerate dropped significantly.

These were the those issues:

I no longer own that phone and since I got the A55 (which can play it really smoothly) this issue no longer affects me.

However. What does effect me is an entirely new problem. This phone has a great screen, a 6.6" Super AMOLED display with a 1080x2340 resolution. In addition, it supports HDR10+.

The content I would like to play correctly is HDR10, and since HDR10+ is compatible with HDR10, there shouldn't be issues right? Wrong. The colors get smashed literally. They get grey/greenish and feel downright wrong to look at. They almost seem lifeless. Now, I know this can't be really seen through a computer screen and you would have to see it with your own eyes, but trust me, this is not how this should look like. Worst of all, every single content I tried to watch on Jellyfin on this phone, both on the official Jellyfin app for android and the Findroid app seem like this, feel like this, look like this.

Here are some screenshots.

  1. The first one was taken on my laptop
  2. Comparison between A71 and A55 with light
  3. Comparison between A71 and A55 without light (in the dark).

Screenshot 2024-07-27 230947 20240727_222843 (1) 20240727_222825 (1)

I don't know if light/dark really matter or not, but I wanted to show both pictures for you to see that there is indeed a fairly big difference in color/liveliness.

To Reproduce

Steps to reproduce the behavior: I don't know if this issue is only present on this phone, but to reproduce, I guess try playing anything from a Jellyfin server. I think the problem is with the phone and every kind of media would look like this, though feel free to correct me.

Expected behavior

Accurate display or colors on Samsung Galaxy A55, aka normal colors. Not too green and not so grey.

Device info:

Additional context

Here are the the technical details of the film.

Title: How.to.Train.Your.Dragon.2010.2160p.BluRay.REMUX.HEVC.DTS-X.7.1-FGT - 4K - HDR
Codec: HEVC
Profile: Main 10
Level: 153
Resolution? 3840x2160
Aspect ratio16:9
Interlaced: No
Framerate: 23.976025
Bitrate: 56221 kbps
Bit depth: 10 bit
Video range: HDR
Video range type: HDR10
Color space: bt2020nc
Color transfer: smpte2084
Color primaries: bt2020
Pixel format: yuv420p10le
Ref frames: 1

I also have the mpv player enabled. Hardware decoding set to "mediacodec" and Video output set to "gpu-next". I also tried turning off mpv player to see how that would look like and interestingly enough it did improve a bit, though it wasn't quite at the level of being "normal" (like playing it on a Laptop would look). (So maybe this has got to do with the mpv player?)

I tried using no hardware decoding at all (though the frames dropped to the groundđŸ˜…), and the the "mediacodec-copy" option as well. Still, again, the colors remained the same. As for the video output, I tried both "gpu" and "gpu-next". None achieved the desired effect. Then after that I went opened the official Jellyfin app and go the same "results". The last one worries me, because from that it seems this issue isn't solely present on Findroid, but on the Jellyfin app as well. Maybe this really is the phone itself, although I am not quite sure. I wanted to share this here so we can figure this out.

Screenshot_20240727_223129_Findroid (1)

I would thoroughly appreciate it if someone looked into this. (PS: Should I post this on the Jellyfin repository? I wanted to come here first, since this app the best of the best and I use it all the time. It is wickedly fast if I am on my local network and loads everything instantly!)

Jcuhfehl commented 2 months ago

Mpv andoid doesn't support hdr passthrough. So it's getting tonemapped, use exoplayer if hdr is important to you. Findroid also doesn't use the highest quality mpv settings, not sure if that makes a difference. You can try if an apk from #652 makes a difference.