View Full Version : madVR - high quality video renderer (GPU assisted)
aufkrawall
18th June 2015, 21:05
Finally a replacement for 13.12 or does swapping the OpenCL DLL's actually work out equally well?
It would be a good opportunity to keep word for the dev of AMD who reacted to madshi's request.
If it doesn't get fixed with this driver, it probably will only ever be by chance (if at all) and I really wouldn't reckon with it anymore.
huhn
18th June 2015, 21:23
It would be a good opportunity to keep word for the dev of AMD who reacted to madshi's request.
If it doesn't get fixed with this driver, it probably will only ever be by chance (if at all) and I really wouldn't reckon with it anymore.
the new driver version are just slower but the main issue is the same the copyback. but it looks like that this is working as they intent this.
Warner306
18th June 2015, 23:42
This my second attempt at being a madVR expert after the first one failed. Can someone tell me if the chart below makes sense?
Output Resolutions: 1920 x 1080p, 3840 x 2160p
Source Legend:
Soft/Sharp: Measure of the sharpness of the source image. This parameter is important when applying sharpening shaders from Image Enhancements or Upscaling Refinement. Soft sources will benefit most from Image Enhancements, which apply sharpening before the image is resized. Conversely, sharp sources may not require added sharpening, but will inevitably become softer as a result of the resizing process. The greater the resize, the softer the image will become. Detail can be added back to these images by applying sharpening after resize in Upscaling Refinement. If your graphics card allows, it is most effective to repeat sharpening after each 2x upscale.
Low-Quality/High-Quality: This is basic measure of source image quality, which impacts the usefulness of two madVR settings: image sharpening and debanding. Low-Quality sources tend to be highly-compressed and characterized by compression artifacts and obvious color banding. In this case, sharpening shaders are less desirable because they tend to enhance such artifacts. Higher debanding settings, however, can be used to counter these artifacts. On the other hand, High-Quality sources are generally free of color bands and respond better to sharpening shaders because they lack artifacts.
madVR Settings Hierarchy
Display: 1920 x 1080p
Resizes:
SD -> 1080p
HD -> 1080p
1080p -> 1080p
Rank order of each setting based on its relative impact in improving picture quality.
http://i1357.photobucket.com/albums/q760/Warner306/DSPlayer/madVR-1080p-Hierarchy_zpsbb9waotw.png
Display: 3840 x 2160p
Resizes:
SD -> 2160p
HD -> 2160p
2160p -> 2160p
http://i1357.photobucket.com/albums/q760/Warner306/DSPlayer/madVR-2160p-Hierarchy_zps8tho1yju.png
huhn
18th June 2015, 23:58
looks ok.
i still think debanding is the most important thing when a source has banding. it is kind of free anyway. even "uncompressed" BDs (which are still heavily compressed sources) can easily ahve banding and if they have i still think is is most important to use debanding.
and SM is still on first place for me which a refresh rate mismatch.
Warner306
19th June 2015, 00:07
looks ok.
i still think debanding is the most important thing when a source has banding. it is kind of free anyway. even "uncompressed" BDs (which are still heavily compressed sources) can easily ahve banding and if they have i still think is is most important to use debanding.
and SM is still on first place for me which a refresh rate mismatch.
Ok, that sounds promising. I will replace the Highly-Compressed/Low or Uncompressed with Low-Quality/High-Quality for ease of understanding.
Refresh rate matching is an issue I won't get into as it doesn't seem to fit.
I will make a second chart for 4K displays.
aufkrawall
19th June 2015, 00:12
the new driver version are just slower but the main issue is the same the copyback. but it looks like that this is working as they intent this.
Ah, ok. But why would they define this behavior as "by design"?
JarrettH
19th June 2015, 00:17
Source: H.264 8bit 4:2:0
1. chroma upscaling: JincAR3
2. chroma upscaling: NNEDI16
3. chroma upscaling: Super-XBR
4. chroma upscaling: JincAR3 with SuperRes
5. chroma upscaling: NNEDI16 with SuperRes
6. chroma upscaling: Super-XBR with SuperRes
SuperRes setting:
passes: 2
strength: 0.75
sharpness: 0.25
softness: 0.10
anti-aliasing: 0.50
anti-ringing: 1.00
1 4
2 5
3 6
http://s5d4.turboimagehost.com/t/23368978_up.png (http://www.turboimagehost.com/p/23368978/up.png.html)
http://s5d4.turboimagehost.com/t/23368979_upx3.png (http://www.turboimagehost.com/p/23368979/upx3.png.html)
Thanks! Would it be possible to add Bicubic75 AR to this comparison? That's what I use. Just curious to see how it compares. :cool:
huhn
19th June 2015, 01:17
Ah, ok. But why would they define this behavior as "by design"?
good question. i guess they simply don't care or it was simple to implement it like this..
videonerd
19th June 2015, 15:59
One for the experts:
Using madvr default settings - for any given video (4k60p) my decoder queues seem to drain out at very specific parts of the video and then recovers at other specific parts of the video, what could the possible cause be?
I really doubt it could be lack of cpu horsepower (using software decoding) as some parts it can fill up the queue but others it struggles. We are talking about the same video file. Had tested other video 4k60p video files and similarly, certain parts of the video it drains and other parts it fills up easily.
And as mentioned earlier, it is very specific and predictable parts of the video.
Appreciate your help.
michkrol
19th June 2015, 16:08
It's the decoder that struggles, so probably your cpu is not strong enough.
If it happens always in the same part of the movie it means the video's bitrate or/and framerate increases, hence your cpu has more work to do and drops frames.
You might try to increase madvr's cpu queue size or use hardware decoding (DXVA) if the video's format is supported.
XMonarchY
19th June 2015, 16:37
I have a similar problem with FSE, but only if D3D11 + Sync Every Frame was used. When I disabled Sync Every Frame - stutters stopped completely.
nevcairiel
19th June 2015, 20:23
Unless you are actually talking about madVRs processing of video, you should probably take it to another thread. Discussion about other media tools and their processing capabilities is rather off-topic here, and this thread is already quite busy as it is!
huhn
19th June 2015, 20:25
what does this whole encoder have to do with madVR?
dithering is used to "reduce bit deep".
Warner306
19th June 2015, 22:14
This question is related to the charts posted on the last page...
When upscaling SD content, will Image Enhancements or Upscaling Refinement do a better job of sharpening the image?
Also, at the default debanding strength, will debanding or chroma upscaling provide a greater improvement to image quality?
MysteryX
19th June 2015, 22:49
Unless you are actually talking about madVRs processing of video, you should probably take it to another thread. Discussion about other media tools and their processing capabilities is rather off-topic here, and this thread is already quite busy as it is!
Agree. It's not the place to discuss that tool, but I gave the link if anyone is interested in it. Here let's focus on madVR's image enhancement features.
huhn
19th June 2015, 23:34
When upscaling SD content, will Image Enhancements or Upscaling Refinement do a better job of sharpening the image?
image enhancement is cheaper and effective. but with upscale refinement the result should be better but needs more processing power and higher values.
this is just my point this is not cleared yet.
Also, at the default debanding strength, will debanding or chroma upscaling provide a greater improvement to image quality?
a good source doesn't need any debanding so it is better not use it on these sources.
Shiandow
20th June 2015, 00:02
a good source doesn't need any debanding so it is better not use it on these sources.
If by good you mean at least 10bit, then I agree, otherwise you will still need some debanding.
Nevilne
20th June 2015, 00:11
especially when literally everything is 16-235
huhn
20th June 2015, 00:29
If by good you mean at least 10bit, then I agree, otherwise you will still need some debanding.
why dithered 8 bit BD can look totally fine without debanding of any kind.
Warner306
20th June 2015, 01:11
If by good you mean at least 10bit, then I agree, otherwise you will still need some debanding.
Will chroma upscaling do more for a good source than debanding, if I was to assess which is more important? The impact of default debanding settings seems very subtle.
viewer
20th June 2015, 03:06
Thanks! Would it be possible to add Bicubic75 AR to this comparison? That's what I use. Just curious to see how it compares. :cool:
as you wish.;)
1. chroma upscaling: Bicubic75AR
2. chroma upscaling: SoftCubic50AR
3. chroma upscaling: NEDI
4. chroma upscaling: Bicubic75AR with SuperRes
5. chroma upscaling: SoftCubic50AR with SuperRes
6. chroma upscaling: NEDI with SuperRes
Source & SuperRes setting: same as http://forum.doom9.org/showthread.php?p=1726721#post1726721
1 4
2 5
3 6
http://s5d3.turboimagehost.com/t/23392378_bc_sc_nedi.png (http://www.turboimagehost.com/p/23392378/bc_sc_nedi.png.html)
http://s5d3.turboimagehost.com/t/23392379_bc_sc_nedi_x3.png (http://www.turboimagehost.com/p/23392379/bc_sc_nedi_x3.png.html)
JarrettH
20th June 2015, 03:38
Ah, so Bicubic has a hair more artifacts in solid colour areas and is slightly sharper with slightly more aliasing.
Thanks for your time in adding it :cool:
MysteryX
20th June 2015, 07:09
I just realized that there is a considerable CPU usage difference when playing videos with or without K-Lite Codec Pack. I started having issues with SVP topping 100% CPU after trying to go without the codec pack. I re-installed it and now performance is MUCH better.
Has anyone seen an impact on madVR by having K-Lite Codec Pack installed or not?
ryrynz
20th June 2015, 08:13
Madshi, switching from FSE to windowed then back to FSE via right click is causing the render and present queues to struggle to stay full and I continue to get dropped frames.
This only happens when I have madVR set to display out at 10 bit with D3D 11, enabling present a frame for every vsync doesn't affect it at all.
ryrynz
20th June 2015, 08:39
1 4
2 5
3 6
http://s5d3.turboimagehost.com/t/23392378_bc_sc_nedi.png (http://www.turboimagehost.com/p/23392378/bc_sc_nedi.png.html)
http://s5d3.turboimagehost.com/t/23392379_bc_sc_nedi_x3.png (http://www.turboimagehost.com/p/23392379/bc_sc_nedi_x3.png.html)
Anything with SuperRes enabled is basically indistinguishable from each other (Jinc AR, NEDI, NNEDI16, Super-XBR, Softcubic50 AR, Bicubic75 AR)
SuperRes is doing an amazing job here.
What I'd like to see is if anti-ringing is actually doing much of anything with SuperRes is enabled.
James Freeman
20th June 2015, 13:01
madshi,
I would like to take a screenshot after madVR processing just before it is sent to the display.
When I take a screenshot with the PrintScreen it is before the GPU LUT, but I want to capture madVR including the OS LUT.
I would like to compare OS LUT and 3DLUT, Is there a way?
BTW, it will be really great to have an option to take a screenshot directly from madVR in 16bit PNG.
huhn
20th June 2015, 13:19
you will need a capture card for this.
you can use argyllCMS for verification to see the OS LUT is bad...
James Freeman
20th June 2015, 16:48
madshi, everyone,
There is a queue problem in secondary monitor when there is a youtube (or other?) video in the primary monitor.
In windowed fullscreen (secondary monitor) when fast seeking (pressing fast several times forward) the video empties its queues and playback stutters.
This happens for me only when a youtube video is playing (firefox browser window) in the primary monitor.
EDIT:
Another way to empty the queues on the secondary monitor is to move the browser window youtube video several time..
EDIT2:
In fact, doing anything in the primary monitor that makes DWM take a snapshot of the new state effects the queues on the secondary monitor (windowed fullscreen, not FSE).
Moving, Resizing windows, especially scrolling in browser, etc..
EDIT3:
Happen in all Power States of the GPU.
All these with DX11.
With DX9, the queues do not empty they just sink and raise back, but the presentation glitches raise quickly as soon as I do something in the primary monitor.
Anyone cares to recreate that please?
QBhd
20th June 2015, 16:54
If I recall correctly, Flash can put the GPU into a lower power state. I avoid using Flash when watching videos with madVR
QB
kasper93
20th June 2015, 17:42
Well not flash itself, but hardware acceleration used by flash. You can disable that if you want.
huhn
20th June 2015, 18:44
my 6770 was one of those cards that got capped at mid power state when using DXVA.
kasper93
20th June 2015, 19:21
Why Lanczos3 AR is used? I have Jinc selected in options. https://dl.dropboxusercontent.com/u/16282309/madVR.png
AngelGraves13
20th June 2015, 20:04
Why Lanczos3 AR is used? I have Jinc selected in options. https://dl.dropboxusercontent.com/u/16282309/madVR.png
You have Super-XBR enabled. Disable Image Doubling.
huhn
20th June 2015, 20:13
this doesn't change that something isn't working as intended jinc should be used after super-xbr is used.
Anima123
20th June 2015, 21:02
Problem is, is Jinc designed to work in only one direction? What if it's not? Should a default upscaling algorithm be used instead?
Ver Greeneyes
20th June 2015, 21:07
In fact, doing anything in the primary monitor that makes DWM take a snapshot of the new state effects the queues on the secondary monitor (windowed fullscreen, not FSE).
Moving, Resizing windows, especially scrolling in browser, etc..
All these with DX11.
With DX9, the queues do not empty they just sink and raise back, but the presentation glitches raise quickly as soon as I do something in the primary monitor.Yes, I noticed this too, although not the correlation with doing stuff on the primary monitor (I didn't look too close though). I noticed that with DX11 mode, I would get bunches of dropped frames periodically (like, a bunch in a row), and sometimes the queues would fail to fill until I paused and unpaused. With DX9, the presentation glitches counter would steadily rise (causing visual glitches), but it wouldn't actually drop any frames on madVR's end.
I have no idea whether or not this is a regression though - the presentation glitches seem like a DWM problem, but perhaps the DX11 behavior could be improved.
huhn
20th June 2015, 21:14
Problem is, is Jinc designed to work in only one direction? What if it's not? Should a default upscaling algorithm be used instead?
that's not the case.
jinc is used for a 16/9 1440x1080 source when scaled to 1920x1080 but is not used when the image is downscale a bit.
example:
http://abload.de/img/jincaysyl.png
http://abload.de/img/jinc21duwb.png
there is maybe a reason why jinc is not used. i simply don't know how madVR handle up and downscale at the same time jinc can't downscale that's what i know for sure.
har3inger
20th June 2015, 22:04
So.... In experimenting with settings because I noticed DXVA decoding locked my GPU to medium clocks, I have discovered that DXVA2 native decoding works for me. Power consumption and render times are lower with DXVA2 native compared to DXVA2 copyback. LAV Video reports in both cases that the HW acceleration is enabled (not avcodec, but instead dxva2n or dxa2-cb direct).
Madvr's image scaling settings are still working in DXVA2 native. If I set image upscaling to nearest neighbor, it's very obviously nearest neighbor.
I remember DXVA2 native was not supposed to work with madvr. When did this change?
kasper93
20th June 2015, 22:10
I remember DXVA2 native was not supposed to work with madvr. When did this change?
In version 0.85.8 released on 23.01.2013.
huhn
20th June 2015, 22:13
DXVA native works for a long time now at least a year.
have you checked both use the same chroma resizer?
madVR at default settings uses DXVA chroma scaling for DXVA native which is pretty fast but not really good.
is thsi on "older" card you use?
har3inger
20th June 2015, 22:15
Hahaha... wow. I guess someone was behind the times.
I did a bit of digging, and it appears that forcing film/video mode is really the only thing that doesn't play nice with madvr. Someone also mentioned vsfilter, but xySubfilter works just fine on my end. If I don't ever deal with interlaced content, there isn't really a reason not to use DXVA2-native, correct?
The OSD and my eye both report that chroma resizing is not DXVA and listens to madvr settings (OSD says jinc3 ar). It's also very obviously nearest neighbor when I tell it to be. I'm getting a big (4-5ms) render time improvement under identical settings/IQ.
The card's not that old, but it's in mobile config. It's an ati 8870m paired to an intel ivy bridge 4000hd.
huhn
20th June 2015, 22:24
that's the first time i see a system where DXVA native is clearly faster than copy back.
cyberscott
20th June 2015, 23:14
Any one notice that DSD11 10 bit exclusive clips whites? With it enabled, white bar "234" in AVS HD 709 white clipping test pattern no longer flashes. Only bar "233" and below flashes. When DSD11 10 bit exclusive isn't used, white bar "234" is clearly flashing again.
It isn't an issue with madVR as far as I can tell. I can repeat the same clipping issue using Media Player.net exclusive mode with no madVR running.
No black clipping occurs, though. Just white clipping in DSD11 exclusive.
huhn
20th June 2015, 23:23
have you checked 10 bit output with mpdn not only exclusive? could be your screen.
i personally don't have this issue.
cyberscott
21st June 2015, 00:54
have you checked 10 bit output with mpdn not only exclusive? could be your screen.
i personally don't have this issue.
Unless I'm mistaken, I thought that full screen exclusive mode is currently needed to output 10 bit regardless of the video player?
I did a little more investigation, appears 10 bit is causing the white clipping in exclusive mode. If I change madVR's bit output to 8, no white clipping occurs in DSD11 exclusive. If I change the bit output to 9 or 10, the white clipping comes back.
Same thing happens in MPDN if I change bit output and DSD mode as well.
Just a little annoying as my Samsung LED is a 10 bit panel. In 8 bit mode, I can clearly see "234" flashing and a little of the "235" white bar. With 10 bit enabled, "233" is clear and "234" is barely visible in a darken room. Oh well. Just the nature of my panel, I guess or the current state of affairs with nVidia's drivers.
* New info...: If I use madVR's custom RGB level setting and change white from 255 down one to 254, the white clipping goes away in 10 bit exclusive mode. Strange but it works.
Asmodian
21st June 2015, 02:57
that's not the case.
jinc is used for a 16/9 1440x1080 source when scaled to 1920x1080 but is not used when the image is downscale a bit.
example:
http://abload.de/img/jincaysyl.png
http://abload.de/img/jinc21duwb.png
there is maybe a reason why jinc is not used. i simply don't know how madVR handle up and downscale at the same time jinc can't downscale that's what i know for sure.
The Jinc setting does use Lanczos3 instead when downscaling is needed in one direction, madshi has stated this in the past though finding the post might be hard. ;)
Magik Mark
21st June 2015, 03:22
Unless I'm mistaken, I thought that full screen exclusive mode is currently needed to output 10 bit regardless of the video player?
I did a little more investigation, appears 10 bit is causing the white clipping in exclusive mode. If I change madVR's bit output to 8, no white clipping occurs in DSD11 exclusive. If I change the bit output to 9 or 10, the white clipping comes back.
Same thing happens in MPDN if I change bit output and DSD mode as well.
Just a little annoying as my Samsung LED is a 10 bit panel. In 8 bit mode, I can clearly see "234" flashing and a little of the "235" white bar. With 10 bit enabled, "233" is clear and "234" is barely visible in a darken room. Oh well. Just the nature of my panel, I guess or the current state of affairs with nVidia's drivers.
* New info...: If I use madVR's custom RGB level setting and change white from 255 down one to 254, the white clipping goes away in 10 bit exclusive mode. Strange but it works.
Yes that is correct. Greyscale is different. The same goes true to MPDN. Right now I have an external video processor to correct this.
You have mention madvr custom rgb. How do we access this? Custom 3dlut?
cyberscott
21st June 2015, 03:32
Yes that is correct. The same goes true to MPDN. Right now I have an external video processor to correct this.
You have mention madvr custom rgb. How do we access this? Custom 3dlut?
It is a setting in madVR, It is under Devices - Monitor - Properties-. There is a drop down box under "The display expects the following RGB output levels. I went to "custom levels" and made the changes there. This setting for custom adjustments of RGB Limited Range (TV Levels) or Full Range (PC Levels)
Magik Mark
21st June 2015, 04:07
It is a setting in madVR, It is under Devices - Monitor - Properties-. There is a drop down box under "The display expects the following RGB output levels. I went to "custom levels" and made the changes there. This setting for custom adjustments of RGB Limited Range (TV Levels) or Full Range (PC Levels)
Ahh yes. I had mine setted at tv levels. This is the correct setting if you have an ISF calibrated display. Video test patterns will show this corectly
Warner306
21st June 2015, 04:39
Ahh yes. I had mine setted at tv levels. This is the correct setting if you have an ISF calibrated display. Video test patterns will show this corectly
Setting madVR to PC levels (0-255) will avoid clipping. I've read in the JRiver Media Center guide that the graphics card should be set to TV levels, not the video renderer, if the TV expects 16-235.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.