View Full Version : madVR - high quality video renderer (GPU assisted)
LilScrappy
4th November 2013, 12:07
Which mode is best to use:
Windowed mode or Exclusive mode ?
when is use Windowed my CPU load more than Exclusive mode !
any comparisons between them is there a, or i use the one that loads a little my machine?
michkrol
4th November 2013, 12:55
Which mode is best to use:
Windowed mode or Exclusive mode ?
when is use Windowed my CPU load more than Exclusive mode !
any comparisons between them is there a, or i use the one that loads a little my machine?
Exclusive full screen mode works best in 99% of cases. Aside from technical reasons (which I'm not the right person to explain), you get the added bonus of other applications not interrupting your movie session with notifications popping up and possibly better v-sync/more stable refresh rate.
When it comes to picture quality, they're the same.
DragonQ
4th November 2013, 12:55
Exclusive mode is preferred. I use windowed mode because I prefer not having a small glitch when switching to full screen, and I rarely use MadVR in full screen anyway.
Ver Greeneyes
4th November 2013, 14:00
When it comes to picture quality, they're the same.
Unless you have a monitor with 10-bit color support I guess.
LilScrappy
4th November 2013, 16:10
Unless you have a monitor with 10-bit color support I guess.
What you mean ?
I play 10bit encodes 1080p or Blu-ray Remux 8bit !
When play 10 bit encode to be a Windowed mode, but for Blu-ray Remux 8 bit to set Exclusive mode ?
Devrim
4th November 2013, 16:22
I noticed this awhile back, can't remember what madshi said about it though. Not sure if aero is, or ever will be, capable of dealing with different refresh rates. Overlay and FSE work fine however. EVR and/or disabling composition fails.
Try lowering GPU queue, going from 8 to 4 with 1GB vram worked for me.
Tried it, it didn't work :(
I got a i7 3770k and GTX680
I only get a black screen. It doesn't show a single frame :(
huhn
4th November 2013, 16:33
Unless you have a monitor with 10-bit color support I guess.
doesn't matter madvr outputs only 8 bit.
What you mean ?
I play 10bit encodes 1080p or Blu-ray Remux 8bit !
When play 10 bit encode to be a Windowed mode, but for Blu-ray Remux 8 bit to set Exclusive mode ?
this is about highend photo displays not encodes. and i don't know about native 10 bit content.
Ver Greeneyes
4th November 2013, 16:36
doesn't matter madvr outputs only 8 bit.
Even in exclusive mode? I'm pretty sure it could select a 10-bit output mode when it's in control (and I thought it did).
nevcairiel
4th November 2013, 16:38
Even in exclusive mode? I'm pretty sure it could select a 10-bit output mode when it's in control (and I thought it did).
It does not, madVR only supports 8-bit output (for now). You would need a professional GPU anyway, consumer models don't allow 10-bit output.
huhn
4th November 2013, 17:03
It does not, madVR only supports 8-bit output (for now). You would need a professional GPU anyway, consumer models don't allow 10-bit output.
not so sure about that i found this :
http://www.prad.de/board/monitore/kaufberatung/50253-10-bit-per-color-plane-welche-grafikkarten-spielen/
Answer ID 3011 |
Published 07/27/2011 11:49 AM |
Updated 08/02/2011 08:29 AM
How can I enable 10-bit per color support (30-bit color) in my
Geforce graphics card in programs such as Adobe Premiere Pro / Adobe
Photoshop?
NVIDIA
Geforce graphics cards have offered 10-bit per color out to a full
screen Direct X surface since the Geforce 200 series GPUs. Due to the
way most applications use traditional Windows API functions to create
the application UI and viewport display, this method is not used for
professional applications such as Adobe Premiere Pro and Adobe
Photoshop. These programs use OpenGL 10-bit per color buffers which
require an NVIDIA Quadro GPU with DisplayPort connector. A small number
of monitors support 10-bit per color with Quadro graphics cards over
DVI. For more information on NVIDIA professional line of Quadro GPUs,
please visit:
http://www.nvidia.com/page/workstation.html
so there is a chance madvr can output 10 bit with normal cards.
mzso
4th November 2013, 18:04
Hello!
Recently Potplayer changed to madVR-s osd. Because according to the author:
Old verison...
When change to exclusive, sometime player freezing.
That is bug of madVR when using madVR's D3D surface.
So I use madVR's OSD function.
Is this really true?
Mangix
4th November 2013, 20:00
so there is a chance madvr can output 10 bit with normal cards.
No
You'd have to flash your card such that it identifies itself as a quadro card. Easier said than done.
A further problem: the drivers only support 10-bit output through DisplayPort. So you'd be hosed that way as well.
The only way to get 10-bit output from non-DisplayPort connections is to use FireGL cards.
It's interesting though: the EDID of my HDTV from 2007 states than 30 bit color(10 bits per channel) is supported. I'm sure a lot of other HDTVs support 10-bit color. Oh well, AMD and Nvidia have to make money on the high end sector I guess.
NoSauce
4th November 2013, 22:28
I've tried searching and there isn't much out there that clarifies if/how madVR works with Switchable Graphics (part of AMD's CCC).
I found one post that alluded to it having problems beyond a certain version of madVR but the post was from 2 years ago. Based on my other applications Switchable Graphics seems to be in good working order. I've tried a lot of different settings but my madVR insists on using my integrated GPU instead of my dedicated GPU. Is there some *.exe file that I don’t know about that I need to add? I added madHcCtrl.exe but it didn’t do anything.
Here's more info on my system:
- Windows 8
- PotPlayer, LAV filters, madVR with DXVA copy back (is this the best way to use madVR for my system?)
iGPU: Intel HD Graphics 4000 (Ivy Bridge)
dGPU: AMD Radeon HD 8770M
*My drivers are somewhat dated because Samsung hasn't come out with anything in a while and the more recent AMD drivers gave me trouble with Switchable Graphics.
Intel Core i7-3635QM (2.4 GHz, quad core)
16GB ram and SSD
I have a dual monitor setup with my Samsung laptop outputing to an IPS panel via HDMI using an HDMI to DVI converter.
Dell U2412M - IPS panel (1920x1200)
The iGPU is okay but can't handle some of the more taxing algorithms (especially with any deinterlacing <- any advice on this?). Furthermore, I plan on using 3DLUT's and would like to try smooth motion although I read somewhere that DXVA doesn't handle smooth motion well.
Any feedback on fixing Switchable Graphics will be much appreciated. Also, it would be great if anyone can give me any advice on how to optimize my system for madVR. I tried QuickSync and wasn't impressed which is consistent with an article I read on my iGPU line.
I had madVR working fine on my old system (nVidia CUDA) and it was great. I really love this renderer -- it does an amazing job and I’m impressed by the continual development with new features being added. Thank you madshi (and forum members) for all the hard work!
SOLVED: posted on next page (http://forum.doom9.org/showpost.php?p=1651518&postcount=20725)
- rename potplayermini.exe to e.g. potplayermini2.exe, re-add to switchable graphics manually then set preference (High Performance, or Based on power source and plug in).
Q-the-STORM
4th November 2013, 23:06
should work..
I recently installed win7 pro and all drivers etc. on a laptop for someone, also had switchable graphics (Radeon HD 5XXX)... I also installed mpc-hc and madVR, but had bunch of dropped frames with Jinc3... then I figured out that graphics drivers hadn't been installed properly... I reinstalled them, then I didn't have any dropped frames anymore.... which means it works with switchable graphics on Win7 Pro...
NoSauce
5th November 2013, 00:06
should work..
I recently installed win7 pro and all drivers etc. on a laptop for someone, also had switchable graphics (Radeon HD 5XXX)... I also installed mpc-hc and madVR, but had bunch of dropped frames with Jinc3... then I figured out that graphics drivers hadn't been installed properly... I reinstalled them, then I didn't have any dropped frames anymore.... which means it works with switchable graphics on Win7 Pro...
I'll try reinstalling my graphics card. Although, it works on other programs for sure. Was it not working across the board for all programs? or just MPC?
Also, did you any of the other CCC settings from it's default? if so, how?
turbojet
5th November 2013, 01:47
NoSauce: Have you added potplayermini.exe?
pie1394
5th November 2013, 03:31
No
The only way to get 10-bit output from non-DisplayPort connections is to use FireGL cards.
It's interesting though: the EDID of my HDTV from 2007 states than 30 bit color(10 bits per channel) is supported. I'm sure a lot of other HDTVs support 10-bit color. Oh well, AMD and Nvidia have to make money on the high end sector I guess.
Not really for modern AMD/ATi consumer card(s)..
HD7970's HDMI sends 1080p60 10-bit signal to my KDL-65HX920 (automatically) even the display mode is 8-bit color depth one.
If I don't remember it wrong, this is supported on HD{x}{y}00 series where x >=5 and y >= 7.
There seems one limitation about D3D display mode with R10G10B10A2 frame buffer, however. According to Microsoft's definition, it is only available in Full-Screen-Exclusive mode. That means even if the GPU supports it in Window mode, there might still additional(unwanted for madVR) dithering / LUT processing before the pixel value is sent out...
Since 10-bit cards / monitor devices are still not so common, plus the above restriction, it does not seem a very high-priority feature for madshi to support 10-bit color display mode in madVR...
mhourousha
5th November 2013, 03:49
It does not, madVR only supports 8-bit output (for now). You would need a professional GPU anyway, consumer models don't allow 10-bit output.
you can get deepcolor feature in most cards if you use D3D's fullscreen exclusive mode
in DX11,you can even create ARGB16F backbuffer.then the HDMI signal between Intel HD4000 and My TV swtich from 8bit to 12bit.
mhourousha
5th November 2013, 04:00
Not really for modern AMD/ATi consumer card(s)..
HD7970's HDMI sends 1080p60 10-bit signal to my KDL-65HX920 (automatically) even the display mode is 8-bit color depth one.
If I don't remember it wrong, this is supported on HD{x}{y}00 series where x >=5 and y >= 7.
There seems one limitation about D3D display mode with R10G10B10A2 frame buffer, however. According to Microsoft's definition, it is only available in Full-Screen-Exclusive mode. That means even if the GPU supports it in Window mode, there might still additional(unwanted for madVR) dithering / LUT processing before the pixel value is sent out...
Since 10-bit cards / monitor devices are still not so common, plus the above restriction, it does not seem a very high-priority feature for madshi to support 10-bit color display mode in madVR...
In 2005,the ATI X1000 series already support 10bit output IIRC.
10bit output before DX11 is only for High-Precision color usage。DX11 introduce another 10bit mode RGB10_XR,it has wider gamut,will mapping xvYCC。
NoSauce
5th November 2013, 04:07
NoSauce: Have you added potplayermini.exe?
Yes, and put it on "High Performance" and global settings to "optimize performance", but I also tried all the other combinations of settings. PowerPlay is set to Maximize Performance (also tried disabling it).
I tried restoring default and changing/applying preference again. Does anyone know if there's a way to remove added applications? I would like to try re-adding it.
NoSauce
5th November 2013, 04:47
I finally figured it out!
I changed the name of potplayermini.exe to potplayermini2.exe
re-added it to switchable graphics then changed the default to High Performance.
This is also a workaround when you see lock signs next to applications (unable to change preference, greyed out) happens when upgrading drivers.
There's gotta be a way to make CCC forget the added applications so it can be re-added.
This one took a while to troubleshoot. It's so weird not seeing the "dropped frames" going up rapidly on Jinc 3 AR for Image Upscaling.
Thanks for the responses guys.
wanezhiling
5th November 2013, 09:46
@NoSauce, Nvidia is same: http://forum.doom9.org/showpost.php?p=1603351&postcount=15891
Thunderbolt8
6th November 2013, 00:33
I finally figured it out!
I changed the name of potplayermini.exe to potplayermini2.exe
re-added it to switchable graphics then changed the default to High Performance.
This is also a workaround when you see lock signs next to applications (unable to change preference, greyed out) happens when upgrading drivers.
There's gotta be a way to make CCC forget the added applications so it can be re-added. I'll elaborate on why this happened in my original post a couple pages back.
This one took a while to troubleshoot. It's so weird not seeing the "dropped frames" going up rapidly on Jinc 3 AR for Image Upscaling.
Thanks for the responses guys.http://forum.doom9.org/showpost.php?p=1646565&postcount=20211
does sometimes (always?) revert to the old state after restart though. dunno why.
Fullmetal Encoder
6th November 2013, 01:32
Not really for modern AMD/ATi consumer card(s)..
HD7970's HDMI sends 1080p60 10-bit signal to my KDL-65HX920 (automatically) even the display mode is 8-bit color depth one.
If I don't remember it wrong, this is supported on HD{x}{y}00 series where x >=5 and y >= 7.
There seems one limitation about D3D display mode with R10G10B10A2 frame buffer, however. According to Microsoft's definition, it is only available in Full-Screen-Exclusive mode. That means even if the GPU supports it in Window mode, there might still additional(unwanted for madVR) dithering / LUT processing before the pixel value is sent out...
Since 10-bit cards / monitor devices are still not so common, plus the above restriction, it does not seem a very high-priority feature for madshi to support 10-bit color display mode in madVR...
That's very interesting. I have a Radeon 5850. Is there any way I can test that it can output 10 bits without having access to a 10 bit monitor? I too had previously believed that this would only be possible on a professional card. But according to what you are saying 10-bit output capability should be quite common and widely accessible if it's capable on any AMD card above 5700. Do you have any knowledge of whether this is possible with nVidia's current cards?
pie1394
6th November 2013, 02:29
That's very interesting. I have a Radeon 5850. Is there any way I can test that it can output 10 bits without having access to a 10 bit monitor? I too had previously believed that this would only be possible on a professional card. But according to what you are saying 10-bit output capability should be quite common and widely accessible if it's capable on any AMD card above 5700. Do you have any knowledge of whether this is possible with nVidia's current cards?
Well... I am afraid that you cannot if you don't have either a 10-bit color-depth input monitor over DP/HDMI or a HDTV with the deep-color(10-bit) support over HDMI.
But I am sure AMD/ATi does not cheat you since this feature is listed on HD5850 specifications (http://www.amd.com/US/PRODUCTS/DESKTOP/GRAPHICS/ATI-RADEON-HD-5000/HD-5850/Pages/ati-radeon-hd-5850-overview.aspx)
About the nVidia GeForce cards, it might not be possible... I think nVidia's standard GeForce driver does not even contain 10-bit color-depth mode functions, and the Quadro driver's protection only makes it support cards with Quadro device ID. (even the chipset itself is the same one with GeForce / Tesla cards...)
Ver Greeneyes
6th November 2013, 03:04
Note that if you export all the profile settings with something like NVIDIA Inspector, you can change all the lines that say "ShowOn Quadro" to "ShowOn Geforce" (or the other way around) to get all profiles to show up. This adds a "Force 10 bits per component" Global preset in the 3D Settings (after you import the changed profiles, obviously), which slows everything down massively. Whether that enables the whole pipeline needed to get actual 10-bit output, I don't know. Either way I wouldn't recommend enabling that global preset, but at least it implies some possibility of using this on non-Quadro cards.
mhourousha
6th November 2013, 15:24
About the nVidia GeForce cards, it might not be possible... I think nVidia's standard GeForce driver does not even contain 10-bit color-depth mode functions, and the Quadro driver's protection only makes it support cards with Quadro device ID. (even the chipset itself is the same one with GeForce / Tesla cards...)
the Nvidia's non-quodro card will output deepcolor in full screen D3D exclusive mode.
I test 3 GPUs:Nvidia GT240,ATI HD5770,Intel HD4000.Use D3D11(D3D10_1 featurelevel for GT240)R10G10B10A2_UNORM and R16G16B16A16_Float output mode.
NVIDIA:8bit for desktop,12bit for RGB10A2,12bit for RGBA16F
ATI:10bit for desktop,10bit for RGB10A2,10bit for RGBA16F
Intel:8bit for desktop,8bit for RGB10A2,12bit for RGBA16F
the max bit for HDMI transmit is 12bit per channel because My TV does not Support input higher than 36bit I think.
GT240 and HD4000's RGBA16F mode has different color than other mode,I think it's because it use linear scRGB(gamma=1.0),I need do gamma correction in shader to get correct color.
Werewolfy
6th November 2013, 17:32
I have a Nvidia Geforce GTX 660 and it doesn't output 12bit even in exclusive mode. My TV supports Deep Color 12 bit. Do you have to configure something to do that?
sneaker_ger
6th November 2013, 17:35
This is more of a hypothetical discussion when it comes to madVR because madVR dithers down to not more than 8 Bit.
sebdelsol
6th November 2013, 19:13
@madshi
Is that ok to call IMadVROsdServices::OsdRedrawFrame() often (like every 30ms) during pause and seek ?
I need this call to enforce smooth fade and osd animation while the graph is in pause (and while seeking too, since it plays/pauses a lot).
6233638
6th November 2013, 20:53
the Nvidia's non-quodro card will output deepcolor in full screen D3D exclusive mode.I'd really like to see support for this in madVR.
NoSauce
6th November 2013, 23:04
@NoSauce, Nvidia is same: http://forum.doom9.org/showpost.php?p=1603351&postcount=15891
http://forum.doom9.org/showpost.php?p=1646565&postcount=20211
does sometimes (always?) revert to the old state after restart though. dunno why.
Ah... ic. Is this an official blacklist in any capacity? or just a compiled list? I’m just curious whether there’s implications (by nVidia/AMD) that the workaround will be problematic. For AMD some people think it’s just a glitch which makes sense based on my experience.
But I think something different/unrelated was going on in my situations. Usually when Switchable Graphics (AMD) doesn’t work there’s a lock sign next to the application and it’s not possible to change the settings. Similarly, the nVidia thread above mentions “restriction” and Thunderbolt8 says “greyed out” for nVidia options. But in my situation I was able to set and “apply” my options -- PotPlayer just didn’t abide by it (unlike my other programs). I think this specific case may have had something to do with the fact that I had a previous version of PotPlayer installed on my system initially -- a version that integrated into the registry and showed up on programs and features. When I uninstalled then reinstalled a more portable version (not in programs and features) to a different directory, maybe some instructions remained in Switchable Graphics to execute the default?
Anyway, I noticed something interesting after the fix: Using potplayermini2.exe I can now have one instance of PotPlayer running that uses the dedicated AMD card whilst running a second instance of PotPlayer using potplayermini.exe that uses the integrated HD4000 which does alright with Lanczos3AR (can’t handle Jinc). My AMD card can handle 2 instances of Lanczos3AR or one instance of Jinc3AR, but not two instances of Jinc3AR. This is all in full screen with 720p content. Unfortunately the dGPU suffers a loss in performance when using iGPU concurrently. When I have the dGPU running in full screen (Jinc3AR) and then add another instance using iGPU on my other screen the dGPU starts dropping frames, but of course not as bad as the one using iGPU. For whatever reason FSE and the “use a separate device for presentation” option doesn’t work when using dGPU. This coincidentally creates a controlled environment when switching to FSE whereby the dGPU instance remains constant and the iGPU instance alone enters FSE mode. In this situation the dGPU version has just enough juice to run Jinc3AR without dropping frames. Of course, everything goes out the window when running lower quality content.
Unfortunately I cannot try running Lanczos3R on iGPU and Zinc3AR on dGPU because there can only be one instance of madVR, or is there a way to have two separate instances running independently? If not, I’m sure it’s not a priority for madshi as I see little to no practical use for all of this. But theoretically this would allow me have Jinc3 on one screen and Lanczos3 on the other screen which is a step up from what I can do now (two lanczos3).
Mangix
7th November 2013, 00:38
Is YCgCo still supported? It's giving me wrong colors on a simple AviSynth script.
DirectShowSource(blah)
ConvertToRGB32()
ConvertToYCgCo()
switching the last line to include 0, 1, or 2 makes madVR think that it's an NV12, YUY2, and YV12 file.
e-t172
7th November 2013, 00:40
I'd really like to see support for this in madVR.
Hold on a sec. Right now all I'm reading is that these cards support displaying a 10-bit surface. Do we have any real evidence that this actually results in true 10-bit output? How do we know that the card is not automatically downconverting to 8-bit between the surface and the output?
mhourousha
7th November 2013, 01:06
Hold on a sec. Right now all I'm reading is that these cards support displaying a 10-bit surface. Do we have any real evidence that this actually results in true 10-bit output? How do we know that the card is not automatically downconverting to 8-bit between the surface and the output?
if the GPU downsample the surface to 8bit before output,where is the 12bit per-channel HDMI signal come from(post #20731)?
mhourousha
7th November 2013, 01:26
I have a Nvidia Geforce GTX 660 and it doesn't output 12bit even in exclusive mode. My TV supports Deep Color 12 bit. Do you have to configure something to do that?
nothing special.simply connect GPU to TV using HDMI cable(version 1.3a+)
but i think you may misunderstand something.It's not the MadVR's fullscreen exclusive mode,in my test,I write a test APP(simply modified from a MS's DX11 sample),then I get that result.MadVR not use DX11 nor implement deepcolor output at present.
Asmodian
7th November 2013, 01:27
if the GPU downsample the surface to 8bit before output,where is the 12bit per-channel HDMI signal come from(post #20731)?
It could upsample to 12 bit after downsampling to 8 bit, it wouldn't be smart but that doesn't mean it doesn't happen.
TheElix
7th November 2013, 04:32
When we will have true 10- and 12-bit sources (like rec.2020 blu-rays... not those rec.709 up-conversions from 8-bit sources) I believe madshi will do something about it.
6233638
7th November 2013, 05:44
When we will have true 10- and 12-bit sources (like rec.2020 blu-rays... not those rec.709 up-conversions from 8-bit sources) I believe madshi will do something about it.madVR is doing 16-bit processing and debanding should further increase the quality of gradation.
NoSauce
7th November 2013, 06:55
...Real movie content never has a cyan pixel right next to a red pixel...
A Nightmare on Elm Street (https://www.google.com/search?q=freddy+krueger&client=firefox-a&hs=fwJ&rls=org.mozilla:en-US:official&source=lnms&tbm=isch&sa=X&ei=Uih7Utz3KpDykQe-kYGYBA&ved=0CAkQ_AUoAQ&biw=768&bih=359&dpr=2.4)?
haha. I actually tried taking some screen caps but couldn't find a good scene because the entire movie is so dark. Couldn't see anything worth posting because there was little to no difference between Lanczos3AR and Jinc3AR
vivan
7th November 2013, 09:12
Is YCgCo still supported? It's giving me wrong colors on a simple AviSynth script.There's no way for madVR to get colormatrix info from AviSynth. That's why it assumes that it's Rec709/Rec601 based on resolution.
If you want madVR to use that matrix there're 2 ways:
1) add "matrix=YCgCo" to the script file name.
2) encode video using x264 with proper flag (--colormatrix YCgCo).
madshi
7th November 2013, 10:23
I would entirely be willing to compromise small details for MPEG deblocking or VHS noise suppression.
MPEG deblocking is a different thing. I don't like noise/grain removal, but MPEG blocks are something else.
But I still can't see difference between Bicubic and Jinc in Chroma Upscaling.
There are situations where a difference is visible, but it's rare.
Another Chroma Upsampling test video to test which upsampler does a better job.
I added a more comprehensive Resolution Upscaling test in this post: [...]
Once again artificial tests with computer graphics. Which does not represent real movie content well.
IMO,
Jinc for Image Upscaling is way too soft and hogs too much resources, Bicubic will do just fine and nothing beyond is visible OR needed.
For Chroma, again nothing beyond Bicubic is needed.
I told you before that you need to do these tests with real movie content. I even told you which type of content you're likely to see differences with. But just go on and ignore me. It seems you *want* to believe Jinc has no use.
please for advice, what is the best options for Exclusive Mode Settings - ( how many video frames shall be presented in advance 1-16 ? ) when is disabled Smooth Motion !
or when i use 24hz for my TV no matters what is Smooth Motion on or off is not functional when is play movie ?
If there were a "best setting", then I would just enforce that and remove the option from the settings dialog. Different people have different results here. Generally more "frames presented in advance" improves reliability against frame drops, but comes at the cost of slower OSD and slower windowed <-> exclusive mode changes. Just try what works best for you. If everything works alright then the following is a good advice:
detmek: "Don't change default settings unless you have problems like dropped or delayed frames."
I would recommend turning smooth motion off if your TV can do 24Hz well on its own.
It's not the display mode changing, it's the display itself. Going from a 72/50hz monitor to a 60hz tv and vice versa.
Oh, ok.
Although not the place, but I am happy to announce that the latest MPC-HC Nighty (LAV Filters 58.2.105) supports HEVC/H.265 & VP9 and works perfectly with MadVR.
A new era has began.
EDIT:
LAV 0.59 is out few minutes ago.
Nice!
I'm using FluxSmooth for the moment and with a good combination of spatial (value = 2) and temporal (value = 4) denoising, it doesn't destroy details and can be very useful with DVD, bad videos and even some mkv. It's like all postprocessing filters, it needs to be well configured. FluxSmooth has also the advantage to try to preserve the grain and just reduce the noise.
Can you show a few before/after screenshots where FluxSmooth preserves detail and grain, but removes noise?
Funny enough, I just ran into this strange "blinking" yesterday (only in windowed mode) and was about to post for some help but delved into the madVR settings and found a solution under scaling algorithms. Note that this is NOT an issue in full-screen exclusive mode.
This only happens when image upscaling/downscaling are set to use any of the options under processing done by custom pixel shader code (unaffected by chroma upscaling setting). Once I set these to use an options under either processing done by GPU texture units or processing done by GPU video logic windowed mode works fine.
My laptop uses an nVIDIA GeForce GT 635M with the latest 331.65 driver. Not sure if this is a driver issue or not.
Weird. No idea what's going on. Might be a driver issue, as suggested by Ver Greeneyes.
Recently Potplayer changed to madVR-s osd. Because according to the author: [...]
Is this really true?
I'm not aware of such a problem. The Potplayer developer didn't talk to me about this.
you can get deepcolor feature in most cards if you use D3D's fullscreen exclusive mode
in DX11,you can even create ARGB16F backbuffer.then the HDMI signal between Intel HD4000 and My TV swtich from 8bit to 12bit.
the Nvidia's non-quodro card will output deepcolor in full screen D3D exclusive mode.
I test 3 GPUs:Nvidia GT240,ATI HD5770,Intel HD4000.Use D3D11(D3D10_1 featurelevel for GT240)R10G10B10A2_UNORM and R16G16B16A16_Float output mode.
NVIDIA:8bit for desktop,12bit for RGB10A2,12bit for RGBA16F
ATI:10bit for desktop,10bit for RGB10A2,10bit for RGBA16F
Intel:8bit for desktop,8bit for RGB10A2,12bit for RGBA16F
the max bit for HDMI transmit is 12bit per channel because My TV does not Support input higher than 36bit I think.
GT240 and HD4000's RGBA16F mode has different color than other mode,I think it's because it use linear scRGB(gamma=1.0),I need do gamma correction in shader to get correct color.
nothing special.simply connect GPU to TV using HDMI cable(version 1.3a+)
but i think you may misunderstand something.It's not the MadVR's fullscreen exclusive mode,in my test,I write a test APP(simply modified from a MS's DX11 sample),then I get that result.MadVR not use DX11 nor implement deepcolor output at present.
Interesting. But your list of results already shows some potential problems. Intel still outputs 8bit for RGB10A2. Which means this format is useless for Intel. AMD outputs 10bit for everything, which is quite weird. Some testing would have to be done to check if they really do support 10bit output correctly or not. Same with NVidia. Why would they output 12bit if we ask for 10bit? That's all very weird.
I don't like the concept of ARGB16F *at all*, because it requires the GPU to do gamma processing to get correct image output, and I don't trust the GPU to do that properly. We might get different results depending on which GPU, OS or driver we're using, once again. That was a very bad idea from Microsoft, IMHO. What we really need is a way to force the GPU to output the rendered content untouched. But Microsoft doesn't seem to think that would be useful... :mad:
In any case, I think if 10bit is supported at all, it's likely to be with DX11, but not with DX9, and madVR currently uses DX9 for presentation. So supporting 10bit is not an easy thing to do with madVR. I might have to move presentation to DX11. And that means: Not anytime soon.
I would be interested in hearing whether NVidia and AMD really do support 10bit output properly. Here's a way you could test it, if you're interested: You could render a FullHD grayscale. Left most pixel black, right most pixel white (or the other way round). Calculate every pixel in between to be a 10bit intermediate step between black and white. Don't use dithering, just straight 10bit rounded results. Then display the same thing with 10bit and 8bit. If the 10bit result looks noticably smoother, 10bit output seems to be working.
@madshi
Is that ok to call IMadVROsdServices::OsdRedrawFrame() often (like every 30ms) during pause and seek ?
I need this call to enforce smooth fade and osd animation while the graph is in pause (and while seeking too, since it plays/pauses a lot).
It's ok with me. However, it will push the GPU load. There's one key problem with it: madVR prerenders multiple frames in advance. So let's say video is paused and there are 16 frames in the queue. If you do "OsdRedrawFrame()", madVR will throw away all rendering results and rerender all 16 frames. It will do so every 30ms if you call "OsdRedrawFrame()" every 30ms. So GPU usage might climb higher than during actual movie playback.
Maybe we should think of an alternative solution for this? E.g. you turning the rendering queue off, so that only the first frame in the queue is getting re-rendered all the time? Or I could check how often you call "OsdRedrawFrame()" myself automatically and disable the rendering queue if I notice that you're calling it a lot. Or something like that...
Unfortunately I cannot try running Lanczos3R on iGPU and Zinc3AR on dGPU because there can only be one instance of madVR, or is there a way to have two separate instances running independently?
I guess you mean using different settings for different media player instances? That's currently not supported, at least not in a way you could "save". At one time in the future there is going to be support for profiles which might allow you to use different settings e.g. depending on which monitor or GPU you're using.
A Nightmare on Elm Street?
haha. I actually tried taking some screen caps but couldn't find a good scene because the entire movie is so dark. Couldn't see anything worth posting because there was little to no difference between Lanczos3AR and Jinc3AR
My point was not that there isn't any movies where cyan and red are used near to each other. My point was that real movie content is always nicely anti-aliased. Meaning that even with the sharpest movies every pixel only has a certain max contrast from the direct neighbor pixel. You're not going to see a 100% saturated cyan pixel right next to a 100% saturared red pixel with real movie content. Such extreme pixel-to-pixel contrast can only happen with computer graphics.
Here's the video sample ;)
Thanks. Hmmm... The problem seems to be that there is no clear gradient. There's no smooth transition from darker to lighter. It's jumps around quite a bit between darker and lighter steps. Overall to our human eyes it still looks like a gradient, if you step away far enough and see the "big picture". But the debanding algorithm only looks around about 20-30 pixels max. And in that neighborhood there's no clear gradient in the movie, but a "wild" jumping around between different brightness levels.
The difficulty with debanding is that we only want to remove banding artifacts, but not image detail. But how to decide which is which? Banding artifacts usually are visible steps in a gradient. So the algorithm looks for just that. And in your video sample there is no clear gradient, at least when looking only at 20-30 pixels around each pixel.
ryrynz
7th November 2013, 10:45
at least when looking only at 20-30 pixels around each pixel.
Larger area option?
madshi
7th November 2013, 11:10
When using a larger area instead of a smaller area, there's a danger of missing small detail in the neighborhood. I would have to check in a larger *and* smaller area, which would probably more than double the performance impact. Also, if there's a gradient in a larger area, but there's a lot of small fluctuations in the smaller area, are those small fluctuations detail or banding? This is all very tough to decide for the relatively simple debanding algorithm. I'd prefer to keep it simple and leave things as they are. Or else we'd have to fully reevaluate all parameters, there might be even more coming, making everything even more complicated. No thanks, I've already buried so much time into debanding. There are other things I'd like to look at, too...
sebdelsol
7th November 2013, 15:53
If you do "OsdRedrawFrame()", madVR will throw away all rendering results and rerender all 16 frames. It will do so every 30ms if you call "OsdRedrawFrame()" every 30ms. So GPU usage might climb higher than during actual movie playback.
Yes, GPU usage climbs a lot during pause... It more than doubles ! so that's clearly a bad thing.
Maybe we should think of an alternative solution for this? E.g. you turning the rendering queue off, so that only the first frame in the queue is getting re-rendered all the time? Or I could check how often you call "OsdRedrawFrame()" myself automatically and disable the rendering queue if I notice that you're calling it a lot. Or something like that...
Turning off the rendering queue would work with me. I guess I would need to be sure that I turn it on again just before playing.
I haven't found a way to do it at the moment.
I wonder if you could have IOsdRenderCallback::RenderOsd() called during pause just like when the graph is running ?
... it's probably a naive solution since I don't know anything about renderer.:scared:
LordX2
8th November 2013, 03:12
Hey guys - quick question that I hope is easy - but has been driving me bonkers.
I have MPC-HC, madvr, and LAV.
Some movies I play will show the embedded subtitles that they have. Others will not.
When I right click it shows that subs are available, and turned on - but I see none of them.
The fact that it works on some, and not others makes my brain hurt. :) :stupid:
paincrusader
8th November 2013, 03:19
Hi.
I tried searching but haven't found a solution to my problem.
I'm having a problem with crushed blacks in some movies while using madVR. I'm using it with media player classic BE version.
MPC with default renderer looks ok as do other players, like vlc for example. Blacks are pure black, there's shadow detail and so on, but if I switch to mpc with madVR there's no shadow detail. RGB output level is set to 0-255, if I switch it to 16-235 then shadow detail is ok and pretty much on par with other players, except with madVR black is very bright now, rather gray. I get the same effect if I keep 0-255 and up the brightness in madVR.
I don't understand why with those problematic video files, with other renderers blacks are very deep and inky while maintaining shadow detail but madVR won't achieve the same result, either having pure black with no shadow detail, or having shadow detail but turning black to gray. Again, this happens only in some movies, most look great and don't have any problems with madVR.
I don't think that the video files aren't at fault as they are rendered correctly outside of madVR. Video settings are controlled by the video player and not with the nvidia settings and players have default settings. TV is a Panasonic 50ST50 plasma, is set up correctly regarding brightness and contrast levels and is hooked up to the pc via hdmi.
jkauff
8th November 2013, 03:32
Hey guys - quick question that I hope is easy - but has been driving me bonkers.
I have MPC-HC, madvr, and LAV.
Some movies I play will show the embedded subtitles that they have. Others will not.
When I right click it shows that subs are available, and turned on - but I see none of them.
The fact that it works on some, and not others makes my brain hurt. :) :stupid:
Read through this thread:
http://forum.doom9.org/showthread.php?t=169676
Maybe you have a similar forced subs problem.
Werewolfy
8th November 2013, 14:46
nothing special.simply connect GPU to TV using HDMI cable(version 1.3a+)
but i think you may misunderstand something.It's not the MadVR's fullscreen exclusive mode,in my test,I write a test APP(simply modified from a MS's DX11 sample),then I get that result.MadVR not use DX11 nor implement deepcolor output at present.
Yes thanks, I misunderstood you ;)
Can you show a few before/after screenshots where FluxSmooth preserves detail and grain, but removes noise?
Here's a scene with FluxSmooth off.
(0,0) http://imageshack.us/a/img812/5503/76mk.png
And here some screenshots of the same scene with differents levels of FluxSmooth.
The fist number represents the spatial denoiser et and the second one is the temporal denoiser.
(0,2) http://imageshack.us/a/img12/4222/7lkj.png
(0,4) http://imageshack.us/a/img546/3752/e9t8.png
(2,4) http://imageshack.us/a/img534/6002/f7q7.png
Of course, I won't say there is ABSOLUTELY no detail loss but it's relatively minor and denoising really helps here. It's maybe not obvious in these pictures but the noise is random so it's a lot more visible in motion. The noise is less visible and more stable.
It's like all postprocessings, you have to set it at the right level.
And here some examples of FluxSmooth with high levels this time.
(10,2) http://imageshack.us/a/img607/3218/9w6j.png
(0,10) http://imageshack.us/a/img577/47/jarq.png
Here, details are really blurred and I would understand why you don't like denoising. But I would never use such high settings.
Interesting too to see the difference between spatial and temporal denoising.
And here, a scene from an anime.
(0,0) http://imageshack.us/a/img198/8106/5y01.png
(0,2) http://imageshack.us/a/img28/4397/mw9x.png
(0,3) http://imageshack.us/a/img824/5912/giqo.png
(2,4) http://imageshack.us/a/img571/8923/9at2.png
(3,0) http://imageshack.us/a/img850/1617/kxzf.png
(0,10) http://imageshack.us/a/img203/1262/xdf7.png
(10,0) http://imageshack.us/a/img17/9373/c400.png
Thanks. Hmmm... The problem seems to be that there is no clear gradient. There's no smooth transition from darker to lighter. It's jumps around quite a bit between darker and lighter steps. Overall to our human eyes it still looks like a gradient, if you step away far enough and see the "big picture". But the debanding algorithm only looks around about 20-30 pixels max. And in that neighborhood there's no clear gradient in the movie, but a "wild" jumping around between different brightness levels.
The difficulty with debanding is that we only want to remove banding artifacts, but not image detail. But how to decide which is which? Banding artifacts usually are visible steps in a gradient. So the algorithm looks for just that. And in your video sample there is no clear gradient, at least when looking only at 20-30 pixels around each pixel.
When using a larger area instead of a smaller area, there's a danger of missing small detail in the neighborhood. I would have to check in a larger *and* smaller area, which would probably more than double the performance impact. Also, if there's a gradient in a larger area, but there's a lot of small fluctuations in the smaller area, are those small fluctuations detail or banding? This is all very tough to decide for the relatively simple debanding algorithm.
I'd prefer to keep it simple and leave things as they are. Or else we'd have to fully reevaluate all parameters, there might be even more coming, making everything even more complicated. No thanks, I've already buried so much time into debanding. There are other things I'd like to look at, too...
Thanks for exaplanation, I understand why I have this result and why it's difficult to deband this kind of scene. I prefer too to keep image details even if sometimes debanding doesn't work.
madshi
8th November 2013, 17:24
Yes, GPU usage climbs a lot during pause... It more than doubles ! so that's clearly a bad thing.
Turning off the rendering queue would work with me. I guess I would need to be sure that I turn it on again just before playing.
I haven't found a way to do it at the moment.
I wonder if you could have IOsdRenderCallback::RenderOsd() called during pause just like when the graph is running ?
... it's probably a naive solution since I don't know anything about renderer.:scared:
I'll think of something for (hopefully) the next official release. Stay tuned...
Some movies I play will show the embedded subtitles that they have. Others will not.
No idea why. Does the same problem occur with EVR or VMR? If so, this does not belong in this thread. If not, then it does belong here. In the latter case (and only in the latter case): Which subtitle renderer are you using?
I'm having a problem with crushed blacks in some movies while using madVR. I'm using it with media player classic BE version.
MPC with default renderer looks ok as do other players, like vlc for example. Blacks are pure black, there's shadow detail and so on, but if I switch to mpc with madVR there's no shadow detail. RGB output level is set to 0-255, if I switch it to 16-235 then shadow detail is ok and pretty much on par with other players, except with madVR black is very bright now, rather gray. I get the same effect if I keep 0-255 and up the brightness in madVR.
Might be that these are videos marked as "full range". Press "Ctrl+Alt+Shift+i" to check which source levels madVR has detected. You can press the same key combination multiple times to switch to different source levels. If you find one which works well, you can also "save" it by pressing "F2". However, if you do, madVR will no longer automatically detect full range videos and treat them differently. The other renderers are too stupid to detect full range videos. However, some videos are incorrectly marked as full range, although they're not.
Here's a scene with FluxSmooth off.
(0,0) http://imageshack.us/a/img812/5503/76mk.png
And here some screenshots of the same scene with differents levels of FluxSmooth.
The fist number represents the spatial denoiser et and the second one is the temporal denoiser.
(0,2) http://imageshack.us/a/img12/4222/7lkj.png
(0,4) http://imageshack.us/a/img546/3752/e9t8.png
(2,4) http://imageshack.us/a/img534/6002/f7q7.png
Of course, I won't say there is ABSOLUTELY no detail loss but it's relatively minor and denoising really helps here. It's maybe not obvious in these pictures but the noise is random so it's a lot more visible in motion. The noise is less visible and more stable.
It's like all postprocessings, you have to set it at the right level.
And here some examples of FluxSmooth with high levels this time.
(10,2) http://imageshack.us/a/img607/3218/9w6j.png
(0,10) http://imageshack.us/a/img577/47/jarq.png
Here, details are really blurred and I would understand why you don't like denoising. But I would never use such high settings.
Interesting too to see the difference between spatial and temporal denoising.
And here, a scene from an anime.
(0,0) http://imageshack.us/a/img198/8106/5y01.png
(0,2) http://imageshack.us/a/img28/4397/mw9x.png
(0,3) http://imageshack.us/a/img824/5912/giqo.png
(2,4) http://imageshack.us/a/img571/8923/9at2.png
(3,0) http://imageshack.us/a/img850/1617/kxzf.png
(0,10) http://imageshack.us/a/img203/1262/xdf7.png
(10,0) http://imageshack.us/a/img17/9373/c400.png
Thanks, I appreciate your effort. I do have to say, though, that I'm not convinced that this is a filter worth having. Maybe it looks better in motion, but judging from the screenshots alone the original looks best to me. The others look all "softer". Ok, maybe I'm a noise junkie.
Thanks for exaplanation, I understand why I have this result and why it's difficult to deband this kind of scene. I prefer too to keep image details even if sometimes debanding doesn't work.
Agreed.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.