View Full Version : madVR - high quality video renderer (GPU assisted)
SamuriHL
5th May 2021, 17:39
That was sort of the joke there in my response. There isn't one.
... since MPC development stopped ...
Last version is one day old...
Apart from addition of dark there, seekbar preview, youtube-dl integration, updated LAV, webvtt sub support, mpcvr support, cue sheet support, A-B repeat, and lots of stability and performance improvements, nothing interesting has changed though :rolleyes:
nghiabeo20
7th May 2021, 14:38
Last version is one day old...
Apart from addition of dark there, seekbar preview, youtube-dl integration, updated LAV, webvtt sub support, mpcvr support, cue sheet support, A-B repeat, and lots of stability and performance improvements, nothing interesting has changed though :rolleyes:
youtube-dl? Now we're talking.
Edit: are you talking about MPC-BE? and is there any comparision between madvr and MPC VR, haven't found anything.
no he is talking about mpc-hc because he is in charge of the continued development of the most used fork of mpc-hc.
DennisF
7th May 2021, 22:59
Hi all, I'm trying my hand at building a source filter to feed into madVR. If I build a simple CTransformFilter connected between a source and madVR and then in::Transform(IMediaSample* pIn, IMediaSample* pOut) call pOut->QueryInterface(&pMediaSideData), pMediaSideData is a valid pointer to a IMediaSideData structure (LAV definition) and madVR picks that up as expected.
Now if I try to DIY a source and pin by deriving from CBaseOutputPin, connect that to madVR's input pin and and in there override :: DecideAllocator(IMemInputPin* pPin, IMemAllocator** ppAlloc) to just do a pPin->GetAllocator(ppAlloc); that leads to a valid allocator from madVR (at least I think so because msvc debugger has no symbols and madvr.ax shows up on some parts, so working assumption is that it's what I expect). Then doing a m_pAllocator->GetBuffer(&pSample, NULL, NULL, 0); to get an IMediaSample filled works as expected and gives me video output. However pOut->QueryInterface(&pMediaSideData) leads to a nullptr in pMediaSideData. I'm a bit baffled as to what's going on here. Any tips?
nghiabeo20
8th May 2021, 14:39
no he is talking about mpc-hc because he is in charge of the continued development of the most used fork of mpc-hc.
OK I see the github repo.
My switch to mpv have to happen anyway, as I now mostly use Linux and mac.
oddball
10th May 2021, 11:45
I've just created a 3DLut for MadVR using DisplayCal. This works well unless I enable Fullscreen Exclusive Mode in MadVR. It completely throws out incorrect colors when I play HDR content. It seems to pull the color correction from the 3DLut and apply it to HDR output (Bug perhaps?). Is there any way I can calibrate FullScreen Exclusive Mode in DisplayCal or fix it so MadVR does not use the 3DLut from SDR?
Asmodian
10th May 2021, 19:15
Why do you want to use Fullscreen Exclusive mode?
In Windows 10 Fullscreen Exclusive is fake anyway, I get better results not using it at all now.
I am a bit confused by "Disable gamma ramp" checkbox.
My main monitor is calibrated (color profile applied in windows 7).
With the box ticked, it seems everything looks fine. And i can tell that the windows color profile is also applied to MPC (windowed & fullscreen).
However with the box unticked (default) i get the feeling that the color profile is applied again (so applied twice) because the colors looks odd.
My rendering settings :
- enable windowed overlay : checked
- everything else : not checked
Asmodian
11th May 2021, 02:41
It sounds like Windowed Overlay isn't working as it should, which GPU do you have?
Windowed Overlay is supposed to bypass the color profile so it must be applied manually by madVR. Checking disable gamma ramp stops it from applying the color profile manually, but it doesn't disable it globally.
Turning off Windowed Overlay should change the behavior to disable the color profile globally when madVR is running.
glc650
11th May 2021, 03:24
Why do you want to use Fullscreen Exclusive mode?
In Windows 10 Fullscreen Exclusive is fake anyway, I get better results not using it at all now.I have to use FSE or I get glitches (visible and in OSD). This is with latest Windows 10 and Nvidia 1660 drivers.
Asmodian
11th May 2021, 06:38
Have you tried setting the frames presented in advance to one?
@crmb
Same thing happened to me when I decided to test windowed overlay, it seems that the profile is applied twice resulting in increased saturation and crushed blacks.
glc650
11th May 2021, 22:33
Have you tried setting the frames presented in advance to one?That gives me dropped frames and the madVR OSD flickers. If I set to 2 or 3 I still get dropped frames (but OSD is displayed correctly).
If I leave at 8 i get glitches (that are visible and show in OSD).
If I set high enough above 8 I still get visible glitches (but they don't show in OSD) and audio can go out of sync.
If I set at 8 or higher with one of the flush options enabled for "after copy to backbuffer" the visible glitches seem to go away but audio still goes out of sync.
FSE is the only way I've found around all of this. I also noticed that with FSE enabled my composition rate is always 60hz (even when display and file is 23) but that doesn't seem to have any negative (visible or in OSD) effects.
BluesFanUK
12th May 2021, 16:52
Can MadVR render a VR video? Potplayer has a neat option where you can switch between 2D and 3D, if MadVR is selected it won't work, vid just plays as if it's side by side.
DennisF
12th May 2021, 22:37
Evening again, FYI solved my previous question, the Directshow graph pin connection wasn't made with ConnectDirect() but Connect() which got some other filter in the way which' allocator didn't support what I wanted.
New question, everything works but madVR crashes upon trying to stop. After reading through the Directshow docs I've tried 2 approaches:
- Deliver a EndOfStream() to the graph and let it run without delivering further frames. Leads to crash and entering the madVR debug window. Last call from madVR64.ax is GlobalWindowProc (direct3d.cpp, line 106) and after a few calls it hits an exception.
- Call Stop() on the graph's IMediaControl interface. Leads to another crash without madVR's debug window popping up.
Is there anything special here to take into account wrt madVR?
It sounds like Windowed Overlay isn't working as it should, which GPU do you have?
Windowed Overlay is supposed to bypass the color profile so it must be applied manually by madVR. Checking disable gamma ramp stops it from applying the color profile manually, but it doesn't disable it globally.
Turning off Windowed Overlay should change the behavior to disable the color profile globally when madVR is running.
Same thing happened to me when I decided to test windowed overlay, it seems that the profile is applied twice resulting in increased saturation and crushed blacks.
I have a 1060GTX with latest drivers.
Yes without "windowed overlay", and with "disable gamma ramp" ticked the window profile is globally disabled.
If i untick "disable gamma ramp" the global profile come back and is also applied (once) to the player.
I think windowed overlay helped on some video that dropped frames (maybe when i was moving the player across monitors)
lostclusters
16th May 2021, 04:44
Hello all:
I am trying to get madVR configured in MPC-HC. After everything installed, configured MPC-HC, run up a video to get started and madHcCtrl.exe gives me a system error "The code execution cannot proceed because unrar.dll was not found. Reinstalling the program may fix this problem." I searched up and down and found nothing useful. And of course madVR will not load. How do I stop/fix the error?
Thanks in advance.
P.S. I fixed it. I found a post on Stackoverflow.com (https://stackoverflow.com/questions/59576125/c-how-to-use-unrar-dll-unrar-cs-from-rarlab-to-extract-a-split-archive), downloaded the file, used winrar to open the .exe (can not be too careful these days), put the unrar.* files in the madVR directory, and voila! Success! I leave this here in case anyone else is looking for a fix to this problem. Oh, the 64 bit edition of the .dll would not work for me.
the unrar.dll should be delivered with the madVR download.
lostclusters
16th May 2021, 18:53
the unrar.dll should be delivered with the madVR download.
You are correct! And I'll be damned. That file is in the archive here and in the I got off the main madVR site. Why it did not get into the madVR directory is a mystery to me. When I looked for it in the directory I installed and did not find it, I did look in the archive file. I looked where it should have been and did not see it. I noticed today that the files in the archive are not in alphabetical order. My bad. It was late and there was an abundance of bourbon flowing in my beverages that evening. Anyway that is my story and I am sticking to it.
Crimson Wolf
18th May 2021, 21:18
lostclusters, Windows Defender might have removed the dll. I'm not sure about the exact time, but I had a beta madvr version installed and madTPG stopped working somehow. It was due to a false positive. I use madTPG with DisplayCal to calibrate my monitor every month or two, but one day it errored. Some file required by madTPG was missing. I have put the madvr directory in the excluded option for now.
tp4tissue
19th May 2021, 19:53
the gamma ramp should automatically be disabled when using a 3dlut created with vcgt applied.
Otherwise, if the vcgt is not selected in 3dlut creation, the gamma ramp should remain enabled. <no good reason to do this, because it's inaccurate>
You should still measure it to make sure it's working right, random things can happen.
I recommend taming the gamma using hcfr FIRST if your panel/tv allows it, that way only minor correction is necessary in the vcgt, and your other system UI when the ramp comes off during playback look pretty close to correct.
tp4tissue
19th May 2021, 20:04
@crmb
Same thing happened to me when I decided to test windowed overlay, it seems that the profile is applied twice resulting in increased saturation and crushed blacks.
It's not crushing blacks, it's bringing the blacks down to mastered lvls , which may be "lower" than what your display may be capable of, so it looks crushed. This is especially problematic on IPS panels.
There're actually no good shadow solutions for IPS, best to just never watch movies on them. The rec1886 gamma function will pull out the detail so to speak, but everything will look grey, and you'll probably be at gamma 1.8 at the bottom end.
As for Saturation, it will look increased when the gamma drops. But they are at the correct target unless you're using the saturation or preserve saturation intents.
In general, I actually recommend preserve saturation and saturation, because the accurate red always look faded on colorimetric, red just isn't visually impactful in srgb/rec709 gamut.
So, what do you suggest for ips display, to use windowed overlay or to use the default direct3d 11 for presentation?
tp4tissue
20th May 2021, 21:49
So, what do you suggest for ips display, to use windowed overlay or to use the default direct3d 11 for presentation?
I use d3d 11 and everything checks out, i haven't tested all conditions relative to windows overlay. But i know there's nothing fishy going on with 3dlut use under 11.
After trying MadVR's display mode optimization feature, my second monitor is occasionally going black for 1~2 seconds every 15~30 minutes. Not exclusively during video playback, but rather at any given time.
I reset the timings and then deleted the optimization profile, and tried the few things one would immediately try (restarting Windows, removing monitor power cable, reinstalling GPU drivers, reinstalling monitor drivers, etc.)
Nonetheless, the problem persists. FWIW I have a somewhat nonstandard monitor setup (240hz primary + 60hz secondary)
I can't be 100% positive that MadVR is the cause, but it immediately started after I started messing with MadVR display modes. Any ideas?
andrew89898
24th May 2021, 20:19
I am new to PC playback - I am using madVR, LAV filters and 4K blu ray on a 21:9 HDR monitor. I have a movie which is switching between 21:9 and IMAX / roughly 16:9 aspect ratios. I found this thread on reddit (https://www.reddit.com/r/ultrawidemasterrace/comments/ex2vke/imax_black_bar_cropping_using_madvr/)
I have tried all of the madvr options and made sure my video renderer is nvidia, which it now is but the black bars remain in the 21:9 sections on all 4 sides. I can get it to zoom in but this zooms the IMAX areas in too.
Anything I can try to fix this show the IMAX content full with side bars and then zoom back in for the 21:9 parts?
Thanks.
tp4tissue
25th May 2021, 02:57
set it to dxva2
if you're using tonemapping use copyback. Then turn on the zoom control.
Asmodian
25th May 2021, 03:10
Yes, DXVA2 Copyback.
https://hosting.photobucket.com/images/dd496/asmodian3/Screenshot_2021-05-24_190728.png?width=590&height=370&fit=bounds (https://app.photobucket.com/u/asmodian3/p/c2277491-34bf-4426-b2ac-0f556fb205df)
amayra
25th May 2021, 22:48
Why do you want to use Fullscreen Exclusive mode?
In Windows 10 Fullscreen Exclusive is fake anyway, I get better results not using it at all now.
what do mean by fake ?
tp4tissue
26th May 2021, 01:47
FSE also doesn't work with 23.976 for some reason, the composition rate changes to 60 despite output still 23.976..
because it doesn't work for you doesn't mean it doesn't in general work.
Asmodian
26th May 2021, 03:49
what do mean by fake ?
There is still a software layer between presentation and display, madVR is not in control of what is displayed the same way it was.
glc650
26th May 2021, 05:34
FSE also doesn't work with 23.976 for some reason, the composition rate changes to 60 despite output still 23.976..I've noticed this too but I think it is just cosmetic because I'm not seeing any drops/repeats and the counter shows days or none expected which is the same behavior I see in windowed full screen mode.
win 10 FSE is now a simulated WFS where the applicating thinks it is fullscreen but isn't it still changes how presentation works. the old true FSE is also still available.
andrew89898
26th May 2021, 21:20
Yes, DXVA2 Copyback.
https://hosting.photobucket.com/images/dd496/asmodian3/Screenshot_2021-05-24_190728.png?width=590&height=370&fit=bounds (https://app.photobucket.com/u/asmodian3/p/c2277491-34bf-4426-b2ac-0f556fb205df)
I have copied those settings and set the internal LAV decoder to DXVA2 native and tried DXVA2 copy back, both are not zooming in my black bars. I am using the mpc-hc classic community (https://github.com/clsid2/mpc-hc/releases/) with touch window from inside setting.
Is there anything else I can check?
Asmodian
26th May 2021, 22:49
I don't know. I am using Zoom Player Max v16 and it works for me. :confused:
el Filou
27th May 2021, 16:06
It should work as long as you're not using native DXVA decode.
How long are you letting it play to test?
I don't know what the cause is, but when I start playback it takes madVR a pretty long time to crop the black bars. If I pause then unpause playback or do a seek a few seconds back it usually makes it react faster. After that initial delay it then reacts immediately when the aspect ratio changes.
andrew89898
27th May 2021, 22:48
I've tried everything in mpc-hc settings including Direct3D11 and MadVR - I have it set to dxva 2 copyback with my nvidia gpu selected, it only zooms when you check if big black bars, but this also zooms the IMAX scenes too. Might try some madVR debugging, anyone else using MPC-HC?
I've tried watching the whole scenes, pause and seek, nothing.
mclingo
28th May 2021, 13:59
Hi guys, any issues with WIN 2004 feature update before I pull the trigger?
tp4tissue
28th May 2021, 14:01
I just never update, still going 1806 HTPC is HTPC :D
mclingo
28th May 2021, 14:20
mine is a bit of an allrounder now, used for HTPC and WEB access so I now prefer to update more often to ensure i'm getting the latest sec patches etc, I do a little gaming but not much, still still mainly a HTPC machine.
After trying MadVR's display mode optimization feature, my second monitor is occasionally going black for 1~2 seconds every 15~30 minutes. Not exclusively during video playback, but rather at any given time.
I reset the timings and then deleted the optimization profile, and tried the few things one would immediately try (restarting Windows, removing monitor power cable, reinstalling GPU drivers, reinstalling monitor drivers, etc.)
Nonetheless, the problem persists. FWIW I have a somewhat nonstandard monitor setup (240hz primary + 60hz secondary)
I can't be 100% positive that MadVR is the cause, but it immediately started after I started messing with MadVR display modes. Any ideas?
Still dealing with this. Is there any solution? Has MadVR permanently screwed my monitor?
el Filou
28th May 2021, 17:10
Hi guys, any issues with WIN 2004 feature update before I pull the trigger?Haven't had any issues (I'm on 20H2 but it's the same kernel).I have it set to dxva 2 copyback with my nvidia gpu selected, it only zooms when you check if big black bars, but this also zooms the IMAX scenes too.I only check "notify media player: immediately" and "crop black bars", but I'm not using a projector. I've set MPC-HC to Touch window from inside, Default AR, Zoom 100%. It also works fine in MediaPortal.
Does the madVR OSD show the line like "1920x1080 -> 19??x80?, 2.39:1" on the non-IMAX parts?Still dealing with this. Is there any solution? Has MadVR permanently screwed my monitor?Are you sure you didn't change something else at the same time or shortly before testing madVR custom timings, like a new GPU driver? Have you tried older drivers? Have you tried DDU? Maybe the custom timings have left some remnants in the registry that are still used even when reinstalling drivers.
Asmodian
28th May 2021, 20:20
Still dealing with this. Is there any solution? Has MadVR permanently screwed my monitor?
Custom timings can damage a monitor, I saw it once (before madVR had the option). I believe is very rare today, but it is possible.
That said, have you tried deleting all your displays with CRU? This is the only way I have found to really reset them, sort of reinstalling Windows.
andrew89898
28th May 2021, 22:38
Haven't had any issues (I'm on 20H2 but it's the same kernel).I only check "notify media player: immediately" and "crop black bars", but I'm not using a projector. I've set MPC-HC to Touch window from inside, Default AR, Zoom 100%. It also works fine in MediaPortal.
Does the madVR OSD show the line like "1920x1080 -> 19??x80?, 2.39:1" on the non-IMAX parts?Are you sure you didn't change something else at the same time or shortly before testing madVR custom timings, like a new GPU driver? Have you tried older drivers? Have you tried DDU? Maybe the custom timings have left some remnants in the registry that are still used even when reinstalling drivers.
I don't get any line like 1920x1080 >
I have attached a jpg with what my OSD shows.
https://i.ibb.co/2kYTynY/madvr.png (https://ibb.co/Tgqskvq)
17790
clsid
28th May 2021, 23:13
Maybe it isn't working because madvr is using DXVA scaling. Try with a different scaler in the settings.
Asmodian
28th May 2021, 23:47
Ah, yes, of course.
DXVA scaling happens before madVR gets the video, it is equivalent to native decoding for purposes of Zoom Control. :(
Use Cubic 60 or 75 if you want something very fast and decent quality. Spline36 is also a great option and it is only slightly slower.
andrew89898
29th May 2021, 00:28
Ah, yes, of course.
DXVA scaling happens before madVR gets the video, it is equivalent to native decoding for purposes of Zoom Control. :(
Use Cubic 60 or 75 if you want something very fast and decent quality. Spline36 is also a great option and it is only slightly slower.
I had it on the bottom option before (NGU) I only recently tried DXVA. I have set spline and still have same problem :(
https://i.ibb.co/GQNXtyC/madvr2.png (https://ibb.co/m5gmXkh)
Asmodian
29th May 2021, 01:51
And you have tried enabling both if there are big black bars and/or if black bars change quickly back and forth?
Edit: not if there are big black bars, I keep forgetting that does not keep all image content. :(
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.