• 1
  • 46
  • 47
  • 48(current)
  • 49
  • 50
  • 102
Release Kodi Matrix 19.0 HDR Edition
So I've noticed very occasional stuttering while using this with my GT 1050ti, so I ran the card through an HDFury Integral, and it is reporting a frame rate of 23.978, which is likely resulting in duplicated frames every couple minutes to make up the small frame rate difference. I know most blu-ray players usually output at a frame rate of 23.973hz for 24p content, and don't have any issues. Does anyone know if this is a driver issue, and if some driver versions are better than others? I'm currently using the NVIDIA Studio Driver v431.86.
Reply
(2019-10-27, 22:10)allanp81 Wrote: Never sure whether mine is working as it should be. My TV reports BT2020 but within Windows itself I can't actually set my screen bit depth to anything higher than 8bit. I'm using HDMI to my TV from a radeon 570 to a Sony STR-DN1080 AMP and then from the amp to my LG 65" C8 Oled TV.

HDMI 2.0a doesn't have enough bandwidth for 60hz RGB or YCbCr 4:4:4 at 10/12ibts. 

If you are using RGB or YCbCr and If you are using display refresh rate change within kodi settings you can go into Radeon control panel, set it to 10bits after the refresh has changed.
If you use YCbCr 4:2:0 you can set it to 10/12 bits at any refresh you want. 

This build already has try10bitoutput option set to true by default, the swapchain is already set as DXGI_FORMAT_R10G10B10A2_UNORM.

There is no option within AMD AGS (AMD API) to request 10/12bit output from the driver.
Reply
(2019-10-28, 23:27)the_scotsman Wrote: Installed this yesterday on my Ryzen 2400g HTPC. I suspect it's not outputting the correct colour format. It seems quite desaturated. How can I verify for sure?
This is a Ryzen bug, some cpus are afected and some don't. 
It's still unclear at the moment if this is a driver version problema, motherboard incompatibility or a incompatibility with some display EDID. 

The bug consists of correctly outputing the HDR metadata and settings the correct R G B W, X and Y, coordinates to the driver but it refuses to passes BT.2020 to the display remaining in BT.709. 
Not possible to fix on Kodi's end. 
AMD need to fix it's drivers.
Reply
(2019-10-29, 16:33)fandangos Wrote:
(2019-10-27, 22:10)allanp81 Wrote: Never sure whether mine is working as it should be. My TV reports BT2020 but within Windows itself I can't actually set my screen bit depth to anything higher than 8bit. I'm using HDMI to my TV from a radeon 570 to a Sony STR-DN1080 AMP and then from the amp to my LG 65" C8 Oled TV.

HDMI 2.0a doesn't have enough bandwidth for 60hz RGB or YCbCr 4:4:4 at 10/12ibts. 

If you are using RGB or YCbCr and If you are using display refresh rate change within kodi settings you can go into Radeon control panel, set it to 10bits after the refresh has changed.
If you use YCbCr 4:2:0 you can set it to 10/12 bits at any refresh you want. 

This build already has try10bitoutput option set to true by default, the swapchain is already set as DXGI_FORMAT_R10G10B10A2_UNORM.

There is no option within AMD AGS (AMD API) to request 10/12bit output from the driver.  
I will give that a go. I knew that you need displayport 2.0(?) for 10bit at 60hz but will set to 24hz and see if I can then enable 10bit.
Reply
(2019-10-29, 16:28)JWort93 Wrote: So I've noticed very occasional stuttering while using this with my GT 1050ti, so I ran the card through an HDFury Integral, and it is reporting a frame rate of 23.978, which is likely resulting in duplicated frames every couple minutes to make up the small frame rate difference. I know most blu-ray players usually output at a frame rate of 23.973hz for 24p content, and don't have any issues. Does anyone know if this is a driver issue, and if some driver versions are better than others? I'm currently using the NVIDIA Studio Driver v431.86.

If the a 23.976 content is played in a 60hz display the player needs to perform a 3:2 pulldown
Here you can read more about it:
https://www.extron.com/article/32pulldown

If the content is 23.976 and requests a display refresh rate change from the display, as the default for this fork build, it's up to the display to change it's refresh to match the video content. 
This gives the most accurate representation of the movie and it's up to the display to reproduce it based on it's settings, like frame interporation on/off, true cinema (for sony displays) etc. 
This is also the cause of judder that some people are more perceptive than others, again depending on how the display will handle 23hz. 

Also, there would be a missmatch of sync cause by the refresh rate change and this is solved setting the delay for the refresh change to happen, in the cause of this build is set happen to 2 seconds after the movie starts. 

If you prefer 3:2 pulldown or your display doesn't handle 23hz very well, just go into Video settings and display change display refresh to off.
Reply
(2019-10-29, 16:46)fandangos Wrote:
(2019-10-29, 16:28)JWort93 Wrote: So I've noticed very occasional stuttering while using this with my GT 1050ti, so I ran the card through an HDFury Integral, and it is reporting a frame rate of 23.978, which is likely resulting in duplicated frames every couple minutes to make up the small frame rate difference. I know most blu-ray players usually output at a frame rate of 23.973hz for 24p content, and don't have any issues. Does anyone know if this is a driver issue, and if some driver versions are better than others? I'm currently using the NVIDIA Studio Driver v431.86.

If the a 23.976 content is played in a 60hz display the player needs to perform a 3:2 pulldown
Here you can read more about it:
https://www.extron.com/article/32pulldown

If the content is 23.976 and requests a display refresh rate change from the display, as the default for this fork build, it's up to the display to change it's refresh to match the video content. 
This gives the most accurate representation of the movie and it's up to the display to reproduce it based on it's settings, like frame interporation on/off, true cinema (for sony displays) etc. 
This is also the cause of judder that some people are more perceptive than others, again depending on how the display will handle 23hz. 

Also, there would be a missmatch of sync cause by the refresh rate change and this is solved setting the delay for the refresh change to happen, in the cause of this build is set happen to 2 seconds after the movie starts. 

If you prefer 3:2 pulldown or your display doesn't handle 23hz very well, just go into Video settings and display change display refresh to off. 
I'm not talking about the 3:2 pulldown at 60Hz, or the inherent lack of smooth motion in 23.976 content with some displays. I'm talking about how the frame rate of the nvidia gpu doesn't perfectly match up with 23.976 content at default settings, the default settings and drivers produce 23.978, instead of 23.976, which can introduce duplicate frames every once in a while to compensate. I did some more research, and it seems like it is possible to do some fine level tweaking to perfect it using the madVR CRU tool, and NVIDIA Custom resolutions, but I don't know if Kodi will switch to them by default once configured, I imagine it won't. I linked a couple posts that talk about what I am referring to.

http://madvr.com/crt/CustomResTutorial.html
https://forum.redfox.bz/threads/how-to-a...dia.72844/
Reply
It's a long known about, unfixed issue by Nvidia whereby you will never get perfectly smooth 23.976 playback. The nvidia refresh rates is something closer to 23.98 so you end up with micro stutters. I ended up switching to AMD to try and get round the problem, but it still exists to a certain degree with AMD as well. In previous versions of the Nvidia drivers you could add a custom resolution and get around the issue but that functionality has been broken for years it seems.
Reply
(2019-10-29, 16:38)fandangos Wrote: The bug consists of correctly outputing the HDR metadata and settings the correct R G B W, X and Y, coordinates to the driver but it refuses to passes BT.2020 to the display remaining in BT.709. 
Not possible to fix on Kodi's end. 
AMD need to fix it's drivers.

Have you considered the option of activating HDR using DXGI?
Quote:Note that the AGS HDR path is fine, but you might want to consider using DXGI 1.6 to enable HDR as that would be IHV agnostic. Microsoft have code on github showing the use of this.
Reply
(2019-10-29, 17:53)_DMU_ Wrote:
(2019-10-29, 16:38)fandangos Wrote: The bug consists of correctly outputing the HDR metadata and settings the correct R G B W, X and Y, coordinates to the driver but it refuses to passes BT.2020 to the display remaining in BT.709. 
Not possible to fix on Kodi's end. 
AMD need to fix it's drivers.

Have you considered the option of activating HDR using DXGI?
Quote:Note that the AGS HDR path is fine, but you might want to consider using DXGI 1.6 to enable HDR as that would be IHV agnostic. Microsoft have code on github showing the use of this.

The DXGI (DirectX) portion of the code is ready for more than a year now. 
And if you look at the link you posted, I'm the one asking the question there.

As state before the swapchain that is set by try10bitout Advanced Settings in Kodi set it to DXGI_FORMAT_R10G10B10A2_UNORM.
Read here:
https://docs.microsoft.com/en-us/windows...xgi_format

Quote:
"A four-component, 32-bit unsigned-normalized-integer format that supports 10 bits for each color and 2 bits for alpha".

This takes care of 10bit output. 

This part of the code starting in this line:
https://github.com/fandangos/xbmc/blob/m...D.cpp#L349
Selects the color space exposed to DirectX resulting in either 
  1. DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020
  2. DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020
  3. DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020

Read about each one here:
https://docs.microsoft.com/en-us/windows...space_type

Finally this portion of the code here:
https://github.com/fandangos/xbmc/blob/m...D.cpp#L547

Output to DirectX the entire metadata to DXGI_HDR_METADATA_HDR10 populating the entire hdr10 object with:
  • WhitePoint
  • RedPrimary
  • GreenPrimary
  • BluePrimary
  • MinMasteringLuminance
  • MaxMasteringLuminance
  • MaxContentLightLevel
  • MaxFrameAverageLightLevel
You can read about structure here:
https://docs.microsoft.com/en-us/windows...data_hdr10

This fulfils all the requiement for DirectX implementation of HDR according to Microsoft documents. 
It still doesn't work. 

The HDR implementation by microsoft is imperfect and troublesome and M$ pretend it is not. 

In the same thread I posted earlier Madshi (who is a much much more qualified developer than I am) states:

"Im aware of that the "HDR and Advanced Color" OS switch allows HDR for non-fullscreen HDR apps. However, to be brutally honest, I hate the OS switch with a vengeance, because it's a static switch. No user in his right mind is going to change the OS switch manually every time before and after he plays a HDR video (or game). That's a usability catastrophe! And no user in his right mind wants to drive his TV in HDR mode all the time, even when playing SDR videos/games. Which is why I'm very happy about the AMD HDR API, because it allows me to dynamically switch HDR on and off."

Link here: https://github.com/GPUOpen-LibrariesAndS.../issues/14

TL;DR
The only reason Nvidia and AMD API exist is because Microsoft doesn't know how HDR works and doesn't seem to care.

The code is done, microsoft and AMD need to fix their software.
Reply
I read that message from madshi. It was 2 years ago. Perhaps something has changed during this time. Here is utility that allows you to dynamically, without using the "HDR" switch in Windows, turn on and off the HDR mode, using DXGI. The colors in this case are correct.
R3 2200G / Vega8 / Samsung UE40NU7100
Win10Pro 1909 / 4K RGB 60Hz Full / AMD19.10.1
Reply
(2019-10-29, 21:06)_DMU_ Wrote: I read that message from madshi. It was 2 years ago. Perhaps something has changed during this time. Here is utility that allows you to dynamically, without using the "HDR" switch in Windows, turn on and off the HDR mode, using DXGI. The colors in this case are correct.

Source code of this executable?
Reply
(2019-10-29, 21:20)fandangos Wrote: Source code of this executable?

I am not a coder, but just a user. I will ask the source code from a friend.
R3 2200G / Vega8 / Samsung UE40NU7100
Win10Pro 1909 / 4K RGB 60Hz Full / AMD19.10.1
Reply
(2019-10-29, 21:25)_DMU_ Wrote:
(2019-10-29, 21:20)fandangos Wrote: Source code of this executable?

I am not a coder, but just a user. I will ask the source code from a friend.

Please, do.

Without the source there's no way to know what this is actually doing.


Before working on this kodi fork I've found a hdr switcher project that would toggle the windows OS switch on but it would still need the NVIDIA api to be able to do so.

You can find the switcher.exe and the source code in this thread:
https://forum.kodi.tv/showthread.php?tid=344275
Reply
(2019-10-29, 21:31)fandangos Wrote: Please, do.

Source code.
R3 2200G / Vega8 / Samsung UE40NU7100
Win10Pro 1909 / 4K RGB 60Hz Full / AMD19.10.1
Reply
(2019-10-29, 22:41)_DMU_ Wrote:
(2019-10-29, 21:31)fandangos Wrote: Please, do.

Source code.

Wow! this is one big of registry edit hack to enable HDR on windows with undocumented features. It's not an API request as far as I can tell.

Where did you get it?

I'm reading it on my phone.
Maybe we can use this for Intel.
Going to have to study the source.

Thank you.
Reply
  • 1
  • 46
  • 47
  • 48(current)
  • 49
  • 50
  • 102

Logout Mark Read Team Forum Stats Members Help
Kodi Matrix 19.0 HDR Edition9