View Full Version : madVR - high quality video renderer (GPU assisted)
kitame
12th May 2017, 00:22
Why would this be so? A 4k screen has roughly 8 million pixels, each pixel with 24 bits of information assuming RGB presentation = roughly 24MB yet VRAM is roughly 2000MB.
buffer count and shader table.
also, madvr supposedly renders things in 32bit depth.
Georgel
12th May 2017, 00:22
Well you actually do need a 1080 Ti or better for maximum madVR, maximum being the highest settings possible. You need a very powerful GPU to do 1080p -> 2160p with NGU veryHigh. :D
Whether or not using NGU veryHigh instead of high or medium is worth $400+ is debatable, of course, but "maximum madVR" does require a 1080 Ti or better.
Actually, I still have to use profiles with lower settings for harder content and I have an overclocked and water cooled Titan X (Pascal). Even the current top end cards cannot run truly maximum madVR, though they get pretty close. :)
I can confirm!
I don't even have a 4k display, barely a 1440p display and GTX 1080 cannot keep up with NGU high for all content.
Even using Cubic smooth can strain the GPU on 1440p for 1080 with only a few tweaks enabled...
nevcairiel
12th May 2017, 00:24
Why would this be so? A 4k screen has roughly 8 million pixels, each pixel with 24 bits of information assuming RGB presentation = roughly 24MB yet VRAM is roughly 2000MB.
If you only wanted to store one image in 8 bit, perhaps.
madVR uses higher precision internally though, so thats at least 16 bits per component, if not even 32, that would be 48 or 96MB per image.
And madVR also doesn't use only one image, it has several layers of queues to ensure smooth playback. At the default queue size of 8 thats at least 16 images in internal queues (upload+render), and a couple more in the present queue (say also 8 for default exclusive mode).
Now add to that GPU decoding, which is almost a necessity for 4K playback, which also has to store a bunch of frames on the GPU to be used as reference frames and some other tasks (say an average of 10, it depends how the video was encoded, can be more or less, note not all of those are references, before anyone complains that 10 is too high of an average, with LAV there is about 4-6 frames in use that are not references).
That makes a total of 34 image so far, at 48MB per 4K 16-bit image thats already >1600MB of video memory, not to mention what the OS uses (and some images may even be using 32-bit bpc instead of "just" 16, further increasing it).
In short, 2GB is quickly going to run out. You can try to make it work by lowering queues and whatnot, but overall its definitely a limiting factor.
Madshi has stated elsewhere that 3D assumes a 1080p display and thus the left and right eye frames are downscaled to 1920x540 before being combined for Top/Bottom or Interleaved presentation. This is terribly inefficient for those of us with 4k passive 3D displays as we can theoretically view the entire left and right eye frames intact in the 3840x2160 screen.
Would Madshi consider modifying MadVR to provide a 4k and 1080p major option (with SBS, Top/Bottom, Line Interleaved, etc minor options), with the 4k option simply stacking or arranging the left and right eye frames without any pre-scaling?
The 4k option is actually simpler, less processing intensive and better quality than the 1080p option as there is no detail reduction through downscaling then upscaling.
Whilst it is possible to obtain a similar result using 3D frame-packing, it removes the capability to perform additional processing in the HTPC and relies on the fixed capabilities of the TV. If effort has been made to provide the 3D output options for 1080p displays, does it not make sense to also provide them for 4k displays too for consistency?
looking at the osd line alternative should work properly without downscaling.half res and combining are the last part in the OSD right before final steps. a downscaling algorithm is never used in the OSD but only madshi knows what is used in his renderer.
johnnylaiyee
12th May 2017, 01:55
In short, 2GB is quickly going to run out. You can try to make it work by lowering queues and whatnot, but overall its definitely a limiting factor.
In my experience, the 2 gb of my $90 GTX1050 is more than enough for smooth playback.
In 1080p to 2160p double scaling situation, I have High/Medium debanding on, Bicubic60 + AR in Chroma, and NGU Sharp High in Luma, ordered dithering. With defalut CPU/GPU queue settings, my rendering time never exceed 38ms.
In 4K HDR playback, since it doesn't need luma double scaling, I use Jinc AR in chroma and get around 30ms in rendering time. I can actually use NGU Sharp High in chroma below 40ms but I can hardly see any difference with Jinc AR. So I rather keep more headroom to be safe.
than check your Vram usages.
try a GPU queue of 4 and a present 3 and with this rendertimes should get lower. this kind of worked with my 960 as long as no other program was run like a web browser.
my 1060 can do 1080p23-2160 NGU sharp very high (chroma bicubic)and this card is only about 2.5 as fast as a 1050.
my queues are default 8 and i need about 3-3.5 GB of Vram with this.
i had to replace my 960 2 Gb because it was running out of Vram.
johnnylaiyee
12th May 2017, 02:37
try a GPU queue of 4 and a present 3 and with this rendertimes should get lower.
Will try it tonight and report back.
BTW, what settings should I push further if I got the extra headroom?
i don't know but not every file is 23p.
and 4 render queue is not save in general deinterlancing will most likely not work.
deinterlancing and UHD should be close to impossible on a 2 Gb card anyway.
maybe pascal got a lot better at handling Vram limiting situation.
but the is no question that madVR uses more than 2 Gb of Vram. i don't know what happens when you run out of Vram with an pascal GPU but the GPU has to do something about this situation.
delta color compression is nothing new on nvidia and cards maxwell got this to but this is more for bandwidth not memory.
maybe they add a lossy version for such situation.
lossless compression over ~10% for the presentation frames should be impossible.
arapaz
12th May 2017, 09:36
3D "jumping" and MPC-BE freezing after stopping playback...
Hi, I have set up a small media PC with a Kaby Lake Intel i5 7200U and HD Graphics 620 in Win10x64...
the TV is switched to 3D but the movie is constantly "jumping" back a few Frames "every second", so the Picture is very jerky
I have the same problemwith 3 different Intel NUC used as HTPC.
No way to watch 3D movies.
It would be nice if you could find a solution for this as there is no alternative for a small HTPC than use the Intel graphics.
iSeries
12th May 2017, 11:15
Just wondering, when downscaling 4k to 1080p, why does MadVR by default first upscale the chroma to 4k before downscaling, when the chroma is already at the target resolution?
nevcairiel
12th May 2017, 11:19
Just wondering, when downscaling 4k to 1080p, why does MadVR by default first upscale the chroma to 4k before downscaling, when the chroma is already at the target resolution?
Because some image scalers work best in RGB, and to make RGB, you need to upscale chroma first. Additionally, it ensures that both Luma and Chroma perfectly match, otherwise tiny differences could show up based on the scaling algorithm.
There is a trade quality option to disable that (scale chroma separately, if it saves performance), in which case it would keep the chroma on the original resolution, and scale only Luma.
ashlar42
12th May 2017, 13:05
That's good, but not all of us can stick to 23.976, for example my monitor doesn't support 23.976 or 24, so i'm forced to make 72 hz custom resolution.I did not make a wide statement, I was just suggesting a course of action to a specific user. The guide I wrote is valid for whichever refresh rate best works for your particular display. :)
ashlar42
12th May 2017, 13:08
Well you actually do need a 1080 Ti or better for maximum madVR, maximum being the highest settings possible. You need a very powerful GPU to do 1080p -> 2160p with NGU veryHigh. :D
Whether or not using NGU veryHigh instead of high or medium is worth $400+ is debatable, of course, but "maximum madVR" does require a 1080 Ti or better.
Actually, I still have to use profiles with lower settings for harder content and I have an overclocked and water cooled Titan X (Pascal). Even the current top end cards cannot run truly maximum madVR, though they get pretty close. :)Out of curiousity... do you use such a machine in an HTPC environment or on desktop?
iSeries
12th May 2017, 13:38
Because some image scalers work best in RGB, and to make RGB, you need to upscale chroma first. Additionally, it ensures that both Luma and Chroma perfectly match, otherwise tiny differences could show up based on the scaling algorithm.
There is a trade quality option to disable that (scale chroma separately, if it saves performance), in which case it would keep the chroma on the original resolution, and scale only Luma.
Thanks - say SSIM downscaling, does this work best in RGB?
James Freeman
12th May 2017, 18:49
Question about creating a 3DLUT using DisplayCAL;
What "Source colorspace" should I choose when creating a 3DLUT for UHD movies with 2020->P3?
EDIT:
Found it.
Yes, it makes a difference if I choose BT.2020 or REC.709 as "source colorspace".
Just wondering, when downscaling 4k to 1080p, why does MadVR by default first upscale the chroma to 4k before downscaling, when the chroma is already at the target resolution?
by default madVR is not doing that. you have to uncheck "scale chroma separrately, if it saves performance" so it was unticked.
and to be fair the chroma is >not< at the target resolution when scaling 2160 to 1080.
iSeries
12th May 2017, 22:11
by default madVR is not doing that. you have to uncheck "scale chroma separrately, if it saves performance" so it was unticked.
and to be fair the chroma is >not< at the target resolution when scaling 2160 to 1080.
Surely it must be at the target resolution of 1080p, because when i check scale chroma separately if it saves performance, there is no chroma scaling as per the osd
the chroma or luma channel needs to be moved my half a pixel this is only shown in the advanced OSD.
it could be done directly but that is not a normal x2 downscale.
and in term of quality it is most likely better to move the chroma.
A question of image enhancements and upscaling refinement, the difference for me comes from image enhancements, instead of upscaling refinement, I have no idea why. Which one of the options do you guys use for 1080p content (movies), (etc. sharpen edges, adaptive sharpen and more)?
James Freeman
13th May 2017, 11:47
Another 3DLUT and HDR bt2020 movie question;
Should I calibrate and profile at maximum brightness of my wide-gamut SDR monitor before creating a 3DLUT for HDR->SDR in madVR using my screen peak brightness setting?
It looks like the colors are desaturated when I calibrate to 100nit and set to 400nit peak in madVR.
But, when I set to 120nit peak in madVR with a 100nit 3DLUT the colors are accurately saturated.
Currently, the most accurate result I got is calibration+profiling in Wide-Gamut mode (Dell U2410) at 100nit, 3DLUT BT.2020 Gamma 2.2 in DisplayCAL, and 120nit peak in madVR.
I would assume it would be most accurate to set madVR peak nits at the same peak nits of the calibration, correct?
EDIT:
Found a better solution, HDR->SDR by 3DLUT, it does a better job than by pixel-shader, but by pixel-shader is not bad at all.
It's been almost 2 years since my last calibration and DisplayCAL use, so I'm a little rusty.
The solution was on AVSForum in the "MadVR - ArgyllCMS" thread... obviously.
Another 3DLUT and HDR bt2020 movie question;
Should I calibrate and profile at maximum brightness of my wide-gamut SDR monitor before creating a 3DLUT for HDR->SDR in madVR using my screen peak brightness setting?
if your screen isn't getting into troubles using high brightness you could try it. setting into below 300 nit is generally not a good idea IMHO.
It looks like the colors are desaturated when I calibrate to 100nit and set to 400nit peak in madVR.
But, when I set to 120nit peak in madVR with a 100nit 3DLUT the colors are accurately saturated.
Currently, the most accurate result I got is calibration+profiling in Wide-Gamut mode (Dell U2410) at 100nit, 3DLUT BT.2020 Gamma 2.2 in DisplayCAL, and 120nit peak in madVR.
I would assume it would be most accurate to set madVR peak nits at the same peak nits of the calibration, correct?
while it is accurate it is pretty pointless to get the 100 nit part of on HDR file accurate.
when a movie is capture in HDR and put on a normal BD you can blindly assume they don't do it this way.
James Freeman
14th May 2017, 08:24
if your screen isn't getting into troubles using high brightness you could try it. setting into below 300 nit is generally not a good idea IMHO.
My train of thought is;
Wouldn't it result in more accurate colors if I actually calibrate to my displays maximum backlight brightness, instead letting DisplayCAL do-the-math and calculate/stretch from 100nit to whatever HDR peak nit I select?
I shall continue this discussion on the AVS thread.
Asmodian
14th May 2017, 08:46
Yes, never target a specific brightness with a calibration. It is always better to target native brightness and use the display's brightness control to adjust it if necessary.
James Freeman
14th May 2017, 08:52
So, calibrate to 100nit and let DisplayCAL or madVR (pixel shader) do the math?
johnnylaiyee
14th May 2017, 10:58
When playing 1080p 8bit video is there a difference using nv12 output and p010 output?
ryrynz
14th May 2017, 11:05
If there was a benefit everyone would be outputting p010. So there's either no benefit and a small loss in performance due to conversion or there's a decline in quality and also a performance cost.
Neither of which you want, I'm sure someone else will chime in on which one it is, but obviously you should just keep the LAV defaults.
James Freeman
14th May 2017, 12:08
Dithered 8bit can easily look like 12bit to the human eye, especially when the dithering changes each frame like in madVR.
Also in my experience, consumer SDR TVs handle 12bit HDMI much worse than 8bit HDMI because the internal processor is designed around 8bit, even though they support 12bit.
clsid
14th May 2017, 12:40
Most 10bit videos that are available today were encoded from 8bit video!!! The reason that 10bit was used is purely because that allows for more efficient encoding in terms of quality/size ratio, at the cost of slower encoding and decoding. Going back to 8bit (with dithering) after decoding doesn't give much loss in quality.
Only "real" 10bit content such as HDR stuff make proper use of a wider color range. But even then the loss is small. Plus keep in mind that most TVs and monitors are 8bit internally (or even less).
dioxholster
14th May 2017, 17:25
btw, if you go to display settings -> display adapter properties, but it does not open, then madVR wont work either. Windows 10 since creators update has messed up ICC profiles and madvr needs to access them somehow. Is there a solution to this other than restarting PC?
ipanema
17th May 2017, 18:33
I'm just starting to try madVR in graphstudionext. I'm connecting the LAV splitter and decoder to it. I'm using Windows 7.
When the input pin of madVR is connected, a dialog box appears that says:
File Open - Security Warning
Do you want to run this file ?
...\madHcCtrl.exe
with Run and Cancel buttons.
The madHcCtrl.exe file seems to be the configuration gui for madVR. If I click "Run" to allow it to run, nothing seems to happen - the gui window does not appear.
It seems a bit strange that madVR tries to run the configuration gui just because the input pin is being connected - is this normal behaviour ?
It seems a bit pointless, especially when the gui doesn't even appear.
Warner306
17th May 2017, 18:48
I am helping a user with the following issue. Frames keep repeating creating judder.
Video of problem here: https://www.youtube.com/watch?v=xRvmy2bM8i8
Quote:
This is in DSPlayer. Some movies/video will do it, some wont. This is a 23.976 movie, but it does the same with a 50fps video file I have. I've just tested with MPC-HC with the 50fps video file... It's ok in full screen, but the problem appears in window mode. Meanwhile, the same 23.976 movie I've uploaded to youtube does the exact opposite (ok in window mode, haywire in full screen).
hardware/software:
windows 10 pro creator's update 64bit
mpc-hc / dsplayer,lav, reclock all in 32bit
Intel i5 4670k
intel HD 4600
Toshiba HDTV 46G310U
Thanks,
Max
Edit: Ok, manually switching to 23p in intel hd graphics control panel does the trick for the 23.976 movie. Weird. Switching it to 50p for the 50p file doesn't solve the window glitch however. I did input 1080p23, 1080p24, 1080p50, 1080p59, 1080p60 in diplay settings in madvr.
Asmodian
17th May 2017, 19:52
It seems a bit strange that madVR tries to run the configuration gui just because the input pin is being connected - is this normal behaviour ?
It seems a bit pointless, especially when the gui doesn't even appear.
Did it show up in system tray? The GUI loads minimized.
nevcairiel
17th May 2017, 20:05
It seems a bit strange that madVR tries to run the configuration gui just because the input pin is being connected - is this normal behaviour ?
This is perfectly normal behavior. You should probably tone down whichever "security" app you use.
ipanema
18th May 2017, 00:40
Thanks. It seems to start up in the tray, and then exits when the madVR is destroyed.
The dialog is not from a security application, it's the standard Windows warning when an unknown exe is executed. Un-ticking the "Always ask before opening this file" gets rid of future warning dialogs for the madHcCtrl.exe
Thanks again.
I use JR with madvr and it has a section were it automatically selects the different frame rates which I have ticked.
Do I also have to select 1080p23, 1080p24, 1080p50, 1080p59, 1080p60 in display settings in madvr?
If so and since I play everything back in 4K, do I have to write them differently?
johnnylaiyee
18th May 2017, 01:41
I use JR with madvr and it has a section were it automatically selects the different frame rates which I have ticked.
Do I also have to select 1080p23, 1080p24, 1080p50, 1080p59, 1080p60 in display settings in madvr?
If so and since I play everything back in 4K, do I have to write them differently?
I prefer Madvr's framerate control. You can type 2160p23 to work in 4k.
JR's framerate control sometimes crashes the playback for me.
So do you leave JRs frame rate switched to auto on or off with using the one on madvr?
So is this what I would do in madvr since everything is scaled to 4k?
2160p23, 2160p24, 2160p25, 2160p50, 2160p30, 2160p60, is that all?
johnnylaiyee
18th May 2017, 01:52
So do you leave JRs frame rate switched to auto on or off with using the one on madvr?
So is this what I would do in madvr since everything is scaled to 4k?
2160p23, 2160p24, 2160p25, 2160p50, 2160p30, 2160p60, is that all?
I leave the JR's settings to off.
And yea, those are good enough for all kinds of 4k playback.
BTW, do you use the video clock feature in JR?
Yes i have always used video clock in JR and it seems to work fine...
johnnylaiyee
18th May 2017, 02:02
Yes i have always used video clock in JR and it seems to work fine...
Do you find any sound quality difference between bitstreaming and multi-channel PCM?
Not that I have noticed..
Is it more correct to set my 1080 video card on resolution to 23 rather than 24?
johnnylaiyee
18th May 2017, 06:45
Is it more correct to set my 1080 video card on resolution to 23 rather than 24?
Yes, 23 is suitable for 23.976 playback
dioxholster
18th May 2017, 18:53
Yes, 23 is suitable for 23.976 playback
why not 24? Would that produce stutter? 23.976 is an error anyway since its supposed to be 24, why do theyy still use it.
i'm pretty sure cameras can do both.
kalston
19th May 2017, 03:26
why not 24? Would that produce stutter? 23.976 is an error anyway since its supposed to be 24, why do theyy still use it.
Has to do with NTSC (http://forum.doom9.org/showthread.php?t=162343).
There's some true 24fps blu-rays out there still, just very few.
Hello!
I've been having hangs using potplayer, when I quickly open files after each other, fast enought so the playback doesn't have time to start.
At last I thoroughly tested it and it apparently it depends on using madVR as a renderer. I reported it to the potplayer dev (with Potplayer and madVR configuration (https://drive.google.com/open?id=0ByfdfPvnoDuzY1Vpd1A4aW05c00)) and he claims it's a madVR bug.
I of course can't tell whether he's right or not, but I thought I'd mention it here.
takenori
19th May 2017, 12:32
just want to ask does anyone have a problem opening madvr settings with windows 10?
its a new build with windows 10 updated to the latest patch, so im wondering if i need to install anything else to make madvr works.
thanks
jkauff
19th May 2017, 12:52
just want to ask does anyone have a problem opening madvr settings with windows 10?
its a new build with windows 10 updated to the latest patch, so im wondering if i need to install anything else to make madvr works.
thanks
No problems here, but running the Restore Default Settings batch file has always fixed any madVR problems I've run into after a change to my system.
Just be sure to make a note of all your settings before you run it, if you can get to them. Best bet is to run "madHcCtrl.exe editLocalSettingsDontWait" command from the madVR folder.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.