sw5163 wrote: ↑Fri Feb 02, 2024 2:34 am
Hi RESET, I still notice raised black level when using Microsoft Hardware Video Decoder in the Energy player.
I think I find out what's going on here. My theory is Win11 expects us to play everything under HGiG mode, gaming, streaming, playing local files. It wants us to disable tone mapping on display and never touch it again, then Win11 will provide tone mapping based on the EDID luminance. Win11 wants this as the case for Movies & TV player and other HDR games. Dolby Vision Extensions provides another tone mapping algorithm but MSFT still expects us to use it under HGiG on non-dv capable display (like Samsung).
https://github.com/mpv-player/mpv/issue ... 1110110976
There is also the more general problem that OSes can't blindly pass these calls through in general, because multiple applications could be running at the same time with different requirements (e.g. standard SDR apps vs a HDR video player) and the OS has to do its best to keep everyone happy. For example I noticed that with VLC and madVR, in general the metadata is only transmitted if the player is full screen. Which can lead to other potential problems e.g. the OS/driver not treating some app as full screen even though it is, and dropping its HDR metadata.
I didn't think the black level problem was related to EDID min luminance because I use the Windows HDR Calibration app and set the black level to left most and still seeing the raised black level. However, I was wrong. Current build 1.0.152.0 of that app has a bug that even when slide black bar to 0.0000, the configuration file it generates would still have 0.01 EDID min luminance, causing raised black. I verified it using DisplayHDR Test app.
Then I checked the default EDID on Samsung S95Z by connecting it to my PC and use CRU, S95Z is a Chinese variants of S95C. Strangely it reports only 4 bytes in the HDR Static Metadata session, without Max/Min luminance. (I don't know if there's better way to check this). I verified it again using DisplayHDR Test app, which tells me the Max luminance of 1499nits and Min luminance of 0.01nits were OS-provided defaults, not provided by display. Probably LG is the same case.
Therefore, I changed the Max luminance to 1350nits and Min luminance to 0nits in CRU. And now it has perfect black in Movies & TV app, both in HDR10 content and DV content. This could also be the reason people reporting Movies & TV was inaccurate, because double tone mapping by Microsoft Hardware Video Decoder and TV.
If I'm right, it looks like if I want to play video correctly in Movies & TV, I need to either set EDID to 10000nits and let my TV to do the tone mapping. Or disable tone mapping on TV and set EDID to 0-1350nits and let windows do the tone mapping. Since Dolby Vision Extensions is unlikely to work in the former circumstance and I will be also gaming on that TV, I think I'm going to stick to latter.