View Full Version : madVR - high quality video renderer (GPU assisted)
Klaus1189
18th May 2024, 23:40
EVR and also EVP cp, if it wasn't clear. madVR is not affected. Try MPC Video Renderer. Use default settings, that means d3d11 is disabled. Issue appears, use d3d11 issue is gone, that means only workaround.
Which issue is in Nvidia cards? I didn't understood it.
whitestar999
19th May 2024, 04:35
EVR and also EVP cp, if it wasn't clear. madVR is not affected. Try MPC Video Renderer. Use default settings, that means d3d11 is disabled. Issue appears, use d3d11 issue is gone, that means only workaround.
Which issue is in Nvidia cards? I didn't understood it.
About this:
but my AMD 79xtx card pop in and out of HDR instantly, no blank screen. My older 1060 has a delay and goes blank screen when NV HDR triggers, and I get loading handshake circles on the TV, sometimes it crashes the mpchc application.
If you're just watching movies, consider going AMD.
Also if you use gamma table, AMD is bulletproof, Nvidia drops its dithering and it's a pain to keep it working consistently.
That only proves my point huhn, why do I need or want to fiddle with this yet-another-loader, when AMD's thingie just works. :D
It's such a core thing to have working right. Nvidia has had this problem for 10 years, they haven't fixed it.
but nvidia is bit perfect while amd dithering is much harder pain to get rid of. i would love to have the same tool for amd so i don't have to use the registry to fix simple stuff as the dithering.
whitestar999
19th May 2024, 06:22
but nvidia is bit perfect while amd dithering is much harder pain to get rid of. i would love to have the same tool for amd so i don't have to use the registry to fix simple stuff as the dithering.
Considering this would you suggest a 3050 over similarly priced RX6600 or 3060 (non-Ti) over similarly priced 7600 where 3060/7600 are around 30% costlier than 3050/6600.
tp4tissue
19th May 2024, 11:34
but nvidia is bit perfect while amd dithering is much harder pain to get rid of. i would love to have the same tool for amd so i don't have to use the registry to fix simple stuff as the dithering.
I can understand the utility of bit-perfect for measurement tools, but in media consumption why would you turn off dithering. The only time I've turned off madvr's internal dithering is to test the dithering on the TV itself. I don't see why I would turn off the GPU's dithering under normal use.
Nvidia's dithering is sporadic. You don't know when or if it'll bug out, it just does it randomly.
tp4tissue
19th May 2024, 11:38
Considering this would you suggest a 3050 over similarly priced RX6600 or 3060 (non-Ti) over similarly priced 7600 where 3060/7600 are around 30% costlier than 3050/6600.
I can only confirm the 7xxx series works fine for gamma table, and does not have lifted blacks for madvr/youtube/general dxva.
I had a 6950xt (sold) for a while, but I've only tested madvr on that, no lifted blacks. Youtube also worked fine.
If you are buying Nvidia, 4090 is the only card worth buying, everything below that is ridiculously overpriced for that raytracing halo feature, which is poorly implemented in almost all games, because developers spend minimal time on it.
Rumors, AMD's GCN4 will have double the RT performance and target $500 pricepoint, which would make the new cards very competitive, but these are just rumors.
Considering this would you suggest a 3050 over similarly priced RX6600 or 3060 (non-Ti) over similarly priced 7600 where 3060/7600 are around 30% costlier than 3050/6600.
it's only one part of the equation there is more to it.
in general the 3050 is a terrible card all-around for example.
I can understand the utility of bit-perfect for measurement tools, but in media consumption why would you turn off dithering. The only time I've turned off madvr's internal dithering is to test the dithering on the TV itself. I don't see why I would turn off the GPU's dithering under normal use.
Nvidia's dithering is sporadic. You don't know when or if it'll bug out, it just does it randomly.
i can't remember me say to disable madVR dithering.
whitestar999
19th May 2024, 15:48
I can only confirm the 7xxx series works fine for gamma table, and does not have lifted blacks for madvr/youtube/general dxva.
I had a 6950xt (sold) for a while, but I've only tested madvr on that, no lifted blacks. Youtube also worked fine.
If you are buying Nvidia, 4090 is the only card worth buying, everything below that is ridiculously overpriced for that raytracing halo feature, which is poorly implemented in almost all games, because developers spend minimal time on it.
Rumors, AMD's GCN4 will have double the RT performance and target $500 pricepoint, which would make the new cards very competitive, but these are just rumors.
4090 is out of my budget, in fact my budget can max accommodate a 3060Ti that too after a bit of stretching. I am not a pc gamer so can't justify spending so much on a graphics card.
it's only one part of the equation there is more to it.
in general the 3050 is a terrible card all-around for example.
I am not a pc gamer so anything related to gaming performance is irrelevant to me. Main use of graphics card in my system will be for madvr/similar renderer & HW assisted video decoding.
Sunspark
19th May 2024, 15:57
Internal dithering is needed because despite the panel of a display being, e.g. 10-bit and thus capable of displaying everything natively, if you're working with 4:2:0 and 4:2:2 inputs it's going to have to interpolate/dither/create the missing pieces to get it up to 4:4:4 and the panel won't do that, it'll just display what it receives and Windows is natively 4:4:4 so it has to be done before it gets to the panel.
By the way, the talk a little earlier about motion interpolation.. I decided to run the blur busters ufo test to see which presets that "overdrive" was actually working on on my monitor. The presets on my monitor are a mix of 4:4:4 and 4:2:2 as per the purple test image. Unfortunately, only 2 presets have working overdrive to reduce LCD blur, and those 2 are both 4:2:2. I wonder what things send native 4:2:2.. a game console, but only for videos?
tp4tissue
19th May 2024, 18:03
I am not a pc gamer so anything related to gaming performance is irrelevant to me. Main use of graphics card in my system will be for madvr/similar renderer & HW assisted video decoding.
The cheapest AMD 7-series in your market will do everything in Madvr. 7700xt has hit $350-380 in the USA on sale. I can't think of any advantage for Nvidia in Madvr. HDR switching is also not as seemless as amd 7 series.
tp4tissue
20th May 2024, 14:21
Internal dithering is needed because despite the panel of a display being, e.g. 10-bit and thus capable of displaying everything natively, if you're working with 4:2:0 and 4:2:2 inputs it's going to have to interpolate/dither/create the missing pieces to get it up to 4:4:4 and the panel won't do that, it'll just display what it receives and Windows is natively 4:4:4 so it has to be done before it gets to the panel.
It's a dithering battle. The display "should" have proper dithering, but that's up in the air, which is why it's nice Madvr lets you turn the internal on and off to double check the display's dithering performance.
If the display has a good chip for 10bit, there should be very little difference visually on gradients with madvr's dithering off.
not how that works at all.
tp4tissue
20th May 2024, 22:35
How does it work then huhn, I thought turning off madvr's dithering is the best way to check if the TV is dithering properly or at all. Some TVs just give you an 8bit gradient even fed 10bit.
if you disable dithering then the signal has banding it's now a part of the image and not a processing error anymore not showing it would be wrong.
if a TV is 8 bit internal and bands it doesn't matter if a 10 bit signal is dithered or not the TV creates the banding from turning 10 to 8. if you don't dither you will get banding if it is dithered before that or not does not matter here.
if you want to know how good a device is you should not disable dithering. you disable dithering to show that it isn't debanding an can properly show banding if the signal has it.
the dithering of madVR, GPU driver and end device have nothing to do with each other if they do lossy math/float point math they need dithering to hide the error they created.
tp4tissue
21st May 2024, 02:40
Hang on huhn, I've tested this a bunch. With a proper 10bit spears gradiant test file, if you output 10bit, w/ madvr dithering off, and the tv is doing bad 8bit internally, the 10bit side will be blotchy. If you turn on madvr dithering on 8bit or 10bit, madvr will smooth it over significantly, even if the tv is doing a bad job.
Sunspark
21st May 2024, 03:14
My perspective is that if you have 4:2:0 and 4:2:2, if your panel is set to 4:4:4 and as Windows is natively 4:4:4, if you don't dither before it gets to the panel, then it's going to be missing pieces of the chroma.
I did read that the Nvidia drivers have the ability to output 4:2:2 and 4:2:0 in the settings, but as I don't have this card, I have never tested that functionality and I actually haven't seen much discussion on it so I have no idea if it works well or not. I suppose if you set the card that way, and also changed the panel to a 4:2:2 mode (which my monitor can switch to), then maybe you don't need MadVR's dithering.
But my iGPU is Intel, it's only ever going to output 4:4:4 so I need to make sure the panel is also set to 4:4:4, and also need to have MadVR's dithering on as a result.
Hang on huhn, I've tested this a bunch. With a proper 10bit spears gradiant test file, if you output 10bit, w/ madvr dithering off, and the tv is doing bad 8bit internally, the 10bit side will be blotchy. If you turn on madvr dithering on 8bit or 10bit, madvr will smooth it over significantly, even if the tv is doing a bad job.
it doesn't smooth over anything that's the job of deband.
if the noise level is high enough it may hide it a bit but it can not be smooth. if you disable dithering.
the spear and muesli test are as usually trash. the 8 bit part of these test files is rounded it a completely waste of time there is no way it will ever be smooth without deband use something proper: https://www.bealecorner.org/red/test-patterns/Gradient-16bit.png
i mean they are video files they are ycbcr... and lossy on top of that.
if you disable dithering in madVR the result will be bands everywhere that's not the TVs fault and the effect will be worse on native 10 bit compared to 8 bit in 10 bit.
@Sunspark
no nothing of that.
windwos is not 4:4:4 it is RGB and madVR can only output RGB.
ycbcr to RGB always need dithering so you always need dithering the end.
Amuat
21st May 2024, 20:48
I guess the recommended setting in NVidia Control Panel is RGB full then? What about 10 bit color, might it cause problems with 8 bit content as convenient it is not to have to ever change it?
8 bit content also "needs" far more then 8 bit to be shown accurately.
edit: if your device can do 10 bit accurately is a different story.
Amuat
22nd May 2024, 13:25
8 bit content also "needs" far more then 8 bit to be shown accurately.
Would you mind elaborating on that?
As it should be evident from even considering not always having 10 bit on, I decided it's probably best to go back to SDR mode for all but HDR content. I did a bit more reading about the subject, and although it seems that my monitor is one of the exceptions that can actually handle SDR content on HDR quite well based on the descriptions how bad it usually looks, I'm sufficiently convinced now that it's still not the best way to go. I even dropped the wide color gamut SDR option that I previously used, as on closer look it makes skin tones slightly reddish instead of slightly yellowish which looks more natural. Is there any good comprehensive guides on all this stuff that I could read instead of learning things sporadically from here and there?
62.56 102.34 240 ycbcr is red 255 0 0 notice something you can't put it in 8 bit it's far bigger.
here is the other way around:
ycbcr 63 102 240 RGB 255.51 0.58 -0.2
i know no guide for this.
Amuat
22nd May 2024, 15:41
By "all this stuff" I meant more generally how to get the most out of your monitor, hardware and software. A practical guide to set up everything correctly, basically.
get a colorimeter and learn calibration.
that how you learn to setup a device correctly the rest is learning by doing.
tp4tissue
27th May 2024, 15:25
I guess the recommended setting in NVidia Control Panel is RGB full then? What about 10 bit color, might it cause problems with 8 bit content as convenient it is not to have to ever change it?
10bit is just 8 bit dithered. Even if you had a true 10 bit panel, you'd still need dithering near black because of over/undershooting.
The data and processing is digital, but the device itself has unavoidable analog elements, which behave wildly with temperature swings. The professional gear have temperature control and secret sauce in their pipeline in the form of compensation algorithms.
Amuat
28th May 2024, 14:45
I guess 8 bit is the safest bet for 8 bit content then? BTW, what does "disable GPU gamma ramps" do exactly and in what cases it could be useful?
no it's not.
disabling gamma ramp is unloading icc/icm profiles.
Amuat
28th May 2024, 17:36
The data and processing is digital, but the device itself has unavoidable analog elements, which behave wildly with temperature swings.
Oh, I understood this as a result of the dithering ("10bit is just 8 bit dithered"). But it's better to have 10 bit always on then after all?
Yz345a
28th May 2024, 17:52
It depends on your use case and the quality of your display. For general use, keeping 10 bit always on might not provide a noticeable benefit and could potentially introduce issues if your content is primarily 8 bit. However, if you're working with high dynamic range (HDR) content or doing professional color grading, having 10 bit enabled could be beneficial. It's always good to test and see if it makes a difference for your specific setup.
yes your display matters.
if a source is 8 or 10 bit does not matter it isn't after RGB conversation.
mathematically 10 bit is always better.
if your display is broken it doesn'T matter if the source is 8 or 10 bit.
tp4tissue
29th May 2024, 13:25
Oh, I understood this as a result of the dithering ("10bit is just 8 bit dithered"). But it's better to have 10 bit always on then after all?
You have to test the display. If it has very good 8bit / 10bit processing, then feel free to leave it in whichever mode.
Madvr has internal extra dithering when it detects 8bit display. This dithering makes gradiants alot smoother than native 8bit would normally be.
So Madvr has the ability to make a really shitty 8bit display as good as a 10bit display.
But if you enable 10bit on that shitty display, and you tell Madvr under, this display is 10bit+, Madvr will use a different 10bit dithering, this is not nearly as good at hiding banding problems of a bad display.
So you have to test it. You want to enable the dithering on/off toggle hotkey to figure out the native performance of the display. You want to see how it does in 8 bit and 10 bit WITHOUT Madvr's help.
If it does poorly in 10bit, then you want to go back to 8.
If it does both 8bit and 10bit, smoothly without madvr's dithering enabled, then you can choose any combination of options and it will be fine.
To convolute matters more displays will do there own dithering. Most commercial advertised 10bit displays are actually 8bit + FRC.
Amuat
29th May 2024, 16:39
Alright, thank you all for the info! This is on a completely different topic, but I was wondering if being able to use Direct3D 12 instead of 11 as a decoder would have any benefits? Maybe more efficient use of resources, if not any visual improvements? If there would be benefits, are there video processors already available that make use of it?
You have to test the display. If it has very good 8bit / 10bit processing, then feel free to leave it in whichever mode.
Madvr has internal extra dithering when it detects 8bit display. This dithering makes gradiants alot smoother than native 8bit would normally be.
So Madvr has the ability to make a really shitty 8bit display as good as a 10bit display.
But if you enable 10bit on that shitty display, and you tell Madvr under, this display is 10bit+, Madvr will use a different 10bit dithering, this is not nearly as good at hiding banding problems of a bad display.
So you have to test it. You want to enable the dithering on/off toggle hotkey to figure out the native performance of the display. You want to see how it does in 8 bit and 10 bit WITHOUT Madvr's help.
If it does poorly in 10bit, then you want to go back to 8.
If it does both 8bit and 10bit, smoothly without madvr's dithering enabled, then you can choose any combination of options and it will be fine.
for the last time if you disable dithering the result can not be smooth.
madVR also has no special 8 bit dithering it's the same algorithm.
To convolute matters more displays will do there own dithering. Most commercial advertised 10bit displays are actually 8bit + FRC.
yes but also not the issue.
dispaly don't have a gamma response the response is "something". doing this with a higher bit deep is technically always better even on FRC displays.
technically and reality are sadly not the same things.
Alright, thank you all for the info! This is on a completely different topic, but I was wondering if being able to use Direct3D 12 instead of 11 as a decoder would have any benefits? Maybe more efficient use of resources, if not any visual improvements? If there would be benefits, are there video processors already available that make use of it?
nothing the main benefit is for DX12 renderer so they don't need to do an interop for native decode.
tp4tissue
29th May 2024, 19:39
for the last time if you disable dithering the result can not be smooth.
madVR also has no special 8 bit dithering it's the same algorithm.
Huhn that can't be true.
On my s90c, test gradiant, 10bit input file, 8bit display out, tell madvr 8bit, madvr dithering enabled the gradiant looks smooth.
- disable dithering on the 8/8, gradiant looks chunky
10bit display out, tell madvr 10bit, madvr dithering disabled, gradiant looks smooth. dithering enabled, gradiant looks smooth. (both look smooth).
I've tested this on both nvidia and amd cards.
On my old TCL, 10bit input file, 8 bit display out, tell madvr 8bit, dithering enabled, gradiant looks smooth.
- disable dithering on 8/8 gradiant looks chunky.
10bit display output, tell madvr 10bit, dithering on or off, the gradiant looks chunky.
So some of the work/behavior, must come down to the TV/Monitor, where gradiants are concerned, regardless of madvr's dithering setting.
I don't know that it's a different algorithm, but the interaction is very different depending on the display.
Asmodian
29th May 2024, 19:55
I don't know that it's a different algorithm, but the interaction is very different depending on the display.
These test results do not refute what huhn wrote.
They only tell you that your old TCL display handles 10-bit input badly (likely truncates/rounds to 8-bit without dithering) and you don't notice the 'chunks' in a undithered 10-bit gradient on your s90c. The steps in a 10-bit gradient are much less significant, so undithered 10-bit gradients do look smoother than undithered 8-bit gradients.
Obviously, a display can mess up a good signal.
tp4tissue
29th May 2024, 21:57
Obviously, a display can mess up a good signal.
That's exactly my point. You wouldn't typically disable dithering on purpose. But it's prudent to test how the display behaves with native 8bit and 10bit inputs, WITHOUT madvr's dithering help.
The second test case proves that Madvr will produce smoothness even if the Display itself can not under SPECIFIC conditions. :scared:
If the display does not have good native 10bit gradiant performance, it's better to fall back to 8 bit, and let madvr dithering help it look smooth.
You have to TEST to know this is happening. Can't make the assumption that 10bit output will be better. Alot of mid to high priced TVs still had poor 10bit output through 2021
Asmodian
30th May 2024, 00:59
But it's prudent to test how the display behaves with native 8bit and 10bit inputs, WITHOUT madvr's dithering help.
But in that case, as your testing proves, madVR's dithering does not help anyway, so no need to disable it to check if the display can handle 10-bit input properly. :confused:
Huhn that can't be true.
On my s90c, test gradiant, 10bit input file, 8bit display out, tell madvr 8bit, madvr dithering enabled the gradiant looks smooth.
- disable dithering on the 8/8, gradiant looks chunky
10bit display out, tell madvr 10bit, madvr dithering disabled, gradiant looks smooth. dithering enabled, gradiant looks smooth. (both look smooth).
I've tested this on both nvidia and amd cards.
On my old TCL, 10bit input file, 8 bit display out, tell madvr 8bit, dithering enabled, gradiant looks smooth.
- disable dithering on 8/8 gradiant looks chunky.
10bit display output, tell madvr 10bit, dithering on or off, the gradiant looks chunky.
So some of the work/behavior, must come down to the TV/Monitor, where gradiants are concerned, regardless of madvr's dithering setting.
I don't know that it's a different algorithm, but the interaction is very different depending on the display.
10 bit none dithered is more chunky then 8 bit dithered.
you are testing something completely irrelevant because it already lost before the test is done.
as soon as you dither the difference is noise level and that's even 6 bit is totally smooth and will win hands down to 10 bit none dithered.
if you can't tell the difference between 8 bit dithered and 10 bit none i'm very sorry to hear that just use 8.
tp4tissue
30th May 2024, 20:39
10 bit none dithered is more chunky then 8 bit dithered.
you are testing something completely irrelevant because it already lost before the test is done.
as soon as you dither the difference is noise level and that's even 6 bit is totally smooth and will win hands down to 10 bit none dithered.
if you can't tell the difference between 8 bit dithered and 10 bit none i'm very sorry to hear that just use 8.
it depends on the tv.
10bit non dithered (properly done), vs 8 bit dithered is very subtle. If the panel shows a large difference, well that only means the panel is kinda Meh..
The test, is not for madvr, it's for the TV,
One could make the mistake in assumption that because the Panel looks good in 8bit, it should look good in 10bit, this isn't true, because MADVR is so great at hiding bad gradiant handling in 8 bit.
So, if you don't test for this condition, you wouldn't know that the set may end up performing WORSE in 10bit dithered or no dither.
Like I said, that's been the case for MANY monitors and TVs I've owned. 10bit looks worse, even with madvr's dithering enabled.
just test it with dithering it's really not that complicated and no 10 bit no dither has no chance against dithering.
tp4tissue
2nd June 2024, 15:27
just test it with dithering it's really not that complicated and no 10 bit no dither has no chance against dithering.
The goal is to test whether the TV actually does 10bit well on its own, that way, you can trust it to actually turn on 10bit.
Otherwise you want 8bit.
The test is not about dither vs not dithering.
There is an uncanny middle ground where 8bit w/madvr's dithering is still better than a mediocre 10bit performance tv.
The textures will look softer in such cases in 8bit, but it's better than near black banding.
There are lots and lots of TVs which look worse in 10bit, with or without dithering.
Asmodian
2nd June 2024, 18:34
The goal is to test whether the TV actually does 10bit well on its own, that way, you can trust it to actually turn on 10bit.
Once you send the TV 10 bit integer data the extra precision of madVR's internal data is already lost. Even the best TV's dithering is not going to change that, the TV does not have anything to dither in the first place.
Dithering is NOT something you can do with 10 bit input and 10 bit output. Dithering is a way to preserve extra precision by spreading out the error spatially. Without the full precision data available to calculate an error value for each 10 bit pixel, dithering algorithms have nothing to do.
If the display has a good chip for 10bit, there should be very little difference visually on gradients with madvr's dithering off.
If a display has a good chip for 10 bit you need madVR to dither when converting to 10 bit or you get banding due to madVR rounding from its internal bit depth to the 10 bit output. The quality of the chip in the TV has nothing to do with it.
There is an uncanny middle ground where 8bit w/madvr's dithering is still better than a mediocre 10bit performance tv.
This is the case for 8 bit displays that accept 10 bit input but have poor or no dithering when converting to 8 bit internally. Simply compare madVR set to 10 bit output to madVR set to 8 bit output, using the same settings you would for normal viewing (always with dithering enabled and the GPU sending the same bit depth as madVR's output).
Hello,
I recently got a new TV (Sony OLED) and I am trying madVR with HDR pasthru for the first time. I have an older Geforce 1060 GTX.
- MPC-HC LAV settings are at default, but with HW decoding set to DXVA copyback (because DX11 can freeze the video when I move it between monitors).
- MadVR settings are currently at default, with only the auto refresh-rate switch enabled.
- My Nvidia control panel is manually set to RGB 8 bits.
When playing an HDR video, my TV reports: HDR10, RGB, 8 bits.
I wanted to confirm if this is the expected behavior.
OR if the output was supposed switch to YUV 10 bits or something similar instead? Or if I needed to manually change settings in the Nvidia control panel?
A bit confused by the HDR 10 bits thing.
Thanks.
tp4tissue
5th June 2024, 01:06
If you set nvidia to output 8bit, it will output 8bit.
Make sure you run DDU in safemode and update your drivers first, old drivers can get plugged up and crash on certain oddball HDR file types.
The 1060 can not do 10bit 120hz over its hdmi 2.0, You need an disp-port to hdmi 2.1 adapter. The problem with these adapters is because the 1060 does not support DSC over its displayport, so you can only do at max 4:2:2 10bit limited @ 120hz/144hz.
You can bypass all this trouble, by getting something like a 6750xt for $300, it has hdmi 2.1 Everything works better. AMD's HDR implementation also switches instantly without black screen, AND, it doesn't crash as often. AND. the Dithering works flawlessly if you use color correction for SDR.
Nvidia will kick you out of dithering for random reasons. Such as turning the TV off and on.
a 1060 can do 120 HZ 4K because it is technically 2.1.
i'm not going into this because no one ask about 120 hz.
madVR will not change the bit deep or your GPU because the source has nothing todo with it. nvidia also doesn't need to dither anything because there is nothing to dither...
Thanks,
Indeed i do not plan to do any 120Hz, this is only for movies watching.
About changing video card, i will see if i have any issue.
Would RGB 10 bits give a significantly better image for HDR-encoded films, or not really ? (just like 8 vs 10 for SDR)
assuming your display has flawless 10 bit input processing just a ever so slightly lower noise level.
for PQ it is nearly for sure impossible to see you dither stuff with a brightness of close to nothing which is completely different from SDR.
tp4tissue
5th June 2024, 05:28
If the display does 23/24/25/50hz at 444, you're set. The 1060 will be fine.
The higher refresh rate doesn't matter for movies, except in the case where the TV will not allow 444 pc input. Like on Samsung. God damn Samsung. It allows 444 only at 60/119/120/143/144.
he has a sony screen. they have graphic mode at all refreshrates.
Sunspark
6th June 2024, 15:54
@tp4tissue Why is that a problem for the Samsung? 5x23.976 is 119.88. Doesn't it internally do the multiplication itself if you feed it the source rate?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.