Jump to content

Microsoft Store version vs current playing HEVC HDR10


smoothquark

Recommended Posts

smoothquark

After many, many years of using linux almost exclusively, I am build a Windows 10 HTPC for media and gaming. Intel Kaby Lake i5 7600K using integrated Intel HD 630. I have been trying both the Microsoft Store version of emby-theater (1.1.237.0) and the current 3.0.5. Emby server is on my linux machine and Emby on my UHD LG TV works fine. I have the HEVC extensions from the Microsoft store installed. The HTPC passes the Cyberlink UHD bluray advisor.

I have been playing test files before biting the bullet and subscribing to premiere. HDR settings works fine on Windows but I have disabled it as it interferes with sound on my Dolphin emulator. That will hopefully get sorted at some point, and not relevant to this discussion.

My issue is regarding playing one of my test files:

LG Cymatic Jazz HDR10 4K Demo.mp4

Plays absolutely fine on my LG TV and the Movies and TV app on Windows, as well as the store version of emby-theater. However, on 3.0.5 it is jerky (tried all the video settings), and sound disappears after about 20s. It is also jerky on Windows Media Player. Interestingly, Kodi also struggles with this file on both Leia and 17.6 and in both Windows and Linux. I suspect this has to do with FFMPEG / MPV perhaps not using the HEVC extension for hardware decoding? In both cases, emby server indicates that the file is direct playing. Using Ctrl-J, the store version is using "Windows Video Player" (whatever is that?) whilst 3.0.5 is using mpv with DXVA2 copyback.

I cannot seem to find if this is a known issue. I would really like to avoid using an external player for videos if at all possible. However, my main reason for wanting to use 3.0.5 is to use gamebrowser to launch games, as I do not think it is possible to use external players with the store version? Otherwise, I would be happy to just stick to the store version and pay up for premiere!

I have tried using the latest version of mpv as an external player, with the same issue. VLC, however, seems to play the file much better, although it does have the odd stutter, and as such not as smooth as the store version. I also noticed an incidental side effect - although the 1 minute playback "encouragement" comes on, the clip plays till the end...

Thank you.

Mediainfo as below:

mediainfo /downloads/Shared/LG\ Cymatic\ Jazz\ HDR10\ 4K\ Demo.mp4
General
Complete name : /downloads/Shared/LG Cymatic Jazz HDR10 4K Demo.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/mp41)
File size : 1.11 GiB
Duration : 2 min 38 s
Overall bit rate mode : Variable
Overall bit rate : 60.1 Mb/s
Encoded date : UTC 2017-06-04 23:05:26
Tagged date : UTC 2017-06-04 23:05:26
Writing application : Lavf57.72.101

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
Codec ID : hev1
Codec ID/Info : High Efficiency Video Coding
Duration : 2 min 38 s
Bit rate : 60.0 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 59.940 (60000/1001) FPS
Minimum frame rate : 59.920 FPS
Maximum frame rate : 59.960 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.121
Stream size : 1.11 GiB (100%)
Writing library : ATEME Titan KFE 3.7.3 (4.7.3.1003)
Encoded date : UTC 2017-06-04 23:05:26
Tagged date : UTC 2017-06-04 23:05:26
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : SMPTE ST 2084
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : R: x=0.680000 y=0.320000, G: x=0.265000 y=0.690000, B: x=0.150000 y=0.060000, White point: x=0.312700 y=0.329000
Mastering display luminance : min: 0.0040 cd/m2, max: 1100.0000 cd/m2

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2 min 38 s
Bit rate mode : Variable
Bit rate : 126 kb/s
Maximum bit rate : 128 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 spf)
Compression mode : Lossy
Stream size : 2.38 MiB (0%)
Default : Yes
Alternate group : 1
Encoded date : UTC 2017-06-04 23:05:26
Tagged date : UTC 2017-06-04 23:05:26

Link to comment
Share on other sites

Guest asrequested

It's because of the high frame rate

Frame rate : 59.940 (60000/1001) FPS
Minimum frame rate : 59.920 FPS
Maximum frame rate : 59.960 FPS

I've been testing with that file, but the HLG version (same frame rate). Your GPU likely can't process that much data. I was originally testing it with an Nvidia GTX 1050. When playing that video, it would always drop frames. You definitely can't use any of the copyback modes. No where near fast enough. Try with D3D11 and all other video settings at default. I upgraded my GPU to an Nvidea GTX 1060, and I still can't play that in mpv with a copyback mode, without dropping frames. mpv is tone mapping the HDR, so it adds to the processing. It's just a lot of data. Most HDR media is at a much lower frame rate, so it's easier to process. And this is with Theater for Windows desktop 3.0.5

Edited by Doofus
Link to comment
Share on other sites

smoothquark

Hmm... Strange that the windows player has no issues, presumably because of the tone mapping? Version 1.1.237.0 plays flawlessly!

Link to comment
Share on other sites

Guest asrequested

Hmm... Strange that the windows player has no issues, presumably because of the tone mapping? Version 1.1.237.0 plays flawlessly!

I doubt that it tone maps. Does your display tell you it's HDR10 when you use the store app?

Link to comment
Share on other sites

smoothquark

Tried comparing both versions once again. In both cases, if HDR is switched on for the desktop, the sample plays in HDR, and when HDR is turned off, neither turns on HDR for the clip. I am quite certain mpv is the problem - played with the commandline on mpv, and exactly the same issues. Interestingly, I tried a UHD bluray rip - plays flawlessly on the store version and same issues on 3.0.5. So, pretty much useless to me. By the way, although using VLC improves things, it is not as good as the store version. How is the internal video player being used in the store version? Is it possible to enable this in 3.0.5 or later? 

 

I have games running on 3.0.5 though. As the store version works fine for videos and 3.0.5 works fine for games and non HEVC (might be an overstatement), looks like I have to have both running, at least for now. Hopefully, the store version does not break on an upgrade. I was planning to buy a UHD bluray player as the parts I currently have are (supposedly) UHD certified by Cyberlink. I have also ordered an Nvidia 1050TI for games, but as far as I am aware, will not be able to play UHD bluray through it as PowerDVD only supports the internal GPU, I think. so will have to switch between them anyway. Oh well, desperately infuriating that I can't have a HTPC that "rules them all"...    

Link to comment
Share on other sites

Guest asrequested

Ok so some of the things you are trying are giving you a false positive. Enabling HDR for the desktop has nothing to do with either player, as you enabling HDR for everything. mpv doesn't pass the HDR metadata, but it is something that they are looking at.

 

https://github.com/mpv-player/mpv/pull/5804

 

So the output you're getting is going to be varied, and not give you a correct baseline. If you want to compare outputs, don't have your desktop in HDR, and play the video in a player that will switch your display to HDR. Power DVD might, but you can also try using MPC-BE with madVR.

 

But tone mapping HDR with a high frame rate, requires a bit of effort for the GPU. If it's only that video you have issues with, you should be fine.

 

Here's a thread on this topic.

 

https://emby.media/community/index.php?/topic/63682-playing-hdr-in-theater-desktop/&do=findComment&comment=631583

Link to comment
Share on other sites

daedalus

can't imagine that -copyback is a problem here

 

desktop version, litte gtx965m here, no dropped frames
post-143-0-97455500-1543863127_thumb.png

Edited by daedalus
Link to comment
Share on other sites

smoothquark

Thanks. I have disregarded HDR but only mentioned it as I had thought you had asked if it was switching to HDR, but you were asking whether HDR10 was shown on Ctrl-J. Yes, it was in all tries. Not sure why the UHD bluray rip sample was having the same issue unless there was something wrong with the file. However, it did play fine on the store version. Perhaps mpv is indeed a much better player but struggles because of the CPU. Shall wait and see how it plays with the 1050Ti when it arrives. I am still curious on how the store version manages to use the internal player though.

Link to comment
Share on other sites

daedalus

no 4k display, but that doesn't matter here

if -copyback would be the problem there would also be dropped frames

Edited by daedalus
Link to comment
Share on other sites

Guest asrequested

no 4k display, but that doesn't matter here

if -copyback would be the problem there would also be dropped frames

I do have a cloned display, so that may be a factor. My new HTPC won't be, so I'll test that again, when I build it.

Link to comment
Share on other sites

Guest asrequested

Thanks. I have disregarded HDR but only mentioned it as I had thought you had asked if it was switching to HDR, but you were asking whether HDR10 was shown on Ctrl-J. Yes, it was in all tries. Not sure why the UHD bluray rip sample was having the same issue unless there was something wrong with the file. However, it did play fine on the store version. Perhaps mpv is indeed a much better player but struggles because of the CPU. Shall wait and see how it plays with the 1050Ti when it arrives. I am still curious on how the store version manages to use the internal player though.

What I was wondering is if the store app is passing the HDR metadata.

Link to comment
Share on other sites

Guest asrequested

store app uses the standard windows player, so it should

That's what I was thinking, and would explain why it plays, correctly.

Link to comment
Share on other sites

smoothquark

Exactly... , hence my question on how does the store app access that? Same code base but much older version? So, possibly a regression using mpv? Had the same problem on linux with Emby for linux as well as with Kodi. I think it is the ffmpeg base. Wanting to to have mid-range gaming (with Dolphin),  4K Netflix and UHD with Dolby Atmos was the reason for me to go down the HTPC route, as my LG TV only passes DD and DTS via HDMI-ARC.

Link to comment
Share on other sites

Guest asrequested

It uses a different player, the windows OS player. The desktop app uses mpv, which is built on ffmpeg. They function completely differently.

Link to comment
Share on other sites

Guest asrequested

The Linux app also uses mpv. Windows has it's own media foundation, with its own codecs. Windows and Android are the only OSs that can pass HDR metadata. That's what I was trying to say, earlier. You were making a few wrong comparisons, leading to wrong conclusions. Apples and oranges :)

Link to comment
Share on other sites

smoothquark

The Linux app also uses mpv. Windows has it's own media foundation, with its own codecs. Windows and Android are the only OSs that can pass HDR metadata. That's what I was trying to say, earlier. You were making a few wrong comparisons, leading to wrong conclusions. Apples and oranges :)

 

Already aware of that - The store version using the internal player plays fine and 3.0.5 using mpv does not. Is it at all possible to re-implement the internal player, assuming this is not a Microsoft specific change to the code base? 

Link to comment
Share on other sites

Guest asrequested

The desktop app has never used the windows player. At one point it was using directshow filters, and madVR. But that had many problems. You can still use external players. Then you can use whatever player you want. But the desktop app now uses mpv as it's player.

Link to comment
Share on other sites

Already aware of that - The store version using the internal player plays fine and 3.0.5 using mpv does not. Is it at all possible to re-implement the internal player, assuming this is not a Microsoft specific change to the code base? 

 

Problem is that in all cases except for this, mpv is far and away the better player. It would be better to see if we can figure out how to have mpv use the windows decoder.

Link to comment
Share on other sites

Guest asrequested

doofus, is there no way to have mpv use the windows hardware decoder?

The mpv guys explained that to pass the HDR metadata, there is a windows swapchain that needs to be used. So until they get that done, we're stuck with how it is. I posted a link earlier with what jeeb is doing with that. But there's been no development for several months.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...