View Full Version : madVR - high quality video renderer (GPU assisted)
Amuat
3rd September 2023, 16:18
Thank you also for the guide. But it says this about the Direct3D 11 option:
"use Direct3D 11 for presentation (Windows 7 and newer): [Disabled] Use Direct3D 11 instead of D3D9. Requires a restart of madVR to take effect. Required for >8 bit output. Slightly more responsive than D3D9. Overrides windowed overlay."
How then can it be considered a legacy option now, if it is required for >8 bit output? Or is that information false/outdated?
Alexkral
3rd September 2023, 16:51
Should I be tone mapping my 1550 nit QLED or keep passing through? What would happen to specular highlights if I did because I really enjoy them?
If you find the image overall too dark in HDR mode, and assuming the screen reaches a similar brightness in SDR mode (which seems to be the case with the Q90R), you could try what I explained above by tone mapping to 763 nits (with madVR 0.92.17). Note that since SDR is a relative format, those 763 nits are scaled by the TV to the SDR peak brightness, and at the same time the 100 nits reference white is scaled to 203 nits. So specular highlights should be stunning in any case.
If not, you have nothing to gain.
Sunspark
3rd September 2023, 19:23
Thank you also for the guide. But it says this about the Direct3D 11 option:
"use Direct3D 11 for presentation (Windows 7 and newer): [Disabled] Use Direct3D 11 instead of D3D9. Requires a restart of madVR to take effect. Required for >8 bit output. Slightly more responsive than D3D9. Overrides windowed overlay."
How then can it be considered a legacy option now, if it is required for >8 bit output? Or is that information false/outdated?
D3D11 is pretty much required for new hardware, but for older hardware you can use your judgement as to which runs better. I still use D3D9 on my old igpu.
MadVR is actually a D3D9 app, the D3D11 support is a wrapper.
Sunspark
5th September 2023, 15:43
Sucks, I found an anime end-credits encoded in HEVC 10-bit that makes madvr choke in software decoding mode. It's the renderer, because I am able to get the credits to play with mpv and mpc-vr without dropping the frames or stuttering. Basically what happens when this occurs is that CPU usage goes to 100 and all the queues empty out.
I don't get it. Why does it play fine with no drops until it gets to the end credits marker and then chokes?
Asmodian
5th September 2023, 16:09
How then can it be considered a legacy option now, if it is required for >8 bit output? Or is that information false/outdated?
It is the 'use separate device' options that are legacy, not D3D11. D3D11 is good in Windows 11, at least as far as I can tell, and useful for >8 bit.
Sunspark
5th September 2023, 18:21
Playing around with various settings and queue depths, I notice the queue that chokes first on this P010 HEVC video is the rendering queue. This one always goes first (before upload queue does), and then all the others follow. Playing around with making the GPU queue 24 does help, but I don't think it's the solution because eventually it does start to choke, just not as often or as much. I wonder what it's trying to render.
ryrynz
6th September 2023, 00:38
I'd be looking at your post processing options. Does it still happen if you switch to DXVA?
Sunspark
6th September 2023, 05:51
I don't have any post-processing options turned on. Forcing NV12 in LAV doesn't fix it. Having HEVC hybrid on in the decoder is very buggy.. but when it runs it has the problem still. So DXVA/D3D11 even with chroma forced to DXVA doesn't work.
I don't think this is fixable. I'd also need to test with some other HEVC material to see if it's just the encode itself or the codec in general.
huhn
9th September 2023, 23:38
black bar detection?
Sunspark
10th September 2023, 00:05
Black bar detection is turned off.
The decoder is fine, it's just the renderer. I could probably experiment further with backbuffers and present-in-advance to see if different numbers make a difference but I have a feeling it won't be worth it for hybrid Broadwell HEVC because MadVR is already pretty heavy for both cpu and gpu. Might make more sense to just use mpc-vr for that codec type as it is lighter on system resources.
I'll probably give it a shot next time I want to obsessively procrastinate.
ashlar42
11th September 2023, 01:03
Is there a way to activate a log in madVR to record when, during video playback, frames are dropped or repeated?
hannes69
11th September 2023, 01:54
When you activate debug mode in madVR folder, a log file is created during playback. I don't know whether the debug log file contains dropped/repeated frames or not. If not you could use a screenshot tool during playback with debug OSD activated in madVR, maybe taking a screenshot every minute. In a photoviewer you can visually scan the screenshots rather fast.
Amuat
14th September 2023, 16:53
1. GPU queue size: Should I change this if my GPU is much stronger in relative terms than my CPU? To the same 16 perhaps? Or to put it in more general terms: what does this mean exactly?
2. Video frames presented in advance in exclusive mode: Again, what is the implication of this exactly? In the guide that was recommended here, it says to either leave this at 8 or change it to 3, but without giving any explanation what it does or why you would want to change it to 3. And still someone said (maybe it was here?) that in modern systems it should be at 1. I've recently started to have a problem with exclusive mode (which should be the most stable mode according to the aforementioned guide) from time to time where frames are skipped in a very noticeable way, I have no idea what could be causing it (rendering time stays at a very comfortable level, so it's not about that). Doesn't occur when windowed (not talking about the fullscreen windowed mode, that doesn't fix it).
Sunspark
14th September 2023, 17:10
GPU queue is the buffer for the frames rendered by MadVR that are ready to be sent to the screen. I use the minimum of 4 because I have an older igpu which uses system memory.
Video frames presented in advance as I understand it are the rendered frames sent to the presentation manager for drawing. Traditional v-sync buffering uses 3 frames. It is true that some cards are working better with a value of 1. On my igpu I use a value of 3 so the buffer feeding the presentation manager for drawing doesn't empty out immediately if the system has to attend to something or gets hot or whatever.
Exclusive mode, you don't need this anymore on Windows 10/11. I used to use this but stopped because it interfered with some things. It was better for Windows 7. I still use D3D9 overlay with MadVR as it is supported on my system, but with EVR-CP and MPC-VR I just use regular windowed fullscreen. Exclusive may still be useful for some things like forcing 10-bit to a 10-bit panel, or an odd refresh rate thing, or ignoring overlays or some other circumstance, but chances are pretty good that this is not you. (Also, you have to take extra steps in Windows to disable some things so Exclusive mode will work. Microsoft changed some things so that traditional exclusive mode isn't on by default anymore. If you want to test something in regard to your frame skipping thing, open the player's .exe properties and on the compatibilities tab check "disable full-screen optimisations" and see if that helps.)
mclingo
16th September 2023, 22:06
Hi, been having some issue with madvr for a few weeks, problems started with MADVR just randomly freezing for a second or two during movies, sometimes a couple of times. It only does it with the MADVR renderer though. I've tried dropping right back to .17 but that didnt work so I decided to go back to the latest version but the issue is now I cant install my saved settings. I had copied my MADVR folder before I dropped back to .17, all I do is deleted .17, copy the other folder back and install it again, this has always worked in the paste but not I just get a blank install every time like its not loading the settings.bin. I even pulled the folder out of my system restore, wiped MADVR and started from scratch, ran the install expecting all my settings to come back and nothing, nada, nowt there. Anyone any ideas?, i'm running as admin so its not that.
Has something changed where the MADVR settings can no longer be saved or something?
EDIT - managed to get them back, I found a backup copy on another drive which I took before I moved MADVR from another drive to the C drive, I think this is the issue, authenticated users didnt have full control of MADVR folder on the C drive so I dont think the settings.bin was updating properly.
I've put it back on the drive where it came from as I seem to remember somebody saying before not to store MADVR on the route of C.
Dont suppose anyone else is having any mementary freezes in MADVR? as thats my main issue.
Sunspark
17th September 2023, 02:00
You can store it anywhere you like. You run the install script as administrator.
I have mine in the documents folder.
No freezes here, see if your system is overheating, look at the HUD with ctrl-j to see if the buffers are emptying and not filling.
mclingo
17th September 2023, 18:54
When it did it last night I notice some drop frames so something odd is going on as it was saying the next frame repeat was in about four hours, system definitely isn't overheating and CPU and GPU levels ok. Just can't find out where these drop frames are coming from.
Sunspark
17th September 2023, 21:03
You didn't say what you were using, but if you aren't, try putting decoder in D3D11-Automatic and the renderer settings in D3D11. Uncheck exclusive.
mclingo
18th September 2023, 21:42
yeah got all that, apart from fse is ticked
Amuat
19th September 2023, 14:42
At least one downside of not using exclusive mode is that it takes more resources to render a typical 24 fps video at your default monitor refresh rate (assuming of course it's a typical 60 or 120 Hz or such), which exclusive automatically changes to one corresponding to the video your playing. AFAIK auto-HDR doesn't trigger either without it. But the first one is what makes it a non-option for me, as I really don't have the resources to spare.
As a sidenote, I also experience the freezes mentioned on top of the occasional constant skipping of frames, but I experience those brief freezes during other tasks too, so I don't think it has anything to do with madVR (or MPC-HC) in my case.
huhn
19th September 2023, 15:30
FSE does not exist anymore.
if it still would work it would in theory be faster not slower.
it does not change the refreshrate and it can be run at any refreshrate.
the refreshrate doesn't cost performance it only cost performance with present a frame every vsync just stop using it if you can pay for it.
Sunspark
19th September 2023, 16:19
@Amuat Since it's happening with other tasks, a good starting point would be to scan your machine for bad RAM. https://www.memtest86.com/
Amuat
23rd September 2023, 13:17
FSE does not exist anymore.
if it still would work it would in theory be faster not slower.
it does not change the refreshrate and it can be run at any refreshrate.
I'm sorry, I didn't quite catch what you meant by that, could you please clarify a bit?
Amuat
23rd September 2023, 13:23
@Amuat Since it's happening with other tasks, a good starting point would be to scan your machine for bad RAM. https://www.memtest86.com/
Oh, I've actually recently upgraded from 8 GB to 32 GB, ran an exhaustive diagnostic test with a Lenovo program that took several days (everything was supposedly fine), reinstalled Windows, upgraded BIOS... I don't know what the hell is wrong with my system. There are no sounds of any overheating either when it happens.
Sunspark
23rd September 2023, 18:56
I'm sorry, I didn't quite catch what you meant by that, could you please clarify a bit?
He's saying that FSE doesn't exist in default current configurations of Windows, that you have to take steps to disable the new behaviour in Windows in order for exclusive mode to work again.
Also says that the mode is not related to the refresh rate, it will work at whatever refresh rate your monitor is able to switch to.
Try using a different video renderer like evr custom presenter.
Amuat
24th September 2023, 16:28
He's saying that FSE doesn't exist in default current configurations of Windows, that you have to take steps to disable the new behaviour in Windows in order for exclusive mode to work again.
Also says that the mode is not related to the refresh rate, it will work at whatever refresh rate your monitor is able to switch to.
Try using a different video renderer like evr custom presenter.
That's exactly what I was saying, it automatically switches the refresh rate to match the video you are watching. Also disabling 'present a frame for every VSync' did absolutely nothing to reduce the performance cost of not using exclusive mode. And if you really need to change some settings for it to work on Windows 11, I must have done that unknowingly, since when I use it the 'device info' option on my OLED really does show that the refresh rate is whatever the video is in, not my native refresh rate. Or then I just don't understand what it means that it's not working by default. Anyway, I will continue using it as it works by my standards.
Sunspark
24th September 2023, 17:26
Windows changed how the desktop compositor works. It has nothing to do with refresh rate.
Exclusive mode does not switch the refresh rate to match the video on a PC. If that is happening, you turned on refresh rate switching in either the player or madvr itself.
Amuat
24th September 2023, 18:49
Windows changed how the desktop compositor works. It has nothing to do with refresh rate.
Exclusive mode does not switch the refresh rate to match the video on a PC. If that is happening, you turned on refresh rate switching in either the player or madvr itself.
Yes, I have the relevant settings set up in both, but the refresh rate change only triggers when entering exclusive mode. I don't know if it's that or something else, but I really do have speedier rendering with exclusive than on regular full screen.
mclingo
25th September 2023, 12:33
Hi, i'm still getting these dropped (not skipped) frames a couple of times in movies the picture actually hangs for a good second or so but there is nothing in events and usually about 4 frames dropped. I've tried different AMD drivers and also switch to DXVA rendering to no avail, doesnt happen with any other renderers like MPC. Anyone think of anything else to try, its no my processing though as i've tried different settings and i'm only about 20-30ms anyway. Nothing in system or app events either so it has to be something to do with MADVR rendering specifically.
I have bought more ram recently though but I am sure it started a while after that, I dont want to take it out though as my Cooler covers the ram so I have to take it all apart and add new CPU paste every time i replace / move the ram.
Any further suggestions as to the cause, or any diagnostics I can try, ram tests all clean and no others in other apps.
Charky
25th September 2023, 16:20
Not the subtlest method, but if it was me, I'd take an hour, swap the SSD and try a nice & clean Windows install on a spare SSD (the old one is used as a backup), with the bare minimum to play a video, just to understand if it's software or hardware related.
I'd probably go Win 11 too, since it's the standard now.
chrom
26th September 2023, 13:24
I would like to create 3D LUTs for madvr. I will use madvr with a projector.
Should I create two different 3d luts because my target luminance in SDR is 16 fl, but with HDR (tone map using pixel shader) is the projector's maximum light level, maybe around 40 fl?
Otherwise I know that I should create only one D65, 2.2 gamma, DCI-P3 3D LUT.
Usually, I set madvr and projector to limited range, but the gpu to full range. However, now I have a Declink 4k mini recorder card, which I would like to use to connect some sources to my htpc. In this case should I set madvr, gpu and projector to full range? And waht about the different source devices? They send YUV limited signal, not RGB.
e-t172
26th September 2023, 19:21
Not the subtlest method, but if it was me, I'd take an hour, swap the SSD and try a nice & clean Windows install on a spare SSD (the old one is used as a backup), with the bare minimum to play a video, just to understand if it's software or hardware related.
Even easier: use Rufus (https://rufus.ie/) to create a Windows 2 Go USB flash drive, which you can then boot on without having to "install" Windows per se (similar to a Linux LiveCD). Very handy to verify if a an issue is related to a Windows install.
mclingo
27th September 2023, 13:32
Not the subtlest method, but if it was me, I'd take an hour, swap the SSD and try a nice & clean Windows install on a spare SSD (the old one is used as a backup), with the bare minimum to play a video, just to understand if it's software or hardware related.
I'd probably go Win 11 too, since it's the standard now.
it would be a lot of messing about and would take a lot long that than as my PC is built into my living room wall, its not super accessible. I was hoping for some advice to what people thought might be causing it.
Sunspark
27th September 2023, 16:28
Do the Rufus suggestion. My assumption is that you probably still have a USB port accessible unless it's actually been drywalled off.
You boot from the USB connection using the UEFI boot menu.
chrom
28th September 2023, 12:26
Is there a guide on how to control sony projector via madvr ip control function? I would like to change picture modes on the projector based on the input signal.
TheGameMaster
29th September 2023, 15:30
My system, on it's own, went from using NGU-Antialias for doubling to super-xbr. And I can't figure out how to fix it. Regardless of doubling setting in settings, it still runs super-xbr. I uninstalled and re-installed everything trying to fix it, an it still does it. If I change it to a non-doubling setting for upscaling it will change to that. But when I change to a doubling setting it always runs super-xbr. Is it a reg setting?
Thanks,
Rodney
Sunspark
29th September 2023, 17:15
A curious observation I made the other night. I have known for awhile now that overlay mode ignores Windows night light, but apparently, it does not ignore f.lux.
F.lux's colour change is passed on to overlay mode. Very interesting. I wonder how this is being achieved.
Asmodian
29th September 2023, 22:05
The last time I tested it (a long time ago now) f.lux did not get along well with madVR.
curael
30th September 2023, 23:25
Hey guys,
I've been trying to browse and search for this issue and I sometimes find someone speaking about it but I can't find a clear answer;
I got an RTX 4070, previously had a 2080. I have an LG C2 and an Onkyo RZ70 AVR in the chain.
I got 2.1 cables and am able to set PC mode 120Hz in nVidia and get 10-bit full RGB.
How ever, when I do this, madVR no longer switches refresh rate to my set 2160p23, etc, etc, etc. I sticks to 59 or 119Hz. In custom modes when I try to test 23Hz it says the GPU driver rejected it. It's as if when I put the receiver into 8K enhanced mode and am able to get 120Hz on the desktop, all frame rate switching goes haywire inside of madVR. When I do 4K enhanced setting I can pick 60Hz 8 bit, and even then, madVR can then switch to 23 10bit in HDR mode.
But can someone explain a bit more about why going into PC mode 120Hz 4K suddenly makes madVR unwilling to switch to the correct movie framerate? I'm at a loss here. I've tried disabling FSE mode and then the refresh rate changes as expected but them I get serious stutter in the image - which is not present when I use 4K enhanced mode on the AVR and FSE and corrctly changes to 23Hz. I'd like to utilize the higher framerate in gaming and such and also have madVR actually working and switching refresh rate. But it seems like fundamentally the GPU rejects these lower Hz modes when I run in 120 PC mode. What gives?
Sorry if this has been answered but I couldn't find anything conclusive or if there's an option I can change somewhere.
I'm on Windows 10 by the way and I have been using madVR on many cards now and I've never experienced this before but it's the first time I've been running on 120Hz and chosen a "PC" option in nvidia panel as I've never been able to run more than 4K60 at 8 bit until now.
Any help or explaining would be greatly appreciated. :)
Amuat
1st October 2023, 12:56
What do you find to be a better option for softening: reduce compression artifacts or reduce random noise? And at what strength (mainly asking this regarding the former, as I think going beyond 1 for the latter is a bit too much)? And how meaningful it is to process chroma channels also?
For extra sharpness (after already using NGU sharp), do you prefer SuperRes, enhance detail, LumaSharpen or AdaptiveSharpen, or some combination? And again, at what settings (if SuperRes, do you also use it for chroma upscaling and not just for upscaling refinement)? And what about refining the image: after every 2x upscaling step or once after upscaling is complete?
Asmodian
2nd October 2023, 01:37
SuperRes is not really meant for combination with NGU... and isn't really a sharpener.
Which sharpener is best seems to depend on the content, that is why they are all options. I like enhance detail and adaptive sharpen at low strengths with once after upscaling is complete, but it seems like everyone has their own preference.
mark0077
7th October 2023, 00:42
What are you guys using with madVR to switch into HDR mode of your TVs. I'm trying to use the option to 'passthrough HDR to display' and 'send HDR metadata to the display'. But it almost always looks washed out when I watch HDR content. If I press windows+alt+B I can sometimes fix it, but when madVR does switch to HDR, the TV does always shows the HDR icon so it does look to be at least telling the TV to switch to HDR mode.
I'm using an LG C1 77" and RTX 4090 with latest drivers. Even after a fresh Win 11 reinstall and uplift to the latest drivers the switch from Windows SDR mode to madVR -> HDR mode is very flaky. I don't see errors, just I can see the TV switch to HDR, but the image is crazy flat/washed out. I hope I'm not the only one seeing it. Anyone know a way to fix this? Using latest madVR beta 169.
huhn
7th October 2023, 03:40
yes i have this issue too but also no solution.
e-t172
7th October 2023, 20:48
Just keep in Windows in HDR mode permanently, so you never have to switch. There is no real downside in doing that with an LG OLED display (as opposed to some other displays which do not display SDR-in-HDR optimally).
huhn
8th October 2023, 05:02
but my cx is dimming this way all the time the white is way to bright and my color management system is deactivated that's all pretty big deal here.
and not forget that microsoft is literally messing everything up that is not HDR and the gamma of SDR like 1.8.
Shark007
8th October 2023, 12:01
Some, if not most of you, may benifit from the Microsoft supplied Windows HDR Calibration app (https://www.microsoft.com/store/apps/9N7F2SM5D1LR)
The above requires Windows display setting set to use HDR and a monitor already in HDR display mode
Manni
8th October 2023, 12:23
Re failure to switch correctly in hdr mode, this is often caused by botched settings after a gpu swap. Delete your settings.bin in the madvr folder, delete your madvr settings in the registry, run the “reset to default settings” batch file in admin mode and reenter your settings. That always solves it (as well as the key shortcuts for profiles not working) for me.
e-t172
8th October 2023, 14:16
but my cx is dimming this way all the time the white is way to bright
You can adjust the level of SDR white in the Windows HDR settings. The TV is only dimming because you are displaying bright whites, not because it's doing so in HDR mode.
and my color management system is deactivated
Windows supports color management in HDR; in fact, there is a whole new color management pipeline (https://learn.microsoft.com/en-us/windows/win32/wcs/display-calibration-mhc) that is much smarter than the old stuff and can apply a matrix profile directly on the GPU output of all apps (sadly not a 3DLUT though, it seems). Unfortunately that feature requires an ICC profile with the Microsoft-specific "MHC2" tag, and I'm not aware of any tools that can produce one. Hopefully that will change over time.
(These ICC profiles do exist though - modern laptops with wide gamut displays often come bundled with them, so that sRGB apps display correctly even in wide gamut mode.)
microsoft is literally messing everything up that is not HDR and the gamma of SDR like 1.8.
That's not true. I have personally measured (using a color sensor and my LG G1) Windows SDR-to-HDR conversion and found it to be quite accurate. It is true that it assumes the input is sRGB (including sRGB gamma), which makes sense since since Windows doesn't know your app is a video player. There are Windows APIs to tell Windows what the actual input colorspace is so that it can do a better job at converting to HDR, or an app could also do the conversion itself and output in HDR colorspace, but sadly madVR doesn't seem to do any of this when playing SDR content. You can work around that by measuring madVR's SDR output in Windows HDR mode and then correcting it using an SDR-only madVR 3DLUT, which is what I'm doing.
huhn
8th October 2023, 18:39
You can adjust the level of SDR white in the Windows HDR settings. The TV is only dimming because you are displaying bright whites, not because it's doing so in HDR mode.
does matter even 8 8 8 is pumped to visible 30
Windows supports color management in HDR; in fact, there is a whole new color management pipeline (https://learn.microsoft.com/en-us/windows/win32/wcs/display-calibration-mhc) that is much smarter than the old stuff and can apply a matrix profile directly on the GPU output of all apps (sadly not a 3DLUT though, it seems). Unfortunately that feature requires an ICC profile with the Microsoft-specific "MHC2" tag, and I'm not aware of any tools that can produce one. Hopefully that will change over time.
(These ICC profiles do exist though - modern laptops with wide gamut displays often come bundled with them, so that sRGB apps display correctly even in wide gamut mode.)
my CX6 color management not windows it can't handle HDR at all.
That's not true. I have personally measured (using a color sensor and my LG G1) Windows SDR-to-HDR conversion and found it to be quite accurate. It is true that it assumes the input is sRGB (including sRGB gamma), which makes sense since since Windows doesn't know your app is a video player. There are Windows APIs to tell Windows what the actual input colorspace is so that it can do a better job at converting to HDR, or an app could also do the conversion itself and output in HDR colorspace, but sadly madVR doesn't seem to do any of this when playing SDR content. You can work around that by measuring madVR's SDR output in Windows HDR mode and then correcting it using an SDR-only madVR 3DLUT, which is what I'm doing.
that's nice for your G1 my CX falls apart.
flobo09
13th October 2023, 05:19
Hey all, is anyone having a weird issue with nvidia graphic cards & madVR.
It suddenly stopped working last Friday for me.
For every single video, after 2 minutes, it crashes with "exception message : Access violation at address $12b7825c in module 'nvwgf2um.dll'. Read of address $a0."
Tried rolling back madvr measure to normal madvr, tried rolling back nvidia drivers. Eventually fully reinstalled Windows in frustration but no go.
I'm using old EVR as renderor in the mean time.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.