View Full Version : Media Player Classic - BE Win32/x64
chros
10th December 2020, 13:09
about HLG.
at my side madVR is incapable of displaying hlg outside SDR which technical is ok.
Nothing here as well, with using madvr beta 114: it displays SDR.
At my side - madVR output HLG as HDR10, hdr passthrough.
How? :) Which version of madvr? Can you post a screenshot about madvr OSD?
I tried these 2 files from the links you posted:
Sony_Another_World_4K_Demo-184047-tmu_hlg10_hevc.mkv
TravelXP 4K HDR HLG Demo.ts
chros
10th December 2020, 13:11
I enable OS HDR before open file for test. If not - madVR activate NV HDR, but it's working only in exclusive full-screen.
What happens with non exclusive mode? Only SDR?
Edit: same SDR using fullscreen exclusive mode here.
Edit2: same SDR when I toggle Windows HDR button. So I'm pretty sure it has nothing to do with madvr. Even Envy users asked about HLG support recently.
Btw, I use Lav filters. Do you use the internal ts / mkv filter of mpc-be?
huhn
10th December 2020, 13:14
sorry i can't test this fullscreen exclusive doesn't work on my system with OS HDR active. could be AMD "issue".
i would really like to know if it is the same "wrong" HLG as mpcVR is showing me where everything is to bright.
and HLG to HDR10 with OS HDR and exclusive mode doesn't sound like something madshi would implement this sounds more like a bug. very interesting.
Aleksoid1978
10th December 2020, 13:19
I'm using in MPC-BE using internal video decoder. I think you are using LAV - it's don't send information about HDR for HLG to madVR, but send to MPCVR :)
Here screen - https://i.imgur.com/GAnSUYL.png
Here from input pin info from madVR(from MPC Video Decoder):
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000081
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 16
dwPictAspectRatioY: 9
dwControlFlags: 0x82422581
- VideoChromaSubsampling: 5 (MPEG-2)
- NominalRange : 2 (16-235)
- VideoTransferMatrix : 4 (BT.2020)
- VideoLighting : 0
- VideoPrimaries : 9 (BT.2020)
- VideoTransferFunction : 16 (ARIB STD-B67 (HLG))
dwReserved2: 0x00000000
see - VideoTransferFunction : 16 (ARIB STD-B67 (HLG)), compare when using LAV :)
chros
10th December 2020, 13:31
Thanks, I'll take a look later.
huhn
10th December 2020, 13:39
you should be careful with DXVA2 decode. madVR has troubles with it and the image can be altered in an unforeseen way it can't access the image without DXVA2 altering it. could be true for mpcVR too. that's why lav filter is used with copyback or d3d11 just to remove it as a potential issue.
i will test this in detail later with mpc-be internal decoder.
Aleksoid1978
10th December 2020, 13:51
In MPC VR, even if use DXVA2 decoding in decoder, if use shader - data copied from Direct3D9 surfaceto local memory(like DXVA2 copy-back in LAV) without "lose" data. Yes it takes longer - but picture perfect as software or DX11 native.
clsid
10th December 2020, 14:34
Can you clarify a bit to avoid confusion?
Do you mean that if using DXVA2 native input, MPCVR will always do a copyback internally, or only when using shaders?
And what counts as shaders in this case, just user supplied ones from the player, or also the internal HDR2SDR shader and resize shaders (if DXVA2 video processor unchecked)?
Maybe show something like "CopySurface" in the OSD on postprocessing line, when this extra step is performed. It is useful to know this when helping people to identify possible causes of performance issues.
Small bug report (unrelated to above):
When opening MPCVR settings using rundll32, the dropdown menus do not display correctly when clicking in them. They display with height of just one entry.
Aleksoid1978
10th December 2020, 14:37
Can you clarify a bit to avoid confusion?
Do you mean that if using DXVA2 native input, MPCVR will always do a copyback internally, or only when using shaders?
And what counts as shaders in this case, just user supplied ones from the player, or also the internal HDR2SDR shader and resize shaders (if DXVA2 video processor unchecked)?
Only when using shaders. In this case shaders use for YUV2RGB conversion. When using DX9/DX11 VP - it's use for YUV2RGB conversion.
huhn
10th December 2020, 14:42
if i understand him correctly. using shaders in mpcVR with DXVA2 native results in DXVA2 copyback.
so as long as shaders are used we only have to care that we don't use DXVA2 native with madVR.
Zulithe
10th December 2020, 14:43
Windows 10 is identifying the 5798 x64 installer build on https://yadi.sk/d/hlf1lfC8mKU58/!_last as containing a virus. As confident as I am about it being a false positive, I just wanted to mention it.
clsid
10th December 2020, 15:54
You can submit Windows Defender false positives here:
https://www.microsoft.com/en-us/wdsi/filesubmission
I just build MPCVR rev1509. Some bugs:
- The passthrough checkbox isn't unchecked when its greyed out (on Win7). The code currently uses "if (1)" for always greying out. I assume that is intentional for testing.
- OSD still says "Convert to SDR" when I uncheck that option
huhn
10th December 2020, 18:10
ok i tested the sample with madVR the result has to be incorrect is far far to bright.
i use the sushi sample.
edit: i will create a bug report for madVR so we know if madVR is working correctly.
JaylumX
10th December 2020, 19:22
When playing SDR content, my monitor is able to switch to the correct matching refresh rate (or multiple) when "use autochange fullscreen monitor mode" is enabled but not when i play HDR content.
Aleksoid1978
11th December 2020, 00:21
You can submit Windows Defender false positives here:
https://www.microsoft.com/en-us/wdsi/filesubmission
I just build MPCVR rev1509. Some bugs:
- The passthrough checkbox isn't unchecked when its greyed out (on Win7). The code currently uses "if (1)" for always greying out. I assume that is intentional for testing.
- OSD still says "Convert to SDR" when I uncheck that option
Update code :)
About "Passthrough to display" and "Convert to SDR" - it's apply only on startup. There is no need to handle the changes right away - but the code will get very complicated.
chros
12th December 2020, 13:08
But - if you device "HDRMetadata No" - it's all no matter, you device don't support/accept different hdr10 medatata :)
Thanks, then probably it's the nvidia driver version (v398.18). (Unfortunately I can't use newer for now due to bugs, maybe later.)
I'm using in MPC-BE using internal video decoder. I think you are using LAV - it's don't send information about HDR for HLG to madVR, but send to MPCVR :)
Here screen - https://i.imgur.com/GAnSUYL.png
Here from input pin info from madVR(from MPC Video Decoder):
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000081
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 16
dwPictAspectRatioY: 9
dwControlFlags: 0x82422581
- VideoChromaSubsampling: 5 (MPEG-2)
- NominalRange : 2 (16-235)
- VideoTransferMatrix : 4 (BT.2020)
- VideoLighting : 0
- VideoPrimaries : 9 (BT.2020)
- VideoTransferFunction : 16 (ARIB STD-B67 (HLG))
dwReserved2: 0x00000000
see - VideoTransferFunction : 16 (ARIB STD-B67 (HLG)), compare when using LAV :)
Thanks for this! Indeed lavfilter reports: "VideoTransferFunction : 5 (BT.709)" I'll ask @nevcairiel about it.
I just had to enable the internal filters and didn't ahve to change anything else on madvr side and it outputs HDR10 :)
But I still think that's the case:
No, madvr doesn't support anything else just HDR10. And that's a big bummer :)
i use the sushi sample.
edit: i will create a bug report for madVR so we know if madVR is working correctly.
madvr reports more than 5000 nits frequently for that sushi sample.
I think the problem is that HDR10 and HLG HDR use different eotf curves and madvr only understand the HDR10 one, so it deals with the HLG video incorrectly as it was HDR10.
I need to compare this way and with Plex on the TV, but it seems to be way off most of the times.
Aleksoid1978
12th December 2020, 13:14
Windows 10 support only HDR10 output-passthrough.
chros
12th December 2020, 13:21
Windows 10 support only HDR10 output-passthrough.
I understand, but that's not the problem but this:
I think the problem is that HDR10 and HLG HDR use different eotf curves and madvr only understand the HDR10 one, so it deals with the HLG video incorrectly as it was HDR10.
I need to compare this way and with Plex on the TV, but it seems to be way off most of the times.
I checked with the "Sony_Another_World_2_4K_Demo-184046-tmu_hlg10_hevc.mkv" and mdavr's HDR10 output is way off.
Same with mpcvideorenderer.
So as far as I understand, madvr and your renderer has to convert HLG HDR to HDR10 at first and then do its/your thing :)
Aleksoid1978
12th December 2020, 14:19
I understand, but that's not the problem but this:
I checked with the "Sony_Another_World_2_4K_Demo-184046-tmu_hlg10_hevc.mkv" and mdavr's HDR10 output is way off.
Same with mpcvideorenderer.
So as far as I understand, madvr and your renderer has to convert HLG HDR to HDR10 at first and then do its/your thing :)
Give me a link for it's file, i checked.
Aleksoid1978
12th December 2020, 14:20
MPC VR & madVR no convert HLG to HDR10, simple output as HDR10, that's all :)
huhn
12th December 2020, 14:37
that's wrong behaviour. it should be outputted as SDR with a gamut correction to BT709 or as HLG but not as HDR10.
i may be able to write a HLG-> HDR10 shader. i understand the math behind it but i never did something like this so expect nothing.
i guess that a reason why lavfilter doesn't share the meta data with madVR but i will not blame your decoder for sharing correct metadata because that's not wrong madVR and mpcVR should handle it correctly not what they are doing now.
chros
12th December 2020, 14:48
Exactly.
Give me a link for it's file, i checked.
That file is from the Sony link you have posted 2 days ago for us :) Thanks
chros
12th December 2020, 19:44
Oh, Aleks, on lelabodejay.com (http://lelabodejay.com/) a French guy (who grades content) created a demo clip in various formats (he even created series of video articles about grading that you can find on the same URL):
scroll down to "SEQUENCE 4KUHD HDR 50MBPS" and you can find the same clip in: sdr, hlg, hdr10, hdr10+, dovi profile5, and couple of others as well. (Below that there's a lower bitrate version of those.)
So using the HLG and HDR10 variants the result should be similar (not the same obviously) on an HDR10 display.
chros
12th December 2020, 20:11
And I just tried out VLC (v3.0.11) the result looks fine! It also reports HLG under codec info (CTRL+j):
- enable windows OS HDR, then start the playback :)
Xtreme512
12th December 2020, 22:18
I'm using 1.5.6.5797 version MPC-BEs MPC Audio Renderer on MPC-HC (december 2 1.9.8). There are sound clicks/pops intermittently, they wouldnt occur when I use 1.5.1 stable version MPC Audio Renderer. By the way, only those 2 versions work on MPC-HC without program crashing upon playback.
So I guess the clicks are due to buffer underrun, and I decided to change buffer size from Windows registry of MPC-BEs MPC Audio Renderer, to 1000 (foobar uses it and no problem whatsoever), still there are clicks.
Right now I'm testing the push method instead of event on default buffer setting...
Why 1.5.1 doesn't have this issue? I know by 1.5.6 some features added which I don't need and bugs resolved which I didn't encounter. What else did change that make this problem occur?
edit: If I cant fix this, I may resort to 1.5.1 filter which I've used for a long time.
edit2: I'm not using MPC-HCs audio renderer, because it doesn't do true exclusive WASAPI and it's buggy. Its from sanear and its abandoned as it looks like on GitHub page.
ryrynz
12th December 2020, 22:30
I've also had audio drop outs using mpc audio renderer I think, I've changed it to directsound and updated my audio driver to troubleshoot. I've only had it happen with HD audio bit streaming (true HD etc) its very random and drops out for half a second every hour or so. Has been happening to me for about a year I think. I've tried different methods push and event etc and different buffer sizes 50/100 default with no change.
chros
12th December 2020, 23:39
I didn't encounter any audio issues using bitstreaming either in the last year. Now I use the latest beta of mpc-be + lavfilters.
Xtreme512
13th December 2020, 00:32
I've also had audio drop outs using mpc audio renderer I think, I've changed it to directsound and updated my audio driver to troubleshoot. I've only had it happen with HD audio bit streaming (true HD etc) its very random and drops out for half a second every hour or so. Has been happening to me for about a year I think. I've tried different methods push and event etc and different buffer sizes 50/100 default with no change.
its unacceptable to have this problem if you ask me, no matter how frequent it is.
try stable 1.5.1 mpc audio renderer, register it. i don't have this issue with that version and frankly i don't think that there's any advantage of using 1.5.6 renderer. if i cant fix this issue, i will go to 1.5.1.
im just trying to find out the cause of this.
edit: i only use wasapi exclusive, other outputs are not even a consideration for me.
ryrynz
13th December 2020, 00:36
its unacceptable to have this problem if you ask me, no matter how frequent it is.
try stable 1.5.1 mpc audio renderer, register it.
edit: i only use wasapi exclusive, other outputs are not even a consideration for me.
Yeah same here wasapi all the way. Will try it tonight chances are we have the same issue but it'll take me a while to determine whether it's fixed as I don't watch many movies.
Aleksoid1978
13th December 2020, 02:23
I using MPC-BE Wasapi Audio Renderer in MPC-BE - all perfect. Using Exclusive mode. PCM or Bitstream AC3/DTS/DTS-HD/TrueHD.
Aleksoid1978
13th December 2020, 02:48
So about HLG - disable output as HDR10, output using HDR to SDR conversion ?
Aleksoid1978
13th December 2020, 02:50
I'm using 1.5.6.5797 version MPC-BEs MPC Audio Renderer on MPC-HC (december 2 1.9.8). There are sound clicks/pops intermittently, they wouldnt occur when I use 1.5.1 stable version MPC Audio Renderer. By the way, only those 2 versions work on MPC-HC without program crashing upon playback.
So I guess the clicks are due to buffer underrun, and I decided to change buffer size from Windows registry of MPC-BEs MPC Audio Renderer, to 1000 (foobar uses it and no problem whatsoever), still there are clicks.
Right now I'm testing the push method instead of event on default buffer setting...
Why 1.5.1 doesn't have this issue? I know by 1.5.6 some features added which I don't need and bugs resolved which I didn't encounter. What else did change that make this problem occur?
edit: If I cant fix this, I may resort to 1.5.1 filter which I've used for a long time.
edit2: I'm not using MPC-HCs audio renderer, because it doesn't do true exclusive WASAPI and it's buggy. Its from sanear and its abandoned as it looks like on GitHub page.
If you are satisfied with version 1.5.1 - use it.
huhn
13th December 2020, 03:07
So about HLG - disable output as HDR10, output using HDR to SDR conversion ?
that's wrong too.
HLG is a little bit of an odd one.
the correct way is to passthrough with HLG metadata which is AFAIK not possible on a PC.
HLG can be presented at SDR you just use a BT 2020 to BT709 filter and that's it doesn't look good but that's how it should be...
alternative would be to use a HLG to HDR10 filter which does not exist AFAIK. but if applied correctly if should be 100 % the creators intend.
there are also ways to dynamic tonemap it for SDR but that's quite an advanced feature and just using HLG -> HDR10 first would be just as good and much easier.
for now just displaying it as it is in SDR with a gamut conversation to BT709 would be the easiest fix.
Asmodian
13th December 2020, 04:09
alternative would be to use a HLG to HDR10 filter which does not exist AFAIK. but if applied correctly if should be 100 % the creators intend.
Wouldn't we need to know the metadata for the mastering display? The problem with HLG is no metadata, so it would match the creators intent only if you knew or guessed some metadata parameters?
huhn
13th December 2020, 05:12
a device that accepts HLG just know that the max brightness is 1000 nits and BT 2020 so if you apply that you got the creators intend is very similar to SDR there is "no" guessing. so if you repack that in HDR10 you still get 1000 nits with bt 2020 nothing changes it's the same image.
the mastering display is irrelevant.
Klaus1189
13th December 2020, 13:58
I just tried EVR CP Renderer again after long time and I don't know which settings I need to get rid of these stutters, which are also protocolled by EVR stats graph. I does't matter if I use internal filters or LAV Filters. Tried to disable DXVA2 and tried various DXVA2 settings of LAV. I also tried different renderer settings and VSync options. But no luck.
https://drive.google.com/file/d/1hec2gGxTSbgfVhSUxQ8_9LGOa8wSv31H/view?usp=sharing
chros
13th December 2020, 20:06
And I just tried out VLC (v3.0.11) the result looks fine! It also reports HLG under codec info (CTRL+j):
- enable windows OS HDR, then start the playback :)
alternative would be to use a HLG to HDR10 filter which does not exist AFAIK. but if applied correctly if should be 100 % the creators intend.
Aleks, VLC is opensource (https://github.com/videolan/vlc), if you can find and understand what they are doing then maybe it's not hard to implement for you guys.
foxyshadis
14th December 2020, 03:32
I know it might be weird, but do the mouse actions need to have separate button choices by button/gesture? I've been using scroll-up for entering/exiting fullscreen for 15 years, and while that's probably pretty idiosyncratic, it also doesn't make sense why I can map that to middle-click but not scroll-up, when they're in the same menu with mostly the same options.
darksen
14th December 2020, 05:41
Hey all, it is a known problem the desynchronization of external DTS-HD MA audio?
This is a problem I always had (for years), every time I opened a file and loaded an external lossless DTS audio it always got desynchronized. The only way of playing it correctly was muxing it into the mkv file. It works well for any of you? I don't believe there is something wrong in my end, I mean in all the time I have had this problem I have reinstalled Windows several times, I think, but definitely more than twice.
filler56789
14th December 2020, 06:02
This is a problem I always had (for years), every time I opened a file and loaded an external lossless DTS audio it always got desynchronized. The only way of playing it correctly was muxing it into the mkv file.
Lossless DTS is VBR, therefore when played as external audio to a video file the audio demuxer is unable to index it /generate proper timestamps. IF you want to keep it as external audio then you'd better remux it to a .MKA file.
darksen
15th December 2020, 04:34
Lossless DTS is VBR, therefore when played as external audio to a video file the audio demuxer is unable to index it /generate proper timestamps. IF you want to keep it as external audio then you'd better remux it to a .MKA file.
Thanks for the info. How I didn't think in making it an mka, that is faster than muxing it into the mkv. :thanks:
Aleksoid1978
15th December 2020, 11:10
https://yadi.sk/d/5lTw0ms_59Ts-A
Testing HLG on HDR passthrough.
Also check HDR to SRD for HLG.
chros
15th December 2020, 13:55
Wow, Aleks, thanks, I'll check it tonight! :)
huhn
15th December 2020, 15:52
HLG to SDR with tone mapping is to bright.
HLG to HDR seems fine.
HLG as SDR seems to be still BT 2020 even trough the display expects BT 709. i would consider this a user error but if someone disables all HDR option it should still convert BT 2020 to BT 709. so this should be done or hlg to SDR with tone mapping should be forced for HLG.
chros
15th December 2020, 15:57
Thanks, huhn. Aleks, you can check what madvr does with lavfilters (since it only outputs SDR with it).
huhn
15th December 2020, 16:19
it does BT 2020 to BT 709(with default settings you can output it as bt 2020 with the correct settings but why even tell you you know that.) and nothing else because for madVR it's just a SDR file with BT 2020 as primaries/matrix
v0lt
15th December 2020, 17:07
MPCVideoRenderer-v0.4.10.1542_git2020.12.15-45a2b1c (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Various improvements for HLG.
chros
15th December 2020, 19:05
Thank you, guys, and congrats! I think yours is the first HLG2HDR10 directshow renderer! :)
It looks really good! BT.2020 flag is passed to the TV correctly. Amazing! :)
I'll do more test, probably during the weekend.
One feature request: can you make the OSD white color dimmer (e.g. 50% or even less?) with HDR10 output? (It just burns yours eyes out now :) )
And doesn't mpc-be internal video decoder support d3d11-native using hevc? Only dxva2-copyback?
Thanks
huhn
15th December 2020, 21:41
only HLG as sdr has wrong colorspace now.
Aleksoid1978
16th December 2020, 00:00
And doesn't mpc-be internal video decoder support d3d11-native using hevc? Only dxva2-copyback?
Only DXVA2 Native :)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.