View Full Version : madVR - high quality video renderer (GPU assisted)
AndreaMG
2nd December 2012, 10:17
Hi @madshi,
I think it has already been asked, but since I think it could be helpful for a lot of us I just wanted to ask if for you is high priority or not: it could be awesome to be able to select the appropriate upscaling algorithms depending on the resolution of the video without everytime having to do ctrl+j to see if frame dropping is occuring and then via shortcut keys adopting another less demanding algorithm. If too difficult to implement I guess it would be great to implement it just for 720 videos. Thanks :)
nx6
2nd December 2012, 11:01
it could be awesome to be able to select the appropriate upscaling algorithms depending on the resolution of the video without everytime having to do ctrl+j to see if frame dropping is occuring and then via shortcut keys adopting another less demanding algorithm.
Different algorithms have different visual effects. Judging one or the other to be "better" is a perceptual thing. While Jinc maybe the darling of the moment around here, I personally use Spline 3-taps with no anti-ringing filter. Other people undoubtedly have setups they prefer for the type of content they play most, so it wouldn't be possible to set up this system without adding the complexities of multiple user-defined profiles for different "levels"of up-scaling.
Also, I sometimes have frames drop right at the very start of playback or when jumping from Windowed to Fullscreen view, I wouldn't want MadVR automatically "downshifting" the method of up-scaling because of these dropped frames when it's only a temporary issue.
AndreaMG
2nd December 2012, 11:18
Also, I sometimes have frames drop right at the very start of playback or when jumping from Windowed to Fullscreen view, I wouldn't want MadVR automatically "downshifting" the method of up-scaling because of these dropped frames when it's only a temporary issue.
But I do not want MadVR to automatically switch scaling algorithms based on framdrops, where did I say that? The problem for me (and for many others I guess) mostly occours while playing 720p videos with the same demanding upscale algorithms that runs perfectly fine with SD resolutions;) I agree with you that every one has his preferences (mine is Jinc), I simply would like a feature (don't know though if easy to implement) like the following one: if video resolution is less than 720 pixels height than use these user define upscale settings, if not use these otheres. Hope I made myself clearer :)
nx6
2nd December 2012, 11:33
Okay, I read that as you wanted it to use a given algorithm but if frame dropping was occurring it should change itself to a lower one. :S
It's more then the resolution that determines of something is going to play back smoothly or not anyway. The 720p video could be in a less demanding h264 profile from one file to another, or just lower bitrate, not to mention frame rates can vary...
AndreaMG
2nd December 2012, 11:50
The 720p video could be in a less demanding h264 profile from one file to another, or just lower bitrateYou are right, for sure out there there are 720p videos that could be easily upscaled with the same SD heavy settings, that said I by far prefer to have the choice to play ALWAYS a 720p video with lower upscale settings and "taking the risk" that some of those 720 videos could have run the same even with highest settings than having almost every time a play a 720p video to manually change the upscale algorithm:) That said please notice that playing a 720p video with a less demanding upscale algorithm is not necessarly a bad thing, for what I understood the upscale quality of algorithms is much more noticible the lowest the native resolution is.
noee
2nd December 2012, 11:57
But I do not want MadVR to automatically switch scaling algorithms based on framdrops, where did I say that? The problem for me (and for many others I guess) mostly occours while playing 720p videos with the same demanding upscale algorithms that runs perfectly fine with SD resolutions;) I agree with you that every one has his preferences (mine is Jinc), I simply would like a feature (don't know though if easy to implement) like the following one: if video resolution is less than 720 pixels height than use these user define upscale settings, if not use these otheres. Hope I made myself clearer :)
You can already do this with a "hacky" launcher of your own if you can code a little.
Create a drop target that you might drag and drop a movie onto (MKV or some such).
Use something like mediainfo.dll to get the file properties, then instantiate a madVR settings object to set the scaling algo based on some set of rules against the file props (ie. rez, bitrate, etc.).
THen, launch the player with the movie file.
It's hacky because your player of choice can't already be running with a madVR instance.....and other reasons that maybe aren't so obvious.
IMO, this type of functionality might be better in the player rather than the renderer, but either way, it's handy to have. :)
AndreaMG
2nd December 2012, 11:59
It's more then the resolution that determines of something is going to play back smoothly or not anyway. I agree, but at least for me (GTX 460M overclocked) jinc has such an impact on the GPU that makes the difference between SD and 720p videos. Other things like for instance high bitrates do not have the same performance hit;)
AndreaMG
2nd December 2012, 12:01
You can already do this with a "hacky" launcher of your own if you can code a little.
:)
Thanks, not an option:D
madshi
2nd December 2012, 12:09
Right now, for debugging the problem I'm having. Also you could more easily switch back and forth to see the difference (some screens allow non-60Hz input while still displaying at 60).
But for something actually useful - changing the refresh rate takes time and sometimes messes with background programs. When watching random short videos, I'd rather just stick to 60Hz, even in fullscreen.
IMO it fits nicely with the other on/off keyboard shortcuts already present.
Maybe later, but not now.
Hi @madshi,
I think it has already been asked, but since I think it could be helpful for a lot of us I just wanted to ask if for you is high priority or not: it could be awesome to be able to select the appropriate upscaling algorithms depending on the resolution of the video without everytime having to do ctrl+j to see if frame dropping is occuring and then via shortcut keys adopting another less demanding algorithm. If too difficult to implement I guess it would be great to implement it just for 720 videos. Thanks :)
Yes, it has already been asked. And as I said before, there will be a solution for this some time in the future, but not soon.
AndreaMG
2nd December 2012, 12:13
Maybe later, but not now.
Yes, it has already been asked. And as I said before, there will be a solution for this some time in the future, but not soon.Thanks a lot:)
Razoola
2nd December 2012, 15:31
I personally don't like the idea of madVR changing scaling algos based on frame drops. I guess because there are many thing that can cause framedrops that are not related to GPU being overstressed. I would say a better solution would be to have the ability to choose different scaling algos based on video sizes, format and framerate.
secvensor
2nd December 2012, 15:31
image upscaling - Jink 4 or 8 select
go to
croma upscaling - Jink 3
go to
image downscaling - Spline 4
go to
image upscaling - Jink 4 or 8 be in false
http://i47.fastpic.ru/big/2012/1202/e6/0115d0d97537bce1e48d3337773b49e6.png
ajp_anton
2nd December 2012, 16:37
I personally don't like the idea of madVR changing scaling algos based on frame drops. I guess because there are many thing that can cause framedrops that are not related to GPU being overstressed. I would say a better solution would be to have the ability to choose different scaling algos based on video sizes, format and framerate.Just base it on rendering times.
mindbomb
2nd December 2012, 17:04
Very rarely people really benefit from [hardware acceleration].
There are ivy bridge ulv chips out there that are only dual core and are low frequency. I imagine high bitrate h264 would have noticeably higher cpu usage when decoded through software.
So, I think even with modern platforms, it is still possible to get a benefit.
And if you do a lot of multitasking or run something cpu intensive in the background, performance with software decoding can dip.
Lastly, you have this video decoding stuff taking up valuable die space on your gpu, might as well use it.
dansrfe
2nd December 2012, 17:09
Hardware acceleration should be used whenever possible. And to quote nevcairiel:
Hardware decoders usually use less power, because they are running in fixed-function hardware and not in general-purpose hardware like the CPU.
Additionally, some slower/older CPUs may have issues with complex formats (especially VC-1 interlaced requires quite some CPU because the decoder isn't well optimized for multi-threading)
DXVA2 Native uses the least power, and if you don't need software post-processing like ffdshow raw or VSFilter, you can use it and benefit the most from it. If you use such post-processing, i would recommend either CUVID or DXVA2-CB, as thats most likely your active GPU, and QuickSync only works if the Intel GPU is active.
nevcairiel
2nd December 2012, 18:36
For a fast PC, power usage is the only possible advantage you get, and some people just don't care and prefer the more reliable software decoder, which is just fine. /me shrugs
Vyral
2nd December 2012, 18:56
In my case, DXVA CB cause many dropped & delayed frames with all algorithms, is it normal ?
Right now, I set Lav with no Hardware Acceleration and I have 0 dropped or delayed frames.
nevcairiel
2nd December 2012, 20:31
DXVA CB doesn't work well on AMD before the 7000 series, AMD doesn't like when you copy stuff from the GPU to the system memory.
pirlouy
2nd December 2012, 21:30
Personally, I don't like DXVA because you're dependent of GPU drivers, and I don't trust AMD drivers (I don't trust Intel or Nvidia either).
DragonQ
2nd December 2012, 21:56
For a fast PC, power usage is the only possible advantage you get, and some people just don't care and prefer the more reliable software decoder, which is just fine. /me shrugs
Also, for people like me who have a powerful CPU and relatively weak GPU (i7-920 @ 3.8 GHz + GTS250), using software decoding might result in a quieter system because it stops the GPU fan kicking in.
DragonQ
2nd December 2012, 22:49
I'm sure I've mentioned this before but auto-detection of deinterlacing seems to be broken for some HDTV (UK) streams in MKVs (maybe other types of files too, dunno). The same streams in TS files deinterlace fine, and the MKVs deinterlace fine in EVR too. Using LAV Splitter/Video/Audio.
EDIT: On second thoughts, I think this is probably an issue in MKV Merge. My older MKVs work fine, newer ones don't. If it is, Mosu needs to know why the interlacing isn't detected properly so can you help with this please madshi? Samples:
TS - deinterlaced automatically (http://www.mediafire.com/?7tucr1niyy7bdug)
MKV - not deinterlaced automatically (http://www.mediafire.com/?38100ag5n0gkft0)
Mangix
2nd December 2012, 22:55
Also, for people like me who have a powerful CPU and relatively weak GPU (i7-920 @ 3.8 GHz + GTS250), using software decoding might result in a quieter system because it stops the GPU fan kicking in.
using DXVA2 versus CUVID should keep clocks lower though.
and a GTS 250 is not that weak. it was the highest end stuff a couple of years back(remember that it's a rebranded 9800 GTX)
DragonQ
2nd December 2012, 23:10
Yeah but mine sucks, the fan's default setting is 100% and it seems to happily switch between 17-30% fan whilst idling in Windows, let alone playing videos, resulting in constant whining.
Thank Jebus for MSI Afterburner! ;)
leeperry
3rd December 2012, 00:04
but there's also the story of some GPU's enabling their high performance speeds profile when using CUVID, isn't it? The GTX600 serie is not too power hungry but the 500 can quickly become a power hog...so in that case, only a wattmeter could really tell what your best option is I'm afraid.
You can already do this with a "hacky" launcher of your own if you can code a little.
[..] it's handy to have.
http://forum-images.hardware.fr/icones/smilies/whistle.gif I don't really care myself but I've never had the opportunity to use this emoticon: :script:
it could be awesome to be able to select the appropriate upscaling algorithms depending on the resolution of the video
and talking about dead horse feature requests, that'd be really great if we could disable the "windowed/exclusive" OSD messages at some point http://forum-images.hardware.fr/images/perso/slynoel.gif
noee
3rd December 2012, 00:21
I don't really care myself but I've never had the opportunity to use this emoticon:
It's currently part of a broader htpc controller app that configures (LAV, madVR, Windows Audio, multi-mon, etc.) externally, can't really split it out. Maybe at some point. Anyway, you'd hate it, it's C#.... :scared:
But for jRiver users (and probably MPC and others, haven't looked), it's not difficult to script-monkey AutoHotkey to do the same, albeit even more hacky as it changes the madVR scaler after the video starts playing...
wanezhiling
3rd December 2012, 03:05
For a fast PC, power usage is the only possible advantage you get, and some people just don't care and prefer the more reliable software decoder, which is just fine. /me shrugs
LAV CUVID always run @ max power...
strumf666
3rd December 2012, 03:19
I just installed PotPlayer build 34665 which has pixelshaders built-in but they don't appear to work with madvr. I use lavfilters for splitting and decoding, I am using hd4k for graphics atm (my amd 7750 is in rma...) in dxva2cb. Advice appreciated :)
nx6
3rd December 2012, 07:19
Hardware acceleration should be used whenever possible. And to quote nevcairiel:
If we're going to bring up nev (and madshi for that matter)'s personal views into this I seem to remember both of them advocating software decoding as the better solution because:
It wont break due to GPU driver changes/goofy "support" for certain formats in hardware.
More consistent, reliable decoding.
It balances the playback load more evenly over the entire machine and lets the GPU resources be focused on rendering without added decoding duties
'Course they may have changed their views with recent performance improvements in both their respective projects. So I'd like to hear if they think differently.
DXVA is more what I would turn to if my system was simply too underpowered to handle something on CPU for decoding. It's nice for low-end HTPCs and Netbook playback in other words.
toniash
3rd December 2012, 09:36
I just installed PotPlayer build 34665 which has pixelshaders built-in but they don't appear to work with madvr. I use lavfilters for splitting and decoding, I am using hd4k for graphics atm (my amd 7750 is in rma...) in dxva2cb. Advice appreciated :)
This build doesn't have support por PS in Madvr yet, you must wait for a new version
:mad:
DragonQ
3rd December 2012, 11:26
I'm sure I've mentioned this before but auto-detection of deinterlacing seems to be broken for some HDTV (UK) streams in MKVs (maybe other types of files too, dunno). The same streams in TS files deinterlace fine, and the MKVs deinterlace fine in EVR too. Using LAV Splitter/Video/Audio.
EDIT: On second thoughts, I think this is probably an issue in MKV Merge. My older MKVs work fine, newer ones don't. If it is, Mosu needs to know why the interlacing isn't detected properly so can you help with this please madshi? Samples:
TS - deinterlaced automatically (http://www.mediafire.com/?7tucr1niyy7bdug)
MKV - not deinterlaced automatically (http://www.mediafire.com/?38100ag5n0gkft0)
Did some more testing - if I take an old TS file (from 10/11/2012) and mux it as I normally would with MKVMerge, the resulting MKV file deinterlaces properly and plays smoothly in MadVR. If I do exactly the same thing with a file recorded yesterday (02/12/2012), the resulting MKV is treated as progressive and the playback speed changes all over the place in certain parts. So now I'm thinking maybe something has changed on the broadcaster's end, which is causing a break somewhere along the chain. Very interested to solve this mystery! :)
By the way, this is all on my desktop and is nothing to do with the "MadVR reports deinterlacing failed" message on Arrandale. This is just failed auto-detection of interlaced material.
A summary of the problems for me:
1) All TS files with AAC audio:
- EVR: TS plays fine, MKV plays fine.
- MadVR: TS plays fine, MKV is treated as progressive so not deinterlaced.
2) Older TS files (e.g. from 10/11/2012) with AC3 audio:
- EVR: TS plays fine, MKV plays fine.
- MadVR: TS plays fine, MKV plays fine.
3) Newer TS files (e.g. from 02/12/2012) with AC3 audio:
- EVR: TS plays fine, MKV plays slowly (46-48 fps) with playback speed jumping all over the place and a really dodgy graph.
- MadVR: TS plays fine, MKV is treated as progressive so not deinterlaced and also playback speed is all over the place.
strumf666
3rd December 2012, 15:24
This build doesn't have support por PS in Madvr yet, you must wait for a new version
:mad:
Thanks for answering.
petri234
3rd December 2012, 17:53
Don't know if this has been mentioned yet, but DXVA decoding with default settings crashes MPC-HC for me about 50% of the time when viewing 23.976p material. This only happens when skipping forward or backward, however if the player does not crash, I can skip forward safely as many times as I please. I am using LAV filters and a laptop with ATI 4670.
manma
3rd December 2012, 21:21
I'm not sure if I understand completely yet. Can increasing or decreasing queue sizes help reduce dropped frames? Ever since I set up yCMS color calibration with madvr, I've had a good amount frame dropping, and I need to do something to make up for the performance loss. Is there anything I can do other than get another GPU (not an option, as I'm on a laptop).
Nekomata
3rd December 2012, 23:05
can i use this with lav filter?
ryrynz
3rd December 2012, 23:27
Of course, you really shouldn't ask the same question in two different threads.
HauntingShock
4th December 2012, 02:07
Could anyone give me a step-by-step procedure to enable the "Save Image" option in MPC-HC? I'm using MadVR and it says that it's not supported... but how come I could see those people here have it working?
I got the official build 1.6.4.6052.
dansrfe
4th December 2012, 02:23
Could anyone give me a step-by-step procedure to enable the "Save Image" option in MPC-HC? I'm using MadVR and it says that it's not supported... but how come I could see those people here have it working?
I got the official build 1.6.4.6052.
Always install the latest build from here: http://xhmikosr.1f0.de/mpc-hc (http://xhmikosr.1f0.de/mpc-hc/?folder=bXBjLWhj)
wanezhiling
4th December 2012, 02:25
Official build doesnt support that, use nightly buildhttp://xhmikosr.1f0.de/mpc-hc/
6233638
4th December 2012, 03:50
Going back to the discussion about default scaling algorithms, since getting this GT610 (still waiting on my replacement GTX570) I am obviously right at the bottom end of what video cards will support madVR, which has had me re-evaluating things from a performance vs image quality perspective.
I've also had the opportunity to watch a few more films than I normally would recently, and having a larger sample group is always good to have to spot issues that show up in real-world content rather than test patterns or a small selection of specific samples. In particular, I noticed quite a few problems showing up from using Bilinear for Chroma upscaling, just from watching films.
I really don't think that having Bilinear as the default for Chroma is a good choice. As Chroma is only ever a 2x scaling operation, the performance impact of using a better scaling algorithm seems to be minimal in most cases.
While not related to selecting good defaults, in my testing, I also happened to come across a use-case for Jinc 8. There are some images I came across where using Jinc 8 AR for Chroma was the only option that looked really good, being the only choice that avoided aliasing and maintained the correct brightness/saturation for Chroma. This is not an endorsement of using it, as there are most likely problems using it with other images (as there tends to be with higher-tap filters) but I thought it was interesting.
The only other algorithm that looked decent with this image was SoftCubic 100, which was too dull/desaturated, but avoided most of the aliasing.
http://www.abload.de/img/chromaalqe9.jpg
Jinc 8 AR SoftCubic 100 Spline 3 AR Bicubic 75
At lower values, both Jinc and SoftCubic started to show the same aliasing problems as the others. While it may look good in this example, I don't recommend using SoftCubic Chroma scaling at all, as it tends to give poor results in most other images.
But going back to selecting good defaults for madVR, here's an example where using the default Lanczos 3 AR Luma with Bilinear Chroma looks particularly bad:
http://www.abload.de/img/bilinearm3ofx.jpg (http://www.abload.de/img/bilinearm3ofx.jpg)
This had a rendering time of almost 90ms.
In comparison, Bicubic 75 Chroma with SoftCubic 80 Luma (which requires no AR filter) has a rendering time of 32ms:
http://www.abload.de/img/bc75nmp6a.jpg (http://www.abload.de/img/bc75nmp6a.jpg)
Changing Chroma from Bicubic 75 to Bilinear with SoftCubic 80 Luma only drops rendering times by 2ms, to 30ms total.
And as a "reference" image, this is Lanczos 3 AR Luma with Jinc 8 AR Chroma. (395ms!)
http://www.abload.de/img/jincu0r2u.jpg (http://www.abload.de/img/jincu0r2u.jpg)
Now I don't suggest that SoftCubic 80 be the default for Luma at all, but I worry that Lanczos 3 AR will be too taxing for a lot of hardware.
I wish I had access to an Intel HD 4000 to test performance with, because that seems like a reasonable card to use as the "minimum spec" for the defaults.
Here are some numbers from that particular test though:
Bicubic Luma scaling: Bilinear Chroma: 30ms
Bicubic 75 Chroma: 32ms
Jinc 3 Chroma: 64ms
Lanczos 3 Luma: Bilinear Chroma: 45ms
Bicubic 75 Chroma: 47ms
Jinc 3 Chroma: 78ms
DXVA2 Luma: Bilinear Chroma: 50ms
Bicubic 75 Chroma: 59ms
Jinc 3 Chroma: 290ms
Bicubic AR Luma: Bilinear Chroma: 61ms
Bicubic 75 Chroma: 63ms
Jinc 3 Chroma: 94ms
Lanczos 3 AR Luma: Bilinear Chroma: 86ms
Bicubic 75 Chroma: 88ms
Jinc 3 Chroma: 119ms
While I didn't do testing on them individually, all the Bicubic variants (Mitchell-Netravali, Catmull-Rom, Bicubic, SoftCubic) should result in the same rendering times, and Lanczos/Spline tend to give roughly the same results as well.
From looking at those numbers, I think that it would probably be best to use Bicubic 75 Chroma, which can be a significant visual improvement over Bilinear in many cases (often a close visual match to Lanczos or Jinc) for a minimal performance hit compared to Bilinear.
While I know that some people prefer softer Chroma settings, Bicubic 75 still seems to be the best balance between ringing/aliasing and maintaining the correct brightness/saturation for Chroma with a minimal performance hit. I wouldn't use it for Luma, but I've found almost nothing where it has caused problems for Chroma.
It may not be my personal preference, but I would then probably suggest using either Lanczos 3 or Spline 3 (probably Spline due to the reduced ringing) without the AR filter as the default for Luma upscaling.
The rendering times I posted are for comparative purposes from upscaling Blu-ray beyond 1080p, which is not indicative of real-world use (typically DVD or 720p up to 1080p) so I haven't run into any performance issues with playback when testing those settings yet. (almost 50ms would imply dropping frames)
If you're really wanting to reduce rendering times for your default, I would probably go with some level of SoftCubic for the Luma upscaling, but I know that's too soft for a lot of people. It does manage to avoid aliasing and ringing very well at higher levels though. EDIT: Or Mitchell-Netravali might be a better choice. The other Bicubic variants probably have too much ringing or aliasing to be suitable for the default Luma algorithm.
And now that I've overclocked the card (1GHz GPU/720MHz RAM) I seem to be able to play Blu-ray downscaled in linear light using Catmull-Rom AR without any problems, though it is probably still too taxing on some systems.
I still need to do a good performance and image quality test for downscaling algorithms. It's really not a priority for me though, as I use a 1080p native display, and the only time I downsample is when I have something playing at the side of a web browser, which is never a film, and therefore not particularly important to me as far as image quality is concerned.
HauntingShock
4th December 2012, 03:56
Always install the latest build from here: http://xhmikosr.1f0.de/mpc-hc (http://xhmikosr.1f0.de/mpc-hc/?folder=bXBjLWhj)
Official build doesnt support that, use nightly buildhttp://xhmikosr.1f0.de/mpc-hc/
Thanks :D
I've encountered that site and those builds before but I thought it was untrusted... looks like I'm wrong.
iamhacked
4th December 2012, 04:46
From looking at those numbers, I think that it would probably be best to use Bicubic 75 Chroma, which can be a significant visual improvement over Bilinear in many cases (often a close visual match to Lanczos or Jinc) for a minimal performance hit compared to Bilinear.
While I know that some people prefer softer Chroma settings, Bicubic 75 still seems to be the best balance between ringing/aliasing and maintaining the correct brightness/saturation for Chroma with a minimal performance hit. I wouldn't use it for Luma, but I've found almost nothing where it has caused problems for Chroma.
It may not be my personal preference, but I would then probably suggest using either Lanczos 3 or Spline 3 (probably Spline due to the reduced ringing) without the AR filter as the default for Luma upscaling.
The rendering times I posted are for comparative purposes from upscaling Blu-ray beyond 1080p, which is not indicative of real-world use (typically DVD or 720p up to 1080p) so I haven't run into any performance issues with playback when testing those settings yet. (almost 50ms would imply dropping frames)
If you're really wanting to reduce rendering times for your default, I would probably go with some level of SoftCubic for the Luma upscaling, but I know that's too soft for a lot of people. It does manage to avoid aliasing and ringing very well at higher levels though. The other Bicubic variants probably have too much ringing or aliasing to be suitable for the default Luma algorithm.
And now that I've overclocked the card (1GHz GPU/720MHz RAM) I seem to be able to play Blu-ray downscaled in linear light using Catmull-Rom AR without any problems, though it is probably still too taxing on some systems.
I still need to do a good performance and image quality test for downscaling algorithms. It's really not a priority for me though, as I use a 1080p native display, and the only time I downsample is when I have something playing at the side of a web browser, which is never a film, and therefore not particularly important to me as far as image quality is concerned.
Nice point. I have a Dimension E521 (AMD Athlon™ 64 X2, 1GB RAM, Nvidia GeForce 6150LE) and using Bicubic 50 for chroma upscaling does look better than Bilinear. However, any number above 50 will cause 720p video to stutter (using LAV filters). Using Bicubic for luma/image upscaling will cause video to stutter as well. Bilinear seems to be the only option for luma upscaling to me.
ajp_anton
4th December 2012, 04:47
I wish I had access to an Intel HD 4000 to test performance with, because that seems like a reasonable card to use as the "minimum spec" for the defaults.
HD 3000 at 1700MHz, is that close enough to HD 4000?
1920x1080 -> 2560x1440
Default (lanc3 AR / bilinear) renders at around 41ms.
6233638
4th December 2012, 05:25
HD 3000 at 1700MHz, is that close enough to HD 4000?
1920x1080 -> 2560x1440
Default (lanc3 AR / bilinear) renders at around 41ms.Thanks. That seems like Lanczos 3 AR Luma, Bilinear Chroma is pushing it, and you're likely to experience frame drops. (or just avoid them)
I'd really need to have one myself to use the same material and settings to do a proper comparison/test though.
I would be interested in seeing what your numbers are for Bicubic 75 Chroma & Lanczos 3 without AR for Luma with the same material though. I really think that using Bilinear for Chroma is too much of a compromise, even if it would let you use Lanczos 3 AR.
In the test I posted above, those settings almost halved rendering times - as good as it can look, I think the anti-ringing filter is probably too demanding to have enabled as a default.
Nice point. I have a Dimension E521 (AMD Athlon™ 64 X2, 1GB RAM, Nvidia GeForce 6150LE) and using Bicubic 50 for chroma upscaling does look better than Bilinear. However, any number above 50 will cause 720p video to stutter (using LAV filters). Using Bicubic for luma/image upscaling will cause video to stutter as well. Bilinear seems to be the only option for luma upscaling to me.
That's interesting, I was under the impression that all the Bicubic variations (Mitchell-Netravali, Catmull-Rom, Bicubic, and SoftCubic) were all the same algorithm with adjusted values, that wouldn't change the load they put on the GPU. I certainly don't see a meaningful change between them. (less than 0.5ms)
EDIT: And from doing some extra testing, at least with some scale factors (I don't know if it will change dynamically) Nvidia basically using Bilinear scaling with the DXVA2 option. (results are slightly different) So it's even worse than I thought, considering that with madVR's Bilinear Luma scaling I was getting render times of about 3ms compared to the 50ms+ of DXVA2.
EDIT2: Actually, it's worse than that - if you use DXVA2 for Luma upscaling, Chroma upscaling is basically ignored. Unless DXVA2 is handled a lot better on AMD/Intel, I wonder if it should actually be removed.
It's maybe not identical to the bilinear option in madVR, but the results are still equally bad. DXVA2 Luma, Bilinear Chroma (http://www.abload.de/img/dxva2-bilinearbqjp5.jpg)
DXVA2 Luma, Lanczos 8 AR Chroma (http://www.abload.de/img/dxva2-lanczos-8-aradjsi.jpg)
Bilinear Luma, Bilinear Chroma (http://www.abload.de/img/bilinear-bilinear0cjzp.jpg)
Bilinear Luma, Lanczos 8 AR Chroma (http://www.abload.de/img/bilinear-lanczos-8-ardqko8.jpg)
The DXVA2 results are a little smoother when compared to Bilinear in madVR (is chroma being filtered?) but you can see that there's almost no difference between Bilinear Chroma and Lanczos 8 AR when you use DXVA2 scaling.
Render times are considerably higher with DXVA2 scaling as well.
ajp_anton
4th December 2012, 16:14
Thanks. That seems like Lanczos 3 AR Luma, Bilinear Chroma is pushing it, and you're likely to experience frame drops. (or just avoid them)
I'd really need to have one myself to use the same material and settings to do a proper comparison/test though.
I would be interested in seeing what your numbers are for Bicubic 75 Chroma & Lanczos 3 without AR for Luma with the same material though. I really think that using Bilinear for Chroma is too much of a compromise, even if it would let you use Lanczos 3 AR.Lanc3 + BC75: 32ms
Remember I upscale 1080p to 1440p, not what most people do, so I'd say speedwise 41ms it's just fine. And today it's 38ms. It seems to depend a little on what's in the actual image (which I find a little strange, unless it's because of the AR).
720p -> 1080p:
Lanc3 AR + bilinear: 28ms
Lanc3 + bicubic: 27ms
mindbomb
4th December 2012, 17:58
I have an interesting problem. With hardware deinterlacing on my radeon, it doubles the frame rate, and thus, halves the movie frame interval, requiring even faster rendering than I can manage. Can I disable this in the registry somehow to keep the frame rate the same?
DragonQ
4th December 2012, 18:04
If the material is interlaced, that's what's supposed to happen (50/60p after deinterlacing). If it's progressive material in an "interlaced wrapper" (e.g. films or dramas in a TV stream) then it should be detected as such and deinterlaced using "weave", reproducing the original progressive image (25/30p after deinterlacing).
MSL_DK
4th December 2012, 18:07
This question has probably been asked before ... What scaling algorithms is recommended for blu-ray, no bad rips, only original blu-ray.
MSL_DK
4th December 2012, 19:28
I do not know if it's ycms who fails or it is the way madVR handle ycms ... but something's wrong
madvr pixel shader
https://dl.dropbox.com/u/111324524/Images%20for%20Sharing/madVR/PS.JPG
madvr ycms
https://dl.dropbox.com/u/111324524/Images%20for%20Sharing/madVR/MVR_ycms.JPG
DarkSpace
4th December 2012, 19:50
Many thanks for this piece of work, it's really great! However, I'd like to report a possible bug:
When switching the screen refresh rate (manually, not using the automatic Refresh Rate Changer) to 120Hz on my Laptop's internal 1080p screen, madVR stops outputting a picture. The Media Player window still changes its size to the video resolution in Windowed Mode, but both Fullscreen Exclusive and Windowed Mode only show a black picture. Interestingly, the Debug OSD (already enabled from before swit) doesn't display in Windowed mode, but in FSE, it briefly shows an additional lineDesktop Composition Rate: 120.000Hz [there are a few trailing zeros, but I couldn't count them]before that line vanishes, but the interesting part is that it showsdisplay 0.000000Hz It doesn't update during playback at all, and when the playback is paused, it only updates the Render Queue. I have included a Debug Log of a few seconds of video playing for both Windowed Mode (http://www.mediafire.com/?b5uad99uxu19q69) and FSE (http://www.mediafire.com/?9oav500tz05zv6k). Also interesting is that while the screen stays blank except for the Debug OSD, the FSE seekbar does show up, albeit with a delay of a few seconds. Also, after a while, it seems MPC-HC just hangs, because audio also stops playing. In the case of the Debug logs, the audio stopped at around 25 seconds.
I should mention that EVR-CP works perfectly fine.
My Setup:
AMD Radeon HD 670M with up-to-date drivers
Windows 7 Ultimate
MPC-HC 1.6.5.6291
LAV Filters 0.54.1
ReClock 1.8.7.9
madVR 0.85.1
I did use the search and didn't find anything alike. Unfortunately, I don't have any other screens capable of 120Hz at all, so I can't test if it's maybe my drivers' fault.
sneaker_ger
4th December 2012, 20:54
Problem 2:
It seems to only be related to DXVA2 decoding, not the scaling. I created a log. (Opened video, seeked once, waited a few seconds, seeked again, waited a few seconds, seeked again, waited a few seconds, then closed the player)
Out-of-order/jerkyness on all three seeks. It looks a bit like this happens until the decoder has caught up after the seek. Not really sure.
log (https://rapidshare.com/files/318478037/madVR_0.85.1_dxva2_out_of_order.7z) (mirror (http://www.mediafire.com/?y3zry4qs4a84znk))
sample (https://rapidshare.com/files/1350258742/worldwarz-p1tt-tlr1_h1080p.mkv) (mirror (http://www.mediafire.com/?etaya7ybam4r0dd))
MPC-HC
Win 7 x64
HD 5850 (Cat 12.11 Beta 8)
I've tested with NVidia 9400, LAV 54.1 and my latest madVR sources on win7 x64 and I can't reproduce any issues here. Seeking works just fine without any issues. Can you please double check with LAV 54.1, and with the next madVR build?
Catalyst 12.11 beta 11 seems to have fixed the issue.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.