View Full Version : madVR - high quality video renderer (GPU assisted)
Thunderbolt8
22nd August 2011, 15:33
dscaler deinterlacing stuff never really works for me and I always need to run a separate deinterlacing process via ffdshow (ffmpeg or yadif)
nevcairiel
22nd August 2011, 15:46
Is there any chance of having madVR's internal decoder perform IVTC for NTSC DVDs? It seems like it shouldn't be that difficult to force weave deinterlacing and discard unnecessary frames.
NTSC IVTC is not "just weave". A pure weave will produce artifacts. You need to detect which fields to weave together first.
If you do "just weave" with no magic whatsoever, you get this:
http://www.doom9.org/images/Telecine.gif
Frames 3 and 4 will have artifacts. You would need to drop the third 2-field, and the first (or the last) 4-field. Detecting this pattern properly is not as trivial as it may appear.
I do not know if madshi has concrete plans for IVTC, but i've been toying with some test code to implement something like this for a while ..
6233638
22nd August 2011, 16:13
I never heard about this? Why wouldn't they capable? They just excite phosphors as crt-s do.CRTs effectively have infinite gradation because they are analogue and brightness of a pixel varies with voltage.
Plasmas can only turn pixels on or off because they work by creating UV light that excites the phosphor causing it to light up.
The way they create gradation is by flashing the pixels on and off for varying lengths of time, relying on human persistence of vision to create a stable image. (in reality, I actually notice plasmas flickering worse than CRTs)
It gets far more complicated than this, but in essence, because of the digital nature of how the displays are driven, they cannot show smooth gradation and produce very noisy (dithered) images. DLP is similar, though not quite as bad.
NTSC IVTC is not "just weave". A pure weave will produce artifacts. You need to detect which fields to weave together first.
If you do "just weave" with no magic whatsoever, you get this:
http://www.doom9.org/images/Telecine.gif
Frames 3 and 4 will have artifacts. You would need to drop the third 2-field, and the first (or the last) 4-field. Detecting this pattern properly is not as trivial as it may appear.Right, of course. I didn't think it would be too hard to extract the 3:2 sequence (you're really just searching for duplicates, right?) to figure out which fields need discarded and then weave the remaining ones together, but I really wouldn't know. Personally I'd be happy just to hit a keyboard shortcut to set it manually and lock it into place on a per-film basis, but I realise most people wouldn't be up for that.
After solely watching Blu-ray for a while, and going back to watching more DVDs again recently, what has bothered me far more than the loss of resolution (and crappy encodes) has been getting the full resolution out of the disc without combing, aliasing etc. Every time I think I have it sorted, something comes along and I have to spend a while trying to get it to be watchable, or just give up. I have a couple of PAL discs here that just look horrific no matter what I do, and I'm still trying to figure out how to get IVTC to work correctly with NTSC discs as you can see above.
nevcairiel
22nd August 2011, 16:20
Right, of course. I didn't think it would be too hard to extract the 3:2 sequence (you're really just searching for duplicates, right?) to figure out which fields need discarded and then weave the remaining ones together
On a perfect file, sure. But you need to constantly keep checking the pattern, and if a movie starts without much movement, it'll also take you a while until you find the pattern.
If all files were made equal, and perfect, it would be much easier. ;)
Regarding your CUVID result, do you have "Use Inverse Telecine" checked in the NVIDIA properties (under "Adjust Video Image Settings")? The hardware deinterlacer usually does a pretty fine job at IVTC, even when it doesn't decimate the extra frames.
Of course, LAV CUVID should also be set to "Adaptive" deinterlacing.
nlnl
22nd August 2011, 16:36
http://www.filedropper.com/dscalerivtc
Thanks!
I changed the settings for dscaler using this tip http://forum.doom9.org/showpost.php?p=1483477&postcount=16501.
@nevcairiel
Madvr changes display frequency to 23hz if MPC splitter is in chain, but changes to 59 if LAV splitter is in chain
For NTSC film in .ts:
MPC splitter+Dscaler (in IVTC mode)+Madvr (display 23hz) OK
LAV splitter+Dscaler (in IVTC mode)+Madvr (display 59hz) ?
Xaurus
22nd August 2011, 16:48
I never heard about this? Why wouldn't they capable? They just excite phosphors as crt-s do.
Sounds strange to me as well. In any case, the TV series in question aren't of great quality. And I have no issues with banding on much material, especially 1080p material.
With that said, I strictly run HD material and never any SD.
Of course, if my budge would allow it a high-end LCD TV would
be a consideration, but I still believe I made a great buy with
the LG Plasma (I've had a Pioneer KURO before).
Right now, the problem with good LCDs in the +60" range are that they are too costly for my taste.
6233638
22nd August 2011, 17:10
On a perfect file, sure. But you need to constantly keep checking the pattern, and if a movie starts without much movement, it'll also take you a while until you find the pattern.
If all files were made equal, and perfect, it would be much easier. ;)True enough. That's why I'd personally rather spend five seconds hitting a keyboard shortcut to pick the correct sequence myself (should be easy enough to spot on opening credits) and have it "locked in" for the remainder of the film.
Regarding your CUVID result, do you have "Use Inverse Telecine" checked in the NVIDIA properties (under "Adjust Video Image Settings")? The hardware deinterlacer usually does a pretty fine job at IVTC, even when it doesn't decimate the extra frames.
Of course, LAV CUVID should also be set to "Adaptive" deinterlacing.I have IVTC enabled, but set CUVID to weave. Setting it to adaptive doesn't help, and I've tried changing the field order as well.
I'm quite sure it's the source at fault, rather than anything being done wrong by CUVID, but it's just so frustrating when you have to swap between different deinterlacers and switch algorithms to get some films working correctly when really, everything film-based should just be weaved together. (it's just a matter of figuring out how they should be weaved)
I have a feeling that the setting I used with ffdshow (linear blending) is halving the resolution, and it's playing back at 29.97, but that's the only way the film was watchable without severe aliasing/combing. (even if it meant putting up with 3:2 judder)
Razoola
22nd August 2011, 17:11
Sounds strange to me as well. In any case, the TV series in question aren't of great quality. And I have no issues with banding on much material, especially 1080p material.
With that said, I strictly run HD material and never any SD.
Of course, if my budge would allow it a high-end LCD TV would
be a consideration, but I still believe I made a great buy with
the LG Plasma (I've had a Pioneer KURO before).
Right now, the problem with good LCDs in the +60" range are that they are too costly for my taste.
In essence what 6233638 is correct, plasmas are more prone to banding and use dithering because they cannot make the colors top line LCD panels can. That said there are many other advantages to plasma that make me the opposite to 6223638 with regards owning one, in fact its limitations of LCD that make me not want to own one. Thankfully for the time being both LCD and plasma tech are living side by side... Lets hope that continues for many years to come to give us consumers choice.
yesgrey
22nd August 2011, 17:31
I've created a thread for it (plus added more features)
Yes, but some people might miss it, so it would be a good idea to post about it (and the link) on yCMS thread.
Jtacdf
22nd August 2011, 17:56
Hi, here's my experience of the 10% increase bug. I first open windows task manager, then a 720p file in mpc-hc with ffdshow avisynth disabled .
Testing evr-cp and madvr 0.74 in that following order, both reported 0% cpu usage in manager when paused at roughly similar frame.
EVR-CP - 0%
http://i197.photobucket.com/albums/aa315/Jtacdf/MPC-HC%20samples/evr-cp0.png
madvr 0.74 - 0%
http://i197.photobucket.com/albums/aa315/Jtacdf/MPC-HC%20samples/madvr0740.jpg
After closing both file and manager but not mpc-hc, I reopen the same file first then execute ctrl+alt+del to open manager. Interestingly, it reported 10% cpu usage.
madvr 0.74 - 10%
http://i197.photobucket.com/albums/aa315/Jtacdf/MPC-HC%20samples/madvr07410.jpg
I'm curious to know if you guys/gals can replicate something similar.
madshi
22nd August 2011, 18:37
Ahhh so I've input what my display supprts in madvr and set a custom resolution to 59hz, but I'm wondering why it chose 29hz interlaced when playing back cartoons? Old Disney stuff, Futurama, etc. I'm not saying it's a problem, just why it seems to be tied with animation.
I'm a little confused...is it better to input supported refresh rates in madvr? I say this because the 59hz option in the screen resolution drop-down is actually 59.940 reported by madvr. madvr itself will never use 59.940 when I've tested
Not enough information for me to say anything. What format does the movie file have exactly and which modes did you tell madVR to use exactly? A log file might help, if you think madVR picks a wrong mode / refresh rate.
Because it's often wrong, I guess. It's wrong for badly encoded files and it's wrong when a filter changes the frame rate (e.g. IVTC filter).
Ok, but how does it help Reclock to create a temporary graph with the default decoder? Does Reclock decode the first e.g. 100 frames and looks at the timestamps or what? Sounds weird to me, because doing such a thing should slow down playback start quite noticeably!
ReClock needs to know the actual frame rate of the video in order to make decisions (like, for example, speeding up 23.97 to 24.00). So it needs to be notified if the frame rate changes in VFR content.
I thought the framerate could change every second in VFR content? Wouldn't Reclock then simply calculate the average VFR framerate? Or does the framerate stay constant for certain periods with VFR content? To be honest, I don't have any experience with VFR content.
Don't know if you missed it because you haven't commented on it, but could you add an option to only use the refresh rate changer in fullscreen mode?
Has been asked by multiple people already, it's on my (very long) list of things to eventually look at.
righty! so here's a log
Will look at it later.
I know, merely stating that "optimization" wasn't the best word in this case
I was mainly talking about higher CPU consumption during playback. I do consider high CPU consumption in paused state as a bug. I'm not convinced that it's the same problem that's driving CPU consumption higher during playback.
Always the fucking drivers.
Yeah, GPU drivers are by far the biggest problem in the HTPC world.
But playing Hi10P is a different story. A 10 Mbit/s 1080p Hi10P file uses ~60-70% CPU under Nvidia and 90-100% CPU (including lags) under Intel.
Why is that so? Does madVR need more resources under Hi10P?
Maybe NVidia is more efficient for uploading high bitdepth textures to GPU memory. I don't know.
I have (similar?) problem (http://firepic.org/images/2011-08/b1nfcj8o52ahlgrj0ix6pa5yk.png) with 60p playback.
Similar to what? If you refer to another post, please quote that post because otherwise I've no clue what you're talking about. Please describe in words what problem you have exactly.
It looks like the new rendering path from v0.50 seems to be responsible for the increased CPU load on my system:
Renderer: CPU load when paused:
madVR
v0.49 ~1-2%
v0.50 (old path) ~1-2%
v0.50 (new path) ~6-7%
v0.74 ~6-7%
EVR ~1%
EVR CP ~5%
Interesting. Are the CPU load numbers from fullscreen exclusive mode? How is CPU consumption in windowed mode?
Judging by the fluid video and by what reclock says madVR is receiving 50fps. The thing I don't understand is madVR's OSD says the video is 25.000 fps. Note that even when watching a DVD with PAL speeddown activated in reclock, madVR's OSD sees 25.000 fps (when it should see 24).
The madVR OSD simply states what the upstream filter tells madVR. If the information in the madVR OSD is wrong, then that's not madVR's fault. If you double the framerate or use Reclock to modify the framerate then ideally the frame doubler or Reclock should modify the media type information, but they don't seem to do that, which I consider buggy behaviour.
Do you have any plans for IVTC (1080(480)i/59 --> p/23) and hardware deinterlacing for pure video content?
I do not know if madshi has concrete plans for IVTC
I do plan to look into deinterlacing. Actually it's quite on top of my list. However, I don't have much time for madVR at the moment, so it will probably be some weeks before I even start looking into this.
Is there any chance of having madVR's internal decoder perform IVTC for NTSC DVDs?
Maybe. If I do implement something it's going to work for both internal and external decoders.
I seem to have DScaler configured correctly now (thanks to Graphstudio - the configuration box crashes current builds of MPC-HC) and it is showing 23.976 correctly with DVDs now.
However, chroma is a mess
Can I have a sample with which I can reproduce the blocky chroma, when using the DScaler IVTC Mod?
Right, of course. I didn't think it would be too hard to extract the 3:2 sequence (you're really just searching for duplicates, right?) to figure out which fields need discarded and then weave the remaining ones together, but I really wouldn't know. Personally I'd be happy just to hit a keyboard shortcut to set it manually and lock it into place on a per-film basis, but I realise most people wouldn't be up for that.
True enough. That's why I'd personally rather spend five seconds hitting a keyboard shortcut to pick the correct sequence myself (should be easy enough to spot on opening credits) and have it "locked in" for the remainder of the film.
For NTSC stuff it shouldn't be too hard. However, it's not a piece of cake, either. Just picking a pattern via keyboard shortcut isn't going to work because there can be lots of bad edits (= changing patterns) in the movie, and you surely don't want to manually correct the pattern all the time in the middle of movie playback, do you?
Furthermore, with PAL movies there are no duplicate fields stored at all. For those doing proper IVTC is much more difficult than for NTSC movies. Especially if you want to avoid accidently classifying native video content as film content.
I have IVTC enabled, but set CUVID to weave. Setting it to adaptive doesn't help, and I've tried changing the field order as well.
I'm quite sure it's the source at fault, rather than anything being done wrong by CUVID, but it's just so frustrating when you have to swap between different deinterlacers and switch algorithms to get some films working correctly when really, everything film-based should just be weaved together. (it's just a matter of figuring out how they should be weaved)
I have a feeling that the setting I used with ffdshow (linear blending) is halving the resolution, and it's playing back at 29.97, but that's the only way the film was watchable without severe aliasing/combing. (even if it meant putting up with 3:2 judder)
It would be extremely helpful if you could collect and upload a number of samples which you have problems with, so nevcairiel and I have some difficult material to test with.
After closing both file and manager but not mpc-hc, I reopen the same file first then execute ctrl+alt+del to open manager. Interestingly, it reported 10% cpu usage.
Is that 100% reproducable? If so, does it also happen if you start the task manager by pressing Ctrl+Shift+ESC instead of using Ctrl+Alt+Del?
Jtacdf
22nd August 2011, 18:51
@madshi
I've just tried what you asked. Ctrl+Shift+ESC does not produce that 10% bug at all. The Ctrl+Alt+Del method does produce it 100% for me.
This is all very weird to me.
6233638
22nd August 2011, 19:06
Can I have a sample with which I can reproduce the blocky chroma, when using the DScaler IVTC Mod?Looking back on it, it may just be a deinterlacing issue rather than chroma.
I will happily put up a couple of samples, though I don't know how to do that with DVD. I know MakeMKV will strip out the film and put it into a MKV container without re-encoding it, but I don't know how to cut out a 5-10 second sample without re-encoding.
For NTSC stuff it shouldn't be too hard. However, it's not a piece of cake, either.Sorry, I didn't meant to imply that it was.
Just picking a pattern via keyboard shortcut isn't going to work because there can be lots of bad edits (= changing patterns) in the movie, and you surely don't want to manually correct the pattern all the time in the middle of movie playback, do you?I hadn't considered that. With film sources, I did not expect that to be an issue.
Furthermore, with PAL movies there are no duplicate fields stored at all. For those doing proper IVTC is much more difficult than for NTSC movies. Especially if you want to avoid accidently classifying native video content as film content.Personally, I only watch film (or progressive-sourced content) so it wouldn't be an issue; in fact I actually had to buy a DVDO box for broadcast content to force film deinterlacing a few years back as I couldn't find any television or processor out there that did a good job of PAL cadence detection. (even the Lumagen Radiance had issues) If the television had the option, it was actually best to disable their film detection, it was so bad.
madshi
22nd August 2011, 19:20
I've just tried what you asked. Ctrl+Shift+ESC does not produce that 10% bug at all. The Ctrl+Alt+Del method does produce it 100% for me.
This is all very weird to me.
I'll check this later, maybe I can reproduce it.
I will happily put up a couple of samples, though I don't know how to do that with DVD. I know MakeMKV will strip out the film and put it into a MKV container without re-encoding it, but I don't know how to cut out a 5-10 second sample without re-encoding.
I don't have any tool at hand for cutting VOB files, but a google search for "cut vob files" turns up tons of freeware which claims to be able to do it. If all else fails, you could probably remux to TS with tsremux, and then cut the TS file.
Thunderbolt8
22nd August 2011, 19:21
I will happily put up a couple of samples, though I don't know how to do that with DVD. I know MakeMKV will strip out the film and put it into a MKV container without re-encoding it, but I don't know how to cut out a 5-10 second sample without re-encoding.try loading the .mkv into mkvmerge and then use the split function (wont be presice down to 5 seconds, sometimes, but nevertheless should work)
e-t172
22nd August 2011, 20:20
I hadn't considered that. With film sources, I did not expect that to be an issue.
You need to realize that although IVTC sounds easy on paper, it is quite hard to really get right in practice. You wouldn't believe how insane content producers can be. For example CBS 1080i HDTV broadcasts are a complete nightmare to IVTC (I like to think about CBS captures as "torture tests" for my IVTC filter). I'm sure there is plenty of DVDs out there with completely unstable patterns as well.
Recently Matching_Mole sent me a sample of a telecined Bluray. Yes, a TELECINED BLURAY. I mean, come on guys. Who in his right mind would do that? Is it drug abuse or just pure sadism?
nevcairiel
22nd August 2011, 20:24
Since madVR 0.74, madVR seems to keep a reference on the video decoder in the graph, causing it to not destruct properly (maybe also other components? Couldn't easily confirm)
In my case, this causes LAV Video to never free its internal memory buffers, and when decoding 1920x1080 4:4:4 10bit, leaking around 1Gb of memory.
I've now moved the memory free to an earlier point in the destruction process for LAV Video, but still, this is a bug in madVR, and can easily be reproduced.
vivan
22nd August 2011, 20:36
Similar to what?This. (http://forum.doom9.org/showpost.php?p=1520962&postcount=9379)
Please describe in words what problem you have exactly.Lot of dropped frames on any 60 (and 59.94) fps video at any resolution (even on 704x396 video at it native resolution).
That happens if madVR does any colorspace conversion (e.g. YV12 -> RGB32). The only way to avoid it - let ffdshow to convert video to RGB32.
And the only empty queue is backbuffer queue...
6233638
22nd August 2011, 20:37
I don't have any tool at hand for cutting VOB files, but a google search for "cut vob files" turns up tons of freeware which claims to be able to do it. If all else fails, you could probably remux to TS with tsremux, and then cut the TS file.I used DGIndex to demux the video and make a couple of samples... I hope they work OK. (the PAL one is to show a film that's been giving me a lot of trouble deinterlacing it)
http://www.filedropper.com/samples_2
STaRGaZeR
22nd August 2011, 20:40
Using 0.74 (configured to output PC levels) with RGB32 input leads to wrong levels (double expansion) in some files when ffdshow is used as decoder. RGB32 output from LAV Video is also wrong of course. Putting ffdshow after LAV is a lottery. Will you ever add an option to don't touch levels like you have done with gamma processing or will I be forever stuck with pre 0.68 versions + setting wrong output levels in madVR so it doesn't touch the levels when it feels like doing so? :p
madshi
22nd August 2011, 20:54
You wouldn't believe how insane content producers can be. For example CBS 1080i HDTV broadcasts are a complete nightmare to IVTC (I like to think about CBS captures as "torture tests" for my IVTC filter). I'm sure there is plenty of DVDs out there with completely unstable patterns as well.
Do you happen to have a collection of difficult to deinterlace samples you could share, too?
Since madVR 0.74, madVR seems to keep a reference on the video decoder in the graph, causing it to not destruct properly
Will fix this in the next build.
Lot of dropped frames on any 60 (and 59.94) fps video at any resolution (even on 704x396 video at it native resolution).
That happens if madVR does any colorspace conversion (e.g. YV12 -> RGB32). The only way to avoid it - let ffdshow to convert video to RGB32.
And the only empty queue is backbuffer queue...
Is this in windowed or fullscreen mode or both?
I used DGIndex to demux the video and make a couple of samples... I hope they work OK. (the PAL one is to show a film that's been giving me a lot of trouble deinterlacing it)
Thanks! If you run across further difficult to deinterlace samples, please share. It will help with future development.
Using 0.74 (configured to output PC levels) with RGB32 input leads to wrong levels (double expansion) in some files when ffdshow is used as decoder. RGB32 output from LAV Video is also wrong of course. Putting ffdshow after LAV is a lottery.
How can I reproduce this? Samples?
Will you ever add an option to don't touch levels
No, because I consider that wrong behaviour. Let's instead work on fixing the bugs. In the end that should have the same net result for you.
Matching_Mole
22nd August 2011, 22:16
Recently Matching_Mole sent me a sample of a telecined Bluray. Yes, a TELECINED BLURAY. I mean, come on guys. Who in his right mind would do that? Is it drug abuse or just pure sadism?
I confirm that :p Currently I own 5 telecined blu-ray, all coming from Japan. I already noticed that the companies of this country love a lot release telecined DVD and now Blu-ray. Almost all my telecined material comes from them...
And I really want to thank you e-t172 because your filter do really magic with these material. I looked one of the telecined blu-ray using your filter and this was perfect!
nevcairiel
22nd August 2011, 22:19
Until a few days ago i would've firmly argued that Telecine on Blu-rays is not allowed, or if it is only in SD resolutions.
I mean, they do allow 1920x1080 29.97 interlaced, but seriously, isn't that supposed to be real interlacing, not telecine? :(
sToN3d
22nd August 2011, 22:27
Interesting. Are the CPU load numbers from fullscreen exclusive mode? How is CPU consumption in windowed mode?
All tests were done in windowed mode with default settings. For regular playback I don't use the exclusive mode at all but I can do some more tests if you want.
e-t172
22nd August 2011, 22:32
Until a few days ago i would've firmly argued that Telecine on Blu-rays is not allowed, or if it is only in SD resolutions.
I'm not sure it's explicitly forbidden. I mean, those who make the rules probably thought that since Bluray fully supports 24p, nobody would even glance at the idea of using 3:2 pulldown on it. It seems they didn't account for some LSD-driven Japanese companies.
madshi
22nd August 2011, 22:35
All tests were done in windowed mode with default settings. For regular playback I don't use the exclusive mode at all but I can do some more tests if you want.
The reason I asked was that the difference between the "old" and "new" rendering path only applies to fullscreen exclusive mode. If you look at the v0.50 changelog, it explicitly says: "added new exclusive mode rendering path". So if you tested in windowed mode, there shouldn't really be any difference between the "old" and "new" rendering path.
vivan
22nd August 2011, 22:44
Is this in windowed or fullscreen mode or both?Both.
Zed86
22nd August 2011, 23:13
Hello there,
thanks for this great renderer, I appreciate the constant updates.
I have a couple of questions though:
- Would someone tell me please how should I install a newer version, should I uninstall and delete the previous one or should I install over it?
- What's the benefit of full screen "exclusive mode"? (I haven't noticed any difference)
- Can I disable that gray or black OSD time-stamp that comes up when seeking? I would like to have the player own OSD time-stamp (Potplayer) this is the ONLY annoying feature for madVR for me..
MS Windows Vista Home Premium 64-bit SP2, 1024MB Nvidia GeForce 9600M GT, 4GB DDR3 RAM
I would appreciate any help, thanks!
Superb
22nd August 2011, 23:37
Alright... Here's a new small bug report (madVR 0.74). It has to do w/ a secondary monitor scenario.
I got two 1080p monitors connected to this computer:
A. LG 2486L. Running at 60Hz. Connected via DVI.
B. LG TV. Running at 50Hz. Connected via HDMI.
Screen B extends screen A to the right. A is the default.
Now, when trying to play any video (in this example I've used a 25fps-xvid-mp3-avi file) and doing the following:
1. Start playing the video on screen A. Windowed mode. (double clicking the file; using MPC-HC for playback).
2. Switching to exclusive mode on screen A. (double click the renderer in MPC-HC)
3. Going back to windowed mode on screen A. (double click the renderer in MPC-HC)
4. Dragging the mpc-hc window to screen B.
5. Switching to exclusive mode on screen B. (double click the renderer in MPC-HC)
On step 5 I have the video freezing sometimes.
Sometimes it plays right away. Sometimes it freezes and then plays after a few seconds. On other times it's stuck on the last frame which windowed mode showed.
Audio is fine in all cases. Keeps on playing.
Even if it stuck, I can still double click the renderer and then it switches to windowed mode (on screen B), where video plays well.
All default madVR settings, except for mode switching on screen B ("1080p23, 1080p24, 1080p50") which doesn't apply in this playback scenario (25fps on 50Hz)
I managed to create a log (it's quite big, although it's only a few seconds of playback): http://www.sendspace.com/file/1civav
My guess: some thread racing issue.
EDIT: forgot to mention that I just upgraded from 0.66 to 0.74. I reset the settings before installing the new version. Problem happened w/ both versions.
EDIT 2: if I skip steps 2+3 (=simply open the file in windowed mode on screen A, drag it to screen B, and then double click to go to exclusive mode on B), the video never freezes.
EDIT 3: here's another log (http://www.sendspace.com/file/ax83ps). shorter. this time I paused the video when in exclusive on screen A. then switched to windowed, dragged to B, switched to exclusive on B, and still had the freeze. Different file this time. 23.976fps-xvid-mp3-avi, so mode switching did its job.
sToN3d
23rd August 2011, 00:00
The reason I asked was that the difference between the "old" and "new" rendering path only applies to fullscreen exclusive mode. If you look at the v0.50 changelog, it explicitly says: "added new exclusive mode rendering path". So if you tested in windowed mode, there shouldn't really be any difference between the "old" and "new" rendering path.
Yeah, that seems kinda odd. Though, I just tested it again and it's 100% reproducible. In windowed mode with 'use old rendering path' enabled and everything else at default the CPU load is back to 'normal' with 1-2% when paused. Another strange thing is that when I disable the exclusive mode completely the load goes up to 6-7% again.
STaRGaZeR
23rd August 2011, 00:27
I confirm that :p Currently I own 5 telecined blu-ray, all coming from Japan. I already noticed that the companies of this country love a lot release telecined DVD and now Blu-ray. Almost all my telecined material comes from them...
Got a sample?
How can I reproduce this? Samples?
Play this clip (http://www.mediafire.com/?k5cxvct47z5t19y) for example, got more if you want them. ffdshow configured as: YUV spec auto, input levels auto (or standard, it's the same), output levels PC. LAV Video is wrong with any sample. When playing fraps recorded files "AVI Decompressor (FPS1)" outputs RGB32 and connects with madVR, but the screen is black.
No, because I consider that wrong behaviour. Let's instead work on fixing the bugs. In the end that should have the same net result for you.
Oh that would be nice, but you will never fix this I'm afraid (prove me wrong). You already know what the "bugs" are. Don't concentrate on ffdshow, what you do with it now is a hack and it doesn't even work correctly. This affects all RGB outputting filters. RGB input just doesn't work properly on madVR because it makes wrong asumptions about the levels. And in all honestly, I don't feel like wasting more time on this (remember this is not the first time we talk about this) when a better, proven and correct (even if you say otherwise) option is available, I think all the cards are already on the table. No need to reinvent the wheel. The mere fact that you have to mess with everything that is passed to your renderer is just wrong.
Just tell me how to get untouched RGB with madVR like I do with every other renderer on earth and I'm set. I'm not the first and won't be the last one to request this simple behavior. If I can't I'll go back to EVR, which properly deals with RGB, no problem.
QBhd
23rd August 2011, 02:22
@Superb:
Why don't you try PotPlayer (or KMPlayer) and utilize the most awesome feature ever, i.e. that you can tell the player which monitor to go to Full Screen on. I have a 20" LCD monitor and a 42" Plasma and this is one of the best features I have seen on any player. I leave the player on my monitor screen when adding to the playlist or changing settings etc... but soon as I hit play (which goes to FS automatically) the playback window pops over to my TV and I can sit on the couch and use the remote :)
@madshi:
Sorry for not giving the details you asked for, I do have some more info which I have posted here:
madVR - 60fps Playback issues (http://forum.doom9.org/showthread.php?t=162318)
QB
Superb
23rd August 2011, 03:50
@QBhd:
I thought about trying PotPlayer. Looks quite nice.
The thing is... MPC-HC works very well for all my playback scenarios (most require the internal subtitle renderer).
The bug I wrote about has nothing to do w/ the player itself, and I do have a workaround (don't put madVR exclusive on screen A before going exclusive on screen B).
I'm just hoping madshi will be able to find the issue and solve it using the logs. :)
Btw, I think MPC-HC also has a similar "pick a monitor" feature in its settings (under Playback -> Fullscreen). Might not be as robust, but it should serve as another workaround.
Thanks for the suggestion!
Seegs108
23rd August 2011, 04:36
Okay, I'm using MadVR v0.74. I notice that when I use it in conjunction with MPC-HC and the latest version of FFDShow when I try to open a videoon or drag it to my portrait monitor MPC-HC freezes and forces me to end the process in the Task Manager (windows 7 and amd 6950 if that matters). Here's how it's set up:
http://img683.imageshack.us/img683/7114/madvr.png
Everything works fine when switching to EVR Custom. I don't know if there is something wrong on my end but it seems that this version has an issue rendering a file on a portrait set display.
Anyone else have this issue?
Fadeout
23rd August 2011, 06:16
What's the problem if one gets lots of presentation glitches in full screen exclusive, while the other queues seem to stay full?
Wile-E-Coyote
23rd August 2011, 07:54
The madVR OSD simply states what the upstream filter tells madVR. If the information in the madVR OSD is wrong, then that's not madVR's fault. If you double the framerate or use Reclock to modify the framerate then ideally the frame doubler or Reclock should modify the media type information, but they don't seem to do that, which I consider buggy behaviour.
To clarify, the framerate is doubled by ffdshow for interlaced DVDs only (yadif filter), and reclock does not change the framerate at all in this case.
I just tried the same content with EVR Custom Pres. and then VMR-9, both of them report in the OSD receiving 50 fps.
madshi
23rd August 2011, 08:42
Both.
Your GPU and CPU should be plenty fast enough to do 60fps without any problems. Which decoder are you using? Please make sure you have antialiasing, anisotropic filtering etc turned off or set to application preference.
- Would someone tell me please how should I install a newer version, should I uninstall and delete the previous one or should I install over it?
You can just overwrite the files. No uninstall/install needed in most cases. If you want to be sure you can click on uninstall before overwriting the files, and then on install after overwriting the files. In any case, no need to delete the old files.
- What's the benefit of full screen "exclusive mode"? (I haven't noticed any difference)
No tearing. Better performance. More stability/reliability. If you have a perfect experience in windowed mode then of course it's worth a thought disabling the exclusive mode, because it comes with some user interface disadvantages.
- Can I disable that gray or black OSD time-stamp that comes up when seeking? I would like to have the player own OSD time-stamp (Potplayer) this is the ONLY annoying feature for madVR for me..
madVR does not show an OSD when seeking, unless the media player asks for that. You may have to talk to the Potplayer developer about this.
Alright... Here's a new small bug report (madVR 0.74). It has to do w/ a secondary monitor scenario.
I got two 1080p monitors connected to this computer:
A. LG 2486L. Running at 60Hz. Connected via DVI.
B. LG TV. Running at 50Hz. Connected via HDMI.
Screen B extends screen A to the right. A is the default.
Now, when trying to play any video (in this example I've used a 25fps-xvid-mp3-avi file) and doing the following:
1. Start playing the video on screen A. Windowed mode. (double clicking the file; using MPC-HC for playback).
2. Switching to exclusive mode on screen A. (double click the renderer in MPC-HC)
3. Going back to windowed mode on screen A. (double click the renderer in MPC-HC)
4. Dragging the mpc-hc window to screen B.
5. Switching to exclusive mode on screen B. (double click the renderer in MPC-HC)
On step 5 I have the video freezing sometimes.
Sometimes it plays right away. Sometimes it freezes and then plays after a few seconds. On other times it's stuck on the last frame which windowed mode showed.
Audio is fine in all cases. Keeps on playing.
Even if it stuck, I can still double click the renderer and then it switches to windowed mode (on screen B), where video plays well.
All default madVR settings, except for mode switching on screen B ("1080p23, 1080p24, 1080p50") which doesn't apply in this playback scenario (25fps on 50Hz)
I managed to create a log (it's quite big, although it's only a few seconds of playback): http://www.sendspace.com/file/1civav
My guess: some thread racing issue.
EDIT: forgot to mention that I just upgraded from 0.66 to 0.74. I reset the settings before installing the new version. Problem happened w/ both versions.
EDIT 2: if I skip steps 2+3 (=simply open the file in windowed mode on screen A, drag it to screen B, and then double click to go to exclusive mode on B), the video never freezes.
EDIT 3: here's another log (http://www.sendspace.com/file/ax83ps). shorter. this time I paused the video when in exclusive on screen A. then switched to windowed, dragged to B, switched to exclusive on B, and still had the freeze. Different file this time. 23.976fps-xvid-mp3-avi, so mode switching did its job.
Thanks, will look at this later.
Yeah, that seems kinda odd. Though, I just tested it again and it's 100% reproducible. In windowed mode with 'use old rendering path' enabled and everything else at default the CPU load is back to 'normal' with 1-2% when paused. Another strange thing is that when I disable the exclusive mode completely the load goes up to 6-7% again.
Weird. I'll see if I can reproduce this.
Play this clip (http://www.mediafire.com/?k5cxvct47z5t19y) for example, got more if you want them. ffdshow configured as: YUV spec auto, input levels auto (or standard, it's the same), output levels PC. LAV Video is wrong with any sample.
Thanks for the sample. Hmmmm... How can I reproduce the "wrong" output? And what is wrong and what is right with this sample? Is it supposed to be full range? According to the h264 bitstream headers, this video is limited range (16-235).
When playing fraps recorded files "AVI Decompressor (FPS1)" outputs RGB32 and connects with madVR, but the screen is black.
But the sample you uploaded is MKV, not AVI. And it seems to be straight h264, not Fraps?
Oh that would be nice, but you will never fix this I'm afraid (prove me wrong). You already know what the "bugs" are. Don't concentrate on ffdshow, what you do with it now is a hack and it doesn't even work correctly.
Then please provide me with samples that show that it doesn't work correctly.
RGB input just doesn't work properly on madVR because it makes wrong asumptions about the levels.
I'm aware of that the current solution may not be perfect in all situations. But IMHO the problems would be bigger if I left RGB untouched. Neither solution is perfect, but for the average user I think mine is a lot better.
I'm not the first and won't be the last one to request this simple behavior.
Actually, I'm not aware of anyone else right now who shares your wish. leeperry originally did, but after some discussion he agreed that while untouched RGB would be better for his specific setup, madVR's logic is better for the general case. Furthermore, reading his last posts, he seems to be quite happy with how v0.74 behaves.
If I can't I'll go back to EVR, which properly deals with RGB, no problem.
You can force madVR into doing what you want by doing this:
(1) create an empty file "force full range input" in the madVR root folder
(2) set your monitor to PC levels in the madVR settings dialog
I don't really recommend this approach, though. And I'd really like working on fixing whatever bugs might be left in v0.74's autodetection feature. So if you have any more samples which you find problematic with v0.74, please share, along with a description of how it goes wrong exactly. Thanks.
Okay, I'm using MadVR v0.74. I notice that when I use it in conjunction with MPC-HC and the latest version of FFDShow when I try to open a videoon or drag it to my portrait monitor MPC-HC freezes and forces me to end the process in the Task Manager (windows 7 and amd 6950 if that matters).
Can anybody reproduce this?
Maybe a log would help?
What's the problem if one gets lots of presentation glitches in full screen exclusive, while the other queues seem to stay full?
Do you happen to be an NVidia user? What is your monitor refresh rate and what is the movie frame rate?
To clarify, the framerate is doubled by ffdshow for interlaced DVDs only (yadif filter), and reclock does not change the framerate at all in this case.
I just tried the same content with EVR Custom Pres. and then VMR-9, both of them report in the OSD receiving 50 fps.
I think VMR9 and EVR CP are counting the incoming frames and show that. madVR instead simply shows what the upstream filter (usually the decoder) reports. You can double check this with MPC-HC by looking at the pin media type information. An AvgTimePerFrame value of 400000 means 25p or 50i. An AvgTimePerFrame value of 200000 means 50p. It seems that ffdshow doesn't update the AvgTimePerFrame information when doing frame doubling, which I consider a bug.
Audionut
23rd August 2011, 08:48
Do you happen to be an NVidia user? What is your monitor refresh rate and what is the movie frame rate?
I've recently noticed the same thing.
I am a Nvidia user with a refresh rate of 60hz playing 23.976fps content.
nevcairiel
23rd August 2011, 09:05
Play this clip (http://www.mediafire.com/?k5cxvct47z5t19y) for example, got more if you want them. ffdshow configured as: YUV spec auto, input levels auto (or standard, it's the same), output levels PC. LAV Video is wrong with any sample.
LAV Videos current RGB converter will not modify levels (at least its not supposed to, it might be a bug if it is). If input is limited-range YUV, its supposed to output limited range RGB.
The new RGB converter i'm planning will offer an option for you to force TV or PC levels, but default to the same logic as its now, not doing any level conversions (which i think is the best way to interface with madVR)
sToN3d
23rd August 2011, 09:56
Weird. I'll see if I can reproduce this.
Thank you for looking into it. Feel free to PM me if you have any additional questions.
mzso
23rd August 2011, 12:42
So the decoder = CPU is not the problem. The problem seems to be caused by the GPU *sometimes* not being able to render the frames fast enough. The big question is why. Can you try fixing your GPU clocks with a GPU tweak utility? It's possible that your GPU throttles down because it thinks it doesn't need full clock, and then madVR runs into trouble.
So, I watched the GPU clock with GPU-Z and it seemed constant at 796 MHz (don't know why it isn't 800 as shown in catalyst though...) all the time. So I guess it isn't downthrottling.
Could the GPU memory size be a problem? Or what else?
Its also suspicious to me that the GPU usage graph (in process explorer) never goes above ~15% if the GPU would lack the power wouldn't it be much higher?
No tearing. Better performance. More stability/reliability. If you have a perfect experience in windowed mode then of course it's worth a thought disabling the exclusive mode, because it comes with some user interface disadvantages.
Why is there (can be) tearing in windowed mode, compared to exclusive? Also does exclusive means what it implies, that other programs can't use the GPU at all?
Wile-E-Coyote
23rd August 2011, 13:43
I think VMR9 and EVR CP are counting the incoming frames and show that. madVR instead simply shows what the upstream filter (usually the decoder) reports. You can double check this with MPC-HC by looking at the pin media type information. An AvgTimePerFrame value of 400000 means 25p or 50i. An AvgTimePerFrame value of 200000 means 50p. It seems that ffdshow doesn't update the AvgTimePerFrame information when doing frame doubling, which I consider a bug.
You're right, the pin information on ffdshow output reports 400000 AvgTimePerFrame.
You say 400000 means 25p or 50i. Is madVR able to make the difference between progressive and interlaced content? I just tried activating the ffdshow setting "Set interlaced flag in output media type". Reclock sees the difference, but madVR doesn't.
STaRGaZeR
23rd August 2011, 15:08
Thanks for the sample. Hmmmm... How can I reproduce the "wrong" output? And what is wrong and what is right with this sample? Is it supposed to be full range? According to the h264 bitstream headers, this video is limited range (16-235).
Told you how. The sample is limited range. When ffdshow or LAVV output converted full range RGB madVR still thinks it is limited range, and it double expands. Other videos work fine.
But the sample you uploaded is MKV, not AVI. And it seems to be straight h264, not Fraps?
Yep, that is a different issue, should have separated it. Want a fraps sample?
I'm aware of that the current solution may not be perfect in all situations. But IMHO the problems would be bigger if I left RGB untouched. Neither solution is perfect, but for the average user I think mine is a lot better
If you know that, and that's the key here, then offer option(s) so we can bypass the limitations. You are right when you say that neither is fully correct. But for the average user, who comes from EVR and other shit I think yours is worse because things won't work like they did before (and they do work there, because RGB is like the holy grail, it bypasses all the postprocessing and crap drivers do). Besides, we here are not average users. I can't believe you offer options to configure a lot of uber minor things and you are so frontal against something so simple as levels, which are one of the most common problems out there.
I don't really recommend this approach, though. And I'd really like working on fixing whatever bugs might be left in v0.74's autodetection feature. So if you have any more samples which you find problematic with v0.74, please share, along with a description of how it goes wrong exactly. Thanks.
As I said, I'm sorry but I won't spend my limited time in something that I know it will never work fine. If you want to autodetect everything, go ahead and do it, just offer options like you do with gamma processing, because autodetection will never work fine for all cases. In fact I think that would be way better than the RGB bypass option I had in mind, because we'll have full control on what madVR does, RGB or not. But I don't care anymore, your renderer, your decisions. Ping me up if you want if you ever change your mind.
LAV Videos current RGB converter will not modify levels (at least its not supposed to, it might be a bug if it is). If input is limited-range YUV, its supposed to output limited range RGB.
The new RGB converter i'm planning will offer an option for you to force TV or PC levels, but default to the same logic as its now, not doing any level conversions (which i think is the best way to interface with madVR)
Limited range YUV is converted to full range RGB here. Try the sample I uploaded above, but anything will do. This (http://img233.imageshack.us/img233/6765/32ffdevr.png) is ffdshow outputting PC levels, this (http://img806.imageshack.us/img806/5610/32lavevr.png) is LAVV doing the same. Done with EVR for convenience, to avoid madVR messing it up. HQ conversions on both of course.
That default will cause bad levels on anything that is not madVR. Don't like that but as long as there is an option it's ok for me.
nevcairiel
23rd August 2011, 15:17
Limited range YUV is converted to full range RGB here. Try the sample I uploaded above, but anything will do. This (http://img233.imageshack.us/img233/6765/32ffdevr.png) is ffdshow outputting PC levels, this (http://img806.imageshack.us/img806/5610/32lavevr.png) is LAVV doing the same. Done with EVR for convenience, to avoid madVR messing it up. HQ conversions on both of course
Hm, oh well. Guess swscales RGB conversion is full range rgb no matter what.
It'll be replaced sooner or later anyway.
ragg987
23rd August 2011, 16:59
Hi, first post on doom9 for long-time user of HTPC!
I would like to use PAL speed-down from 25p to 24p, but cannot get it to work using madVR. My setup:
ATI HD5750, HDMI output, MPC-HC (latest beta), madVR .73, ffdshow audio (latest beta), reclock (latest).
ffdshow audio:
decodes DD and DTS, outputting PCM
madVR:
"force to 24p" enabled
"1080p24" and "1080p23" are available options in auto frequency
reclock:
"PAL slowdown force to 24p" enabled
Using internal MPC splitter. Also tried LAV splitter.
Playback does not used 24p, only 50p. While playing, reclock properties shows framerate is 23.976. madVR show it to be 50. These are PAL MKVs ripped from DVD using Handbrake.
Any pointers, please? Have I misunderstood the feature?
Razoola
23rd August 2011, 18:06
What's the problem if one gets lots of presentation glitches in full screen exclusive, while the other queues seem to stay full?
I dont think this one has been totally pinpointed which is why madshi added various settings for people to try and reduce them. I do know that having high refresh rates (120hz) can be a part of the problem. Also nvidia driver versions have an impact on this.
In my case I had a gtx295 that would in most cases constantly incremented the presentation glitches. I never totally solved the problem and in the end I had the card RMA'd due to driver crashes in benchmarks (madVR usage was fine). Since getting the new card (same model and pcb revision) I do not have a problem with presentation glitches. Please take this with a pinch of salt however, I am not in anyway saying presentation glitches are a warning of GFX card fault but if you are also having system instability playing 3D games and benchmarks it may be worth looking into.
6233638
23rd August 2011, 20:54
madVR:
"force to 24p" enabled
"1080p24" and "1080p23" are available options in auto frequency
reclock:
"PAL slowdown force to 24p" enabled
Using internal MPC splitter. Also tried LAV splitter.
Playback does not used 24p, only 50p. While playing, reclock properties shows framerate is 23.976. madVR show it to be 50. These are PAL MKVs ripped from DVD using Handbrake.
Any pointers, please? Have I misunderstood the feature?First, I would try ripping a disc with MakeMKV (http://www.makemkv.com/download/) to see that it's not your source files at fault. (it's free for DVDs and pretty much idiot-proof)
50Hz DVD at 24p:
http://i.imgur.com/mpyZP.png
My filter list in MPC-HC is:LAV Audio Decoder
ffdshow Audio Processor (I use it to downmix to 2ch)
LAV CUVID Decoder
LAV Splitter
In the playback > output section of the preferences, I have madVR selected for video and ReClock for Audio.
I dont think this one has been totally pinpointed which is why madshi added various settings for people to try and reduce them. I do know that having high refresh rates (120hz) can be a part of the problem. Also nvidia driver versions have an impact on this.
I'm still having this problem too, I believe it was introduced with the new render path. Unfortunately I also built a new system around the time that was introduced. I have to switch between the new and old render path depending on whether the source framerate is a match for the refresh rate (e.g. 24p @ 24Hz) or a multiple of it. (e.g. 30p @ 60Hz)
Last time I checked, I was still getting a black screen 90% of the time when using the built-in refresh rate switcher. (haven't checked it in the last couple of versions, but there hasn't been any mention of changes made to it)
ragg987
23rd August 2011, 22:33
First, I would try ripping a disc with MakeMKV (http://www.makemkv.com/download/) to see that it's not your source files at fault.Thanks for that - my rips could well be the issue. I tried an original PAL DVD, and it switches to 24p. The same MKV rip stays at 25p, so seems something in the ripping process has caused a problem. I had used handbrake defaults, so probably need to revisit my settings or switch my MKV conversion utility.
andybkma
24th August 2011, 02:23
For all those that have high CPU consumption when paused, on my Windows 7 I noticed that I have that same problem too (10-20) with the default settings. But when I uncheck the "Present Several Frames In Advance" setting, the problem goes away. Just thought I'd throw that out there
GrandMax
24th August 2011, 02:36
@STaRGaZeR. You do realize that Madshi is doing an outstanding work here, for free. This is the best renderer available, so stop whining and appreciate. Use something else if you don't like it. You sound like a unique child who has got too much attention.
@madshi. Thanks. Great job. I am very much impressed.
I had some issue reading very high bitrate files in MPC-HC. I had several frame drops. I tried different filters and could not make it work. I have an OCed AMD X6 and dual 6870s.
Sample Included......: YES
Source...............: Remux
Container............: MKV
Length...............: 3h 55min
Size.................: 23.7 GiB
Total Bitrate........: 14.4 Mbps
Codec................: DTSMA
Bitrate..............: 3871 kbps/1510kbps
Channels.............: 6.1
Language.............: English
Subtitles............: English , Polish , Czech
Codec ID.............: V_MPEG4/ISO/AVC
Type.................: 1080p
Resolution...........: 1920x800
Aspect Ratio.........: 2.40:1
Bitrate..............: 12.6 Mbps
Framerate............: 23.976 fps
Potplayer with madvr could render the file without frame drops. I thought I would report even though it seems to exclude madvr as a potential cause.
Moreover, for all files, I get lots of frame drops when I go back to windowed mode. Moving the windows fixes the issue. Any clue how to fix this in the settings. Maybe different flushing strategy?
Cheers and thanks!
PS: I am still using .73
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.