View Full Version : madVR - high quality video renderer (GPU assisted)
MSL_DK
12th May 2013, 19:28
I believe it does. It probably just calls SetDeviceGammaRamp() just like "dispwin -c". What makes you think it doesn't?
Try to run the program ... check out RGB and press reset. Run dispwin -c and check RGB. Do you have ATI GFX, press "Reactivate AMD color control" and check RGB
ryrynz
12th May 2013, 23:44
If I skipped the video back I could not get the sticky artifact to show again, it just occurs somewhat randomly.
Does the same artifacts occur again if you replay the same movie scene? That's the first key question you have to find an answer for.
I believe this was a stability issue with my systems RAM, I no longer have this problem.
Do you see a new dropped, repeated or delayed frame in the OSD when this happens? How often does this problem occur? Once every couple of seconds? Minutes? Hours?
For me I usually see the black frame at least once every hour or so (once every few episodes) but I did not see it tonight. I will check the OSD when it occurs again.
It's still happening every hour to hour n a half but not always, I watched a three hour movie last night and had it happen twice. The OSD does not show any extra dropped or delayed frames when it occurs.
I'd be interested to know if this happens with AMD graphics also, I'm using a Intel HD 3000 and DragonQ has a Nvidia GT430. I'm currently running my TV at 60Hz.
leeperry
13th May 2013, 00:12
Disable Gamma Ramps in madvr doesn't for me so I use http://www.xrite.com/product_overview.aspx?ID=789&Action=support&SoftwareID=546 to reset GPU gamma curve. Does it work the same way as "dispwin -c" ?
check the attachment to this post (http://forum.doom9.org/showpost.php?p=1600195&postcount=15430), dispwin -c and "disable gamma ramps" are meant to disable this calibration CLUT. Nothing more, nothing less.
Anyway I have no choice but to upgrade the CPU+MB+RAM
I meant upgrade the OS, not the hardware.....my Q9450 is still plenty capable.
DragonQ
13th May 2013, 10:10
I'd be interested to know if this happens with AMD graphics also, I'm using a Intel HD 3000 and DragonQ has a Nvidia GT430. I'm currently running my TV at 60Hz.
I only use MadVR on my desktop (my HTPC runs MediaPortal, which doesn't support MadVR and probably never will), which has an nVidia GTS 250. 60 Hz also.
leeperry
13th May 2013, 17:29
BTW madshi, it might be time to add a xvYCC gamut preset(and force 0-255 input) coz the BD's are coming (http://translate.google.com/translate?hl=en&sl=fr&tl=en&u=http%3A%2F%2Fwww.lesnumeriques.com%2Ffilm-blu-ray%2Fsony-pictures-apprete-a-lancer-blu-ray-a-colorimetrie-etendue-n29327.html) :devil:
e-t172
13th May 2013, 19:39
For me I usually see the black frame at least once every hour or so (once every few episodes) but I did not see it tonight. I will check the OSD when it occurs again.
Actually I think I got the same issue. Sometimes (like a few times per hour or so) a single black frame gets inserted for no apparent reason. Note that I'm using smooth motion. Each time it does this the "dropped frames" counter increases by one. Strangely, it seems that if I disable desktop composition in the madVR options it goes away, though I am not quite sure yet. No other option seem to have any effect. NVidia GeForce GTX 570, drivers 314.22, 60Hz.
tobindac
14th May 2013, 16:43
Hello, amazing job by the way.
I keep reading in this thread about "SVP (SmoothVideo Project) VS madVR" and how they are different on how they handle smoothing of video (which is true) but I haven't heard the obvious:
One can use both! That way one gets both high FPS and the good rendering of madVR.
Of course, a few parameters will be affected: GPU will be more loaded, so scaling algorithms settings might have to be downgraded and the madVR smoothing code might show its weight and might have to be disabled (even though I suspect it might be of less importance on high FPS anyway).
However, I've noticed the following advantages that makes their use in unison being beneficial:
madVR already does a very good job without Jinc 3 - in the case SVP wouldn't allow it, it does in high-end setups - so potentially losing the best scaling isn't going to be a deciding factor in some cases; and I guess Jinc being the best scaling algorithm might be debateable.
Also, using - for instance - 60FPS can make a video so lively that both other advantages - in scaling or smoothing - might be less beneficial or unneeded. I know it's a very debatable subject - as The Hobbit 50FPS has proven - but personally, I see only advantages on high FPS: Motion is very realistic to the point of feeling being there next to the actors (if it's normal filming). People often say they want to be fooled from the film-making but, if you ask me, it's fascinating to "hack" that delusion and see right through the filming and into the action like being right there next to them. I've recently experienced a few videos of shows I was watching on 24-30 FPS converted to 60FPS and I was excited that it was like being right next to the people being filmed for a change.
Concerning technological considerations for the future (and to be more on topic), the DirectShow world is generally a mountain of different packages so I guess there is no much point suggesting a pseudo-high-FPS feature for madVR, but it's an idea that could be out there, potentially right next to the current options of smoothing as a means of perhaps reducing the length of the pipeline needed for rendering a video. I also wonder if madVR's smoothing is a big benefit when SVP is enabled (or when the video is of high FPS in the first place); my suspicion is that it's not as important (which would help lighten the GPU load).
In any case though if you do make such a setup, unless your hardware is quite high-end, be prepared to be tweaking settings for almost any change of video attributes. e.g. it is very likely that 720p H264 will need different parameters on both software packages than 1080p, because in both cases you might bring both CPU and GPU load to their limits. This is for me an advantage on its own, being able to utilize both CPU and GPU to their absolute limits, even if I guess it does inflict some extra fatigue on the hardware, and it might make such setups almost impossible to be "humane" to common users that do not tweak their setup, unless hardware is insanely faster than currently commonly available for most video formats and displays considered.
Skankee
14th May 2013, 19:11
I know it's a very debatable subject - as The Hobbit 50FPS has proven - but personally, I see only advantages on high FPS: Motion is very realistic to the point of feeling being there next to the actors (if it's normal filming).
There is an huge difference: The Hobbit -> 48 real FPS.
SmoothVideo Project can "upscale" 24FPS to 60FPS, but the result will not look as good as a real 60 FPS-video, because SVP produce always small and big picture errors.
I think a lot of people don't use SVP because it degrade image-quallity too much and not because they think 24FPS is better than 60FPS.
Smooth motion (madVR) also produces picture errors (ghosting), but it reduces judder. So you can decide what bothers you more and enable/disable this option in madVR.
Tyestor
15th May 2013, 19:17
Any ETA on the next update?
MSL_DK
15th May 2013, 19:33
Any ETA on the next update?
Do you miss any thing????
TheElix
15th May 2013, 20:46
Do you miss any thing????We weren't really missing anything before madshi released the current version with smooth motion either. Madshi keeps pushing the progress of HTPC playback further even though he's not obliged to do so. The guy's just excited about what madshi has in store for us with his next update. So am I.
Asmodian
16th May 2013, 01:46
Madshi usually says "when it is done" and doesn't give an ETA, though the first release with smooth motion was an exception. :D
tobindac
16th May 2013, 02:00
There is an huge difference: The Hobbit -> 48 real FPS.
SmoothVideo Project can "upscale" 24FPS to 60FPS, but the result will not look as good as a real 60 FPS-video, because SVP produce always small and big picture errors.
I think a lot of people don't use SVP because it degrade image-quallity too much and not because they think 24FPS is better than 60FPS.
Smooth motion (madVR) also produces picture errors (ghosting), but it reduces judder. So you can decide what bothers you more and enable/disable this option in madVR.
I know what you mean and I was actively looking for it. I was surprised though that it was not as bad as I anticipated. In fact I'm surprised at how well pseudo-60FPS approaches the "home video" effect (in a good way).
I like it in conjunction with madVR's technology because it appears high FPS takes advantage of its superior rendering of single frames and at the same time its smoothing algorithm does not appear to be much needed on high FPS (I'm saying that because it might show its weight on high FPS and it might have to be disabled).
Undead Sega
16th May 2013, 02:02
Hi everyone, I dont know if this has been mentioned before, however (although silly), can nnedi3 be used as a chroma upsampler? :D
DarkSpace
16th May 2013, 02:33
Hi everyone, I dont know if this has been mentioned before, however (although silly), can nnedi3 be used as a chroma upsampler? :D
It has been mentioned in this thread (http://forum.doom9.org/showthread.php?t=145358), and madshi said that it would very likely too resource-hungry for real-time playback (at least as an upscaling algorithm, which I understand to include specific chroma upsampling as well).
eXtremeDevil
16th May 2013, 09:22
I'm trying to use madVR with BSPlayer with I can't get it to work, it never shows up the video... do I need to do anything special? It works fine with MPC-HC with no extra configuration...
FlashGordon
16th May 2013, 22:57
madshi: I have a PAL DVD that exhibits odd behavior regarding primaries selection. If I open the disc and wait until the "Warning" VOB comes up and then skip to the chapter containing the film, the primaries will be detected incorrectly as SMPTE 170M (says upstream). However, if I skip directly to the film before the warning screen pops up, the primaries will be detected properly as EBU (best guess). I can provide a small sample. Let me know if you need it when you have time - shoot me a PM so I don't miss it
karamancho
18th May 2013, 14:43
I understand that lower is better but at which point do rendering times become too high?
e.g. rendering time below X is fine, everything above X is bad.
ryrynz
18th May 2013, 15:20
I understand that lower is better but at which point do rendering times become too high?
Dropped or glitched frames are far more important, do not worry about the rendering time.
karamancho
18th May 2013, 16:05
Dropped or glitched frames are far more important
I get those 1) on the very beginning of playback, 2) when switching to FSE and from FSE to windowed mode and 3) after resuming an paused video.
Rendering times are in 30 - 40 ms range for SD and 20 - 30 ms range for 720p.
ryrynz
18th May 2013, 16:34
Sounds acceptable to me.
tobindac
18th May 2013, 17:58
I'm pretty certain "dropped frames" at the very beginning of a video can be ignored unless you're looking at it from a developer's standpoint.
I guess a beast system may avoid those but it's what happens after the 1st second until the end that matters.
I bind a mouse key to toggle the UI and another to clear its history for this reason.
oddball
19th May 2013, 08:17
I'm frequently getting the error 'creating Direct3D device failed (8876087b)'.
Not always though. Seems to be since I changed to having dual monitors + HDMI connected or perhaps the latest Nvidia driver update.
Buckster
19th May 2013, 15:45
with some content (1080p) - my Render buffer drops to 0 - thus causing dropped frames - yet other its at a more healthy 6+
can I check that the Render buffer is GPU related not CPU related ? (I'm trying to work out where my weak link is)
I've had got set Chroma Upscaling to Jinc3 but have dropped to Spline3 which has reduced no. of instances of the buffer dropping to 0 - but not totally eliminated it
CPU is a E7400 overclocked to about 3.5
GPU is a ATI 5670 overclocked to about 900 core, 512MB GDDR5 VRAM
I'm guessing although the CPU is not great - that its the GPU that is not coping ?
I have "smooth motion" enabled, as MadVR seems to do a better job than my TV does with native 24
thanks for any help
rendering is gpu but normally 1080p is alot faster then 720p or 480p is your tv not 1080p ? did you use dxva ? my 6770 does not enter the high powerstate if dxva is used could be the same with your card too .
Buckster
19th May 2013, 17:06
thanks for reply - I'm not using DXVA (as far as I know)
TV is 1080p and I'm outputting 1080p 60 to the TV
I wonder if its the Smooth Motion causing too much load ?
tobindac
20th May 2013, 01:11
madVR smoothing algorithm is definitely an important extra load. I realized this when I used it along SVP on 1080p (even though on high FPS it's apparently less needed to begin with).
It's interesting that the whole collection of speeding-up options do less than simply turning off madVR's smoothing.
Though something like Jinc 4 on both scaling types might be even heavier.
ryrynz
20th May 2013, 01:35
madVR smoothing algorithm is definitely an important extra load
Depends on how loaded up you already are, by itself it doesn't use many resources at all. SVP can be quite demanding so too with Jinc scaling.
turbojet
20th May 2013, 21:31
I'm frequently getting the error 'creating Direct3D device failed (8876087b)'.
Not always though. Seems to be since I changed to having dual monitors + HDMI connected or perhaps the latest Nvidia driver update.
I had the same problem on a secondary display awhile ago. Turns out nvidia driver update was the culprit. Doing an nvidia clean install fixed it. They need to fix their installer.
JarrettH
20th May 2013, 22:37
I understand that lower is better but at which point do rendering times become too high?
e.g. rendering time below X is fine, everything above X is bad.
I thought I read somewhere that they should be kept under the movie frame interval
tobindac
21st May 2013, 00:19
Is it normal for downscaling to be much more demanding than upscaling on some MPEG-2 1080p/29.97FPS files? Here I can do easily various scaling and other settings of 720p->1600x900 but when it gets to 1080p->1600x900 it becomes much heavier, in a more than exponential manner (think of 20-40% GPU load going to 99%). It doesn't appear to be related to memory use on the GPU since the amount used appears similar. It's not the same on all 1080p. Some are playable. Also I don't know if it's scaling at all that does it or the culprit is somewhere in basic image rendering. Perhaps files with mildly variable or faulty FPS?
karamancho
21st May 2013, 12:52
Whats the default behavior of the presentation queue (FSE mode)? Is it supposed to stay empty all the time?
Oline 61
21st May 2013, 18:17
No, ideally it should be full.
michkrol
21st May 2013, 20:55
Is it normal for downscaling to be much more demanding than upscaling on some MPEG-2 1080p/29.97FPS files? Here I can do easily various scaling and other settings of 720p->1600x900 but when it gets to 1080p->1600x900 it becomes much heavier, in a more than exponential manner (think of 20-40% GPU load going to 99%). It doesn't appear to be related to memory use on the GPU since the amount used appears similar. It's not the same on all 1080p. Some are playable. Also I don't know if it's scaling at all that does it or the culprit is somewhere in basic image rendering. Perhaps files with mildly variable or faulty FPS?
Your first question is a little misleading, since it sounds as if you're up-/down-scaling the same video and get different GPU loads.
The GPU load depends mainly on the size of the source image, size of output image, FPS, and scaling algorithms. Interlaced content also adds to load.
The codec used is also important, since your CPU might not be able to handle it fast enough. With some codecs it might be decoded in hardware (with DXVA/QuickSync/CUVID), which makes them watchable.
Upscaling to some resolution will always be faster than downscaling to given resolution, since you have less input pixels to work with, and the same amount of output pixels. In your case, for 720p vs 1080p, it's ~922k pixels vs ~2074k pixels, so more than twice the number of pixels to process, of course it does not mean twice the load.
As for the core of the problem: for starters try using bilinear scaling (both chroma and image) to check whether it's related to scaling algorithms, also disable smooth motion, if it's on. Also please tell us, which queues are empty, when the problem occurs - press [CTRL] + [J] to show/hide the OSD in madVR.
You mention it happening only on certain 1080p files, do they differ in: codec used? FPS? maybe some are interlaced? Do those files have subtitles? Rarely some malformed subtitles can kill the performance.
Check your CPU load in addition to GPU load. Also please specify what's your hardware (at least CPU and GPU) and software (windows (xp/7/8), player and codecs and whether you use software or hardware decoding). As always try to update your drivers and codecs/player, since it just might be a bug and newer versions are usually better.
tobindac
21st May 2013, 22:03
Unfortunately I don't have the files available here anymore so I can't investigate it thoroughly. I will if it occurs again.
What I can say is that it had embedded and colored subtitles, which might explain it. The codec was MPEG-2 which I doubt was any CPU load. The CPU load was generally very low, even if LAV was instructed to avoid GPU decoding (and of course SVP was disabled). It appears the problem (99% GPU) was somewhere in basic image rendering since it occurred with smoothing disabled and on all types of scaling/downscaling, plus with all performance boost options of madVR and regular GPU memory usage.
The machine is an i7 2630 quad, with an AMD 6570M on 8 64. It can normally play other 1080p even with SVP on, with only madVR's smoothing disabled (not if the FPS is low) (downscaled on monitor). 720p can be normally handled even with smoothing enabled and SVP with Jinc3 chroma and Lanczos 3 image (Jinc 3 both if SVP is off, Jinc4 is its limit). Software versions are new.
karamancho
21st May 2013, 22:29
No, ideally it should be full.
so I guess that's the reason I was getting those presentation glitches.
I have disabled 'present several frames in advance' in rendering>FSE settings and the glitches are gone but the present queue is also gone.
is there a way I can get present queue to work (settings) or is it a HW problem?
Asmodian
21st May 2013, 23:07
I have disabled 'present several frames in advance' in rendering>FSE settings and the glitches are gone but the present queue is also gone.
is there a way I can get present queue to work (settings) or is it a HW problem?
Disabling "present several frames in advance" turns off the present queue, you don't need a queue unless you have more than one frame to put in it.
You need to get your rendering times below the movie frame times so the present queue can fill. I am surprised you don't get dropped frames but also cannot keep the present queue full. Performance wise you must be very close to a lot of dropped frames.
karamancho
21st May 2013, 23:35
You need to get your rendering times below the movie frame times so the present queue can fill. I am surprised you don't get dropped frames but also cannot keep the present queue full. Performance wise you must be very close to a lot of dropped frames.
everything I watch is 23.976 fps
movie frame interval 1/23.976 = 0,0417083750417084 or 41.71 ms
my rendering times are never above 40 ms so they are always below the movie frame interval
yet the present queue was almost always at 0-4/4 (it went to 1-4/4 once every 2-3 minutes)
as I mentioned above I only get dropped frames when switching windowed <-> FSE and when resuming from pause
Asmodian
22nd May 2013, 00:32
Well if it takes you 38ms to render a frame and the movie frame rate is 41.71ms you should be able to fill the present queue with an extra frame every 10.24 frames. This should allow it to hit 4 frames in the queue within two seconds of starting the video. Of course any small delays that might not show up in the rendering+present duration would cause this extra frame to be used, dropping you back to 0 frames in the queue. I believe there are some fast steps that are not captured in the reported rendering+present duration.
I still think you are right on the edge, if you do not fall off that edge everything is fine but that is why you are seeing 0-4/4 in the present queue.
karamancho
22nd May 2013, 01:01
Well if it takes you 38ms to render a frame and the movie frame rate is 41.71ms you should be able to fill the present queue with an extra frame every 10.24 frames. This should allow it to hit 4 frames in the queue within two seconds of starting the video. Of course any small delays that might not show up in the rendering+present duration would cause this extra frame to be used, dropping you back to 0 frames in the queue. I believe there are some fast steps that are not captured in the reported rendering+present duration.
720p videos rendering times go as low as 12 ms yet the present queue is still empty
Vyral
22nd May 2013, 08:01
720p videos rendering times go as low as 12 ms yet the present queue is still empty
Can you post your computer specs ?
Maybe it has something to do with the hardware.
Asmodian
22nd May 2013, 08:35
720p videos rendering times go as low as 12 ms yet the present queue is still empty
Well I have no idea then, I get full present queue (3-4/4). Running Win8 pro x64 with LAV software decoding (i7-3770k) and SLI GTX Titans. 13 ms rendering, 41.7 ms frame interval, and 8.3 ms v-sync.
Soukyuu
22nd May 2013, 15:04
I'm not sure if this has been asked, but would it be possible to port madvr for use with mplayer2 or similar on linux?
cyberbeing
22nd May 2013, 15:55
madVR is heavily Windows based, using Direct3D, DirectShow, DXVA, etc. The best you could hope for is possibly running it in a half-functional state under Wine.
The only portion of madVR code which could likely be ported to OpenGL with minimal modifications is the closed-source D3D shader code. The core renderer and other functionality would likely need to be re-written from scratch to support OpenGL + Linux natively. madshi has previously stated he had no interest in creating an OpenGL-based madVR, even for Windows.
You're best bet would be to continue to encourage development of MPlayer2's GL3 renderer with any features and high-quality processing from madVR you feel it is lacking.
Just noting that wm4 (the creator of the OpenGL3-based video renderer that was at first called 'gl3') forked mplayer2 some time ago together with an earlier developer called divVerent, as they grew tired of the lack of merging of their changes into the project as well as communication with the main developer.
Those wishing to try out the newest version of this renderer are recommended to try out mpv (http://mpv.io/), Windows builds are also available via lachs0r here (http://mpv.srsfckn.biz/). The renderer should now also work with OpenGL2 + certain extensions, and is now called 'opengl', while a more hifist preset is also more easily available under the vo name 'opengl-hq'.
If there is anything lacking on that side, you should note the internals of the wanted feature on either their issue tracker or the IRC channel #mpv-player@freenode.
Niyawa
22nd May 2013, 17:18
madVR doesn't work with wine, I've tried it a few times already but no-go.
On the topic of high quality render (completely unrelated to Windows though), I've been using SMPlayer with elementary OS, and there's a lot of output to chose from. I have x11 and alsa for now, but I want to know if they are or not the highest quality ones, and if not, what output that would be?
kopija
22nd May 2013, 17:41
Related to Linuxland: is there any player that has display refresh rate switching functionaly similar to madvr or mpchc?
I searched, I asked but found nothing.
cyberbeing
22nd May 2013, 18:40
Windows builds are also available via lachs0r here (http://mpv.srsfckn.biz/).
Thanks for the heads-up about this, I've been awaiting someone to regularly begin releasing Win32 MPV builds for quite awhile now. Good to see that lachs0r recently picked this up as recently as last week, after dropping his MPlayer2 win32 builds almost a year ago. In the meantime there has only redxii's MPlayer2 win32 builds, which were a bit lacking feature wise compared to lachs0r's old builds, but he halted those as well a few months ago. Having the most up-to-date and functional version of Libass available for testing and comparisons has always been important for xy-VSFilter development.
truexfan81
22nd May 2013, 18:51
madVR doesn't work with wine, I've tried it a few times already but no-go.
On the topic of high quality render (completely unrelated to Windows though), I've been using SMPlayer with elementary OS, and there's a lot of output to chose from. I have x11 and alsa for now, but I want to know if they are or not the highest quality ones, and if not, what output that would be?
no, gl3 or if using mpv opengl-hq are the high quality ones, if you want full hw decoding use vdpau
Niyawa
22nd May 2013, 22:47
no, gl3 or if using mpv opengl-hq are the high quality ones, if you want full hw decoding use vdpau
I see, thanks.
So, I tried to compile mpv in the terminal but it kept giving me errors every time I'd go for the 'sudo make install'. I just gave up and decided to use gl2 of SMPlayer since I'll be using madVR in Windows for most part anyway.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.