View Full Version : madVR - high quality video renderer (GPU assisted)
Niyawa
6th April 2013, 02:50
I'm more of a fan of chroma with no AR. I keep going back to the Mid option (chroma: Bicubic75, upscaling: Lanczos3 AR) even though my system is fast enough to run the best settings (Jinc 3 AR). Also don't run FRC since I want as pure of a signal as possible. (hence no AR on chroma, which is perfect for Blu-ray, and AR on upscaling for non 1080p content).
Smooth motion is only activated (as soon as madshi fixes this) when you're running a video that's not optimal for that refresh rate anyway.
Niyawa don't listen to fairchild, I really like your table. :cool:
But I am sure it isn't optimal for everyone, there is a reason we have all the options we do.
Haha, thanks. And you're right.
Personally I use Jinc3taps AR for everything so I can't say about other options, but just wanted to comment on Smooth motion option.
I watch anime mostly (like 99% of everything that I watch offline and 95% of what I watch in general), where the difference between frames is often huge even if its not a scene change. And I find smooth motion to look very ugly. I can easily see where it occurs. However without it I can't tell the difference, can't tell that something wrong even if some frames get dropped due to video/display framerate mismatch or whatever.
Maybe I set up something wrong or something, but as I said for me everything looks fine even without this option, so I don't want to invest a time to check this. I just want you to check whatever this option really that useful before recommending it to someone, especially if its many people. Just because this option is there and some people in this thread use it, it doesn't means that it should be used by everyone.
I agree, smooth motion isn't something that should be directly tied to a quality level table, its quite separate from that (and doesn't eat all that much performance to matter), and more importantly, some people don't even see the 3:2 judder (like most people who have seen this most of their life on NTSC TVs), but maybe would see the extra blur and artifacts it adds.
I get a lot of times that smooth motion is still in test and such, so I don't plan to make that chart the "recommended" yet, this is also why I share it with everyone before I start putting it out there without any sort of discussion about it. A lot of people already reported to me having problems with smooth motion, but that's more with those that have an ordinary hardware. Also, there are other options that can affect smooth motion performance such as "use a separate device for presentation" and not so obvious the flush/backbuffer settings.
Going a little to what nev said, while it's not logically correct to put smooth motion as a "performance" table, for now I don't have any better option. Most people don't see the judder because they never saw without judder to begin with. I personally can't live without smooth motion now, it hurts just to watch a 24p video on YouTube.
Niyawa, are the settings in your chart optimised specifically for Anime or for general viewing?
In my chart? For general. What me and most of the users were trying to achieve when I posted the first version of this, was accurate and sharp image while putting a scale for the performance needed for that. As far as I've watched with some of those settings, it looks extremely good in both anime and general viewing.
Oh yeah, forgot to put this together:
http://i.imgur.com/lPQNjhW.png
Minimum would be able to play Lowest and Low, Preferred for Mid and High, and Recommended for Highest. Now this one I'll use in my guide to give the readers some sort of reference to what they will be able to play or not. Of course, this is fairly accurate but not accurate enough to use as a shopping guide, so don't do that. If you all have any opinions on this as well I would gladly hear them.
06_taro
6th April 2013, 04:32
Going a little to what nev said, while it's not logically correct to put smooth motion as a "performance" table, for now I don't have any better option. Most people don't see the judder because they never saw without judder to begin with. I personally can't live without smooth motion now, it hurts just to watch a 24p video on YouTube.
I believe in your table you would like to archive the best quality for the highest requirements, but smooth video is not always ( or even in most cases ) the best choice. madVR's smooth motion is a good balance between performance and quality, but to be frankly, not a perfect one.
People use many ways to fight against judder when showing video with different refresh rate from the display. Ideally the best one should be motion interpolation, with which the motion areas of the missing frames are compensated and looks as if they did exist. However, it is quite difficult to find a decent interpolation method which can run in real-time on most machine and is safe enough to always catch the correct motion so that there is no garbage resulted from failure in motion estimation. SVP is a good implementation, but still far from being always correct.
madVR's smooth motion does not even interpolate the missing motion, but is just a weighted blending if my interpretation is not wrong. Blending is just a trick to your eyes. By trick it means if you are not awared you can enjoy it, but if your eyes are sensitive enough to catch it, and if your mind can realise it ( or in other words, not well-trained to be cheated ), you will not have fun with the magic. And the trick is sometimes quite easy to be revealled by certain sort of contents. It is not artefacts free. So it really depends on the person, the video, and something related to the trick show. It deserves a try, but should not be recommanded to be always on for everyone whose hardwares can handle it, neither in a performance table nor in a quality table.
Niyawa
6th April 2013, 04:55
I believe in your table you would like to archive the best quality for the highest requirements, but smooth video is not always ( or even in most cases ) the best choice. madVR's smooth motion is a good balance between performance and quality, but to be frankly, not a perfect one.
madshi mentioned that, he wants it to look closest to a content being watched in an equivalent refresh rate (like 24p on 24 Hz) but I don't believe it's perfect either.
People use many ways to fight against judder when showing video with different refresh rate from the display. Ideally the best one should be motion interpolation, with which the motion areas of the missing frames are compensated and looks as if they did exist. However, it is quite difficult to find a decent interpolation method which can run in real-time on most machine and is safe enough to always catch the correct motion so that there is no garbage resulted from failure in motion estimation. SVP is a good implementation, but still far from being always correct.
SVP - if you don't mind my lack of words - is garbage for me. I tried it once but the quality was just awful and the performance not satisfactory either. Of course, there are plenty of reasons of why that happens, but I'm certainly not the only one against it. As a friend of mine said once, it just breaks video quality. With madVR smooth motion, quality loss is way less noticeable (some people didn't even notice the lost of sharpness).
madVR's smooth motion does not even interpolate the missing motion, but is just a weighted blending if my interpretation is not wrong. Blending is just a trick to your eyes. By trick it means if you are not awared you can enjoy it, but if your eyes are sensitive enough to catch it, and if your mind can realise it ( or in other words, not well-trained to be cheated ), you will not have fun with the magic. And the trick is sometimes quite easy to be revealled by certain sort of contents. It is not artefacts free. So it really depends on the person, the video, and something related to the trick show. It deserves a try, but should not be recommanded to be always on for everyone whose hardwares can handle it, neither in a performance table nor in a quality table.
Smooth motion is just a trick that makes frames be presented in an different time than the original ones, IIRC. It doesn't add nor remove anything, just the way they are being shown that changes. And what you mentioned about it depending on the person and video, it's true. But I mentioned that in my guide as well. If you didn't miss my previous messages, I said that this chart is still in test stage and it doesn't look the way I want yet (with details about those things). I'm also not recommending it to be always "on", but for the option to be enabled whenever someone gets judder. I know it's misleading because it has "Yes" and "No" in it, but that's exactly where I'm working on.
leeperry
6th April 2013, 08:02
There is two commonly used chroma subsampling positions for 4:2:0, the MPEG1 and MPEG2 way, the latter being used by most modern formats.
MPEG1:
http://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Yuvformats420sampling.svg/100px-Yuvformats420sampling.svg.png
MPEG2:
http://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/Yuvformats420samplingMPEG-2.svg/100px-Yuvformats420samplingMPEG-2.svg.png
As you can see from these images, using the wrong position for upsampling can shift the chroma by half a pixel, which results in chroma bleeding over edges.
If in doubt, its usually safe to assume that madVR does it correctly, doubtful that EVR would even be able to distinguish between the two.
Oh yah, I forgot about this :sly:
@madshi: would that make sense to add an automatic filename tag that would use the MPEG1 alignment if the content is SD and the filename ends by .mpg/.m1v/.mpeg? And/or possibly ask ffdshow what kind of codec the file is using?
I've got quite a bunch of 360*288/720*576 MPEG1 files, are these properly aligned atm? :o
I keep going back to the Mid option (chroma: Bicubic75, upscaling: Lanczos3 AR) even though my system is fast enough to run the best settings (Jinc 3 AR)
Sounds good, I'll try! I just can't decide myself to pull the trigger on a 650Ti/660 when I know that its stock fan will be hell noisy and warranty will go bye-bye once my dead silent Zalman VF1000(modded with a 5V 120mm) will be installed....but yeah, Jinc3AR PQ is amazing :angry:
nevcairiel
6th April 2013, 08:08
@madshi: would that make sense to add an automatic filename tag that would use the MPEG1 alignment if the content is SD and the filename ends by .mpg/.m1v/.mpeg? And/or possibly ask ffdshow what kind of codec the file is using?
Use LAV Video, it'll tell madVR automatically about the right chroma position (but it only works if there is no ffdshow in between LAV or madVR, because ffdshow doesn't forward this information)
e-t172
6th April 2013, 10:12
People use many ways to fight against judder when showing video with different refresh rate from the display. Ideally the best one should be motion interpolation, with which the motion areas of the missing frames are compensated and looks as if they did exist.
It's not the same goal. Smooth motion's purpose is to remove the stutter/judder that occurs *because* of frame rate/refresh rate mismatch between the source and the display. Motion interpolation's purpose is to make it look like the video has been shot at a high frame rate in the first place. These two approaches are very different. The first one is generally considered a noble goal, while the second one is much more debatable because it is a deliberate alteration of the original content.
Dodgexander
6th April 2013, 15:29
That's why when using madVRs smooth motion you can retain the film look, without making it look like a soap opera.
Keiyakusha
6th April 2013, 18:58
Motion interpolation's purpose is to make it look like the video has been shot at a high frame rate in the first place. These two approaches are very different.
Not at all. For some reason you assume that motion interpolation is something that should be applied to the whole thing. But you absolutely can have it between 2 frames in a set of 10 for example, or whatever else number (as long as you have more than 1 frame to work with, cause you can't track motion from still picture). In other words these things are not different at all, what is different is an approach, algorithm.
Edit: of course this is in theory, I have no idea what limitations exist in madvr.
Also I want to expand on my previous post. Many (if not say most) people have 60 frames as their monitor framerate.
Most of the anime is 24 frames per second. Obviously there should be judder due to framerate mismatch, BUT
Due to the nature of the content, that have kind of "juddery" motion to begin with, it is a lot harder to notice, than the blurred frames made by slow motion.
I personally can't live without smooth motion now, it hurts just to watch a 24p video on YouTube
I don't see how this is related. I though your table will eventually be included in a guide, and guide is aimed for the people who watch anime. Youtube videos are blurry mess to begin with. It's may be true that smooth motion makes wonders with it.
But if you say you can't live without smooth motion while watching anime... well then I waste my time here, this is beyond my comprehension.
I'm also not recommending it to be always "on", but for the option to be enabled whenever someone gets judder.
with 24fps anime on 60fps screen judder occurs pretty often. doesn't matters if its always on or when needed. That's why if your source is high quality bluray, not some blurry encode, you can see it perfectly. Yet I bet you can't see judder as easily. if the show is interesting and you follow the story - very hard to notice. Which isn't the case with smooth motion cause face of the character you are looking at appears blurred for a moment.
P.S.
Sorry i added some replies over time, just don't want to make multiple posts.
e-t172
6th April 2013, 19:54
Not at all. For some reason you assume that motion interpolation is something that should be applied to the whole thing. But you absolutely can have it between 2 frames in a set of 10 for example, or whatever else number (as long as you have more than 1 frame to work with, cause you can't track motion from still picture). In other words these things are not different at all, what is different is an approach, algorithm.
I stand by what I said. Calculating a new frame by blending two adjacent frames, and calculating a new frame by motion interpolation, are two entirely different approaches. The former gets rid of refresh rate mismatch problems while being very close to the original content as far as the naked eye is concerned (I understand that this may not be the case with anime, but that's another issue). The latter achieves the same thing but heavily alters how we perceive motion in the process. If the goal is accuracy, then the former approach is vastly superior to the latter (again, with anime the results might be different).
Niyawa
6th April 2013, 20:31
Also I want to expand on my previous post. Many (if not say most) people have 60 frames as their monitor framerate. Most of the anime is 24 frames per second. Obviously there should be judder due to framerate mismatch, BUT
Due to the nature of the content, that have kind of "juddery" motion to begin with, it is a lot harder to notice, than the blurred frames made by slow motion.
The problem here seems to be that you assume that everyone cares about that. For example, some people might want to disable smooth motion because they want the 5-10% sharpness that was lost back, but others might find it not much of a problem if they can reduce the judder with it. I've been saying this again and again: I've mentioned those downsides in my guide, I'm not recommending anything, the chart is just for reference. Either the user will want it or not, it will be up to their judgement.
I don't see how this is related. I though your table will eventually be included in a guide, and guide is aimed for the people who watch anime. Youtube videos are blurry mess to begin with. It's may be true that smooth motion makes wonders with it. But if you say you can't live without smooth motion while watching anime... well then I waste my time here, this is beyond my comprehension.
That's why I said "personally" silly :p. I sometimes download videos from YouTube and I make a comparison between watching in MPC-HC and YouTube itself, you can see the results. Try watching JoJo ED with and without smooth motion, you'll understand.
With 24fps anime on 60fps screen judder occurs pretty often. doesn't matters if its always on or when needed. That's why if your source is high quality bluray, not some blurry encode, you can see it perfectly. Yet I bet you can't see judder as easily. if the show is interesting and you follow the story - very hard to notice. Which isn't the case with smooth motion cause face of the character you are looking at appears blurred for a moment.
This goes back to what I said in the start of my post, you're still assuming that what bothers you, will bother others.
I stand by what I said. Calculating a new frame by blending two adjacent frames, and calculating a new frame by motion interpolation, are two entirely different approaches. The former gets rid of refresh rate mismatch problems while being very close to the original content as far as the naked eye is concerned (I understand that this may not be the case with anime, but that's another issue). The latter achieves the same thing but heavily alters how we perceive motion in the process. If the goal is accuracy, then the former approach is vastly superior to the latter (again, with anime the results might be different).
I stand by this as well. I've seen interpolation multiple times and I can't express how bad that is. Maybe I've never seen good interpolation as how some mention it, but smooth motion is definitely a different approach that gives - at least for me - much better and accurate results.
dukey
6th April 2013, 23:45
Smooth motion works a bit like blend deinterlace. Fine for some material, but for things like anime might be terrible.
DragonQ
7th April 2013, 00:10
Doesn't work well at all for slow-motion interlaced content either.
Mangix
7th April 2013, 00:20
I have smooth motion at the auto setting and for some reason, it activates when I use 75Hz with 25fps content as well as 72Hz with 24fps content but not 59.94Hz with 29.97 content. That is just downright strange. Is there any point to this when I switch between the appropriate refresh rates anyway?
Niyawa
7th April 2013, 01:07
I have smooth motion at the auto setting and for some reason, it activates when I use 75Hz with 25fps content as well as 72Hz with 24fps content but not 59.94Hz with 29.97 content. That is just downright strange. Is there any point to this when I switch between the appropriate refresh rates anyway?
That's a bug that was already mentioned a lot of times. I'm sure madshi has a fix for next update.
ryrynz
7th April 2013, 02:41
Smooth motion works a bit like blend deinterlace. Fine for some material, but for things like anime might be terrible.
It's amazing for anime. I have yet to find content that it doesn't improve.
pie1394
7th April 2013, 03:56
Yesterday I posted one issue in MPC-BE thread (http://forum.doom9.org/showthread.php?p=1622889#post1622889) about the garbaged window title bar text like the following screenshot.
Yet it has been confirmed that such issue only happens when madVR is used. It just works fine if the video mixer renderer is EVR-CP.
Something wrong between MPC-BE and madVR ?
http://imgim.com/mpc-be_titile_not_unicode.png
cyberbeing
7th April 2013, 04:06
It's amazing for anime. I have yet to find content that it doesn't improve.
I tend to agree.
I've experimented with SVPflow before, and while it was overall sharper than madVR's method in motion, all its different modes produced horrible artifacts on the hard lines of anime during panning scenes. Using madVR smooth motion, I haven't see any artifacts at all, with only a hint of added motion blur. Overall I'd say madVR's 'optimal timeline' 'vsync adaptive' smooth motion implementation is far superior and a poor comparison to normal frame rate conversion or deinterlacing blending.
6233638
7th April 2013, 04:45
Something wrong between MPC-BE and madVR ?MPC-BE seems to have all sorts of problems with madVR/LAV Filters compared to MPC-HC.
ryrynz
7th April 2013, 06:58
MPC-BE seems to have all sorts of problems with madVR/LAV Filters compared to MPC-HC.
Really? 'cos I use nothing but MPC-BE with LAV and MadVR and I have had no issues. Perhaps a slight exaggeration there. :)
Niyawa
7th April 2013, 07:49
MPC-BE seems to have all sorts of problems with madVR/LAV Filters compared to MPC-HC.
Never witnessed that. A friend of mine said totally the opposite, that MPC-HC instead is the buggy one.
truexfan81
7th April 2013, 07:53
Never witnessed that. A friend of mine said totally the opposite, that MPC-HC instead is the buggy one.
i'll try setting up mpc-be on my next day off, see how it works compared to mpc-hc
Niyawa
7th April 2013, 08:24
i'll try setting up mpc-be on my next day off, see how it works compared to mpc-hc
If it helps, one if the issues with MPC-HC that I've heard of is that whenever you drag it from one monitor to another, it automatically crashes if you're using madVR, while in MPC-BE that doesn't happen. Unfortunately, I don't have duplicate monitors to test this.
nevcairiel
7th April 2013, 08:28
If it helps, one if the issues with MPC-HC that I've heard of is that whenever you drag it from one monitor to another, it automatically crashes if you're using madVR, while in MPC-BE that doesn't happen. Unfortunately, I don't have duplicate monitors to test this.
That works just fine here.
Niyawa
7th April 2013, 08:55
That works just fine here.
I heard about this bug 2-3 months ago, it seems it was already fixed.
madshi
7th April 2013, 11:21
You wrote that with 0.86.1 you needed to modify the FRC code with an additional flush somewhere in the code if I understood you correctly. Is that change related to the custom 4 flush options or is that an additional flush that we don´t see/we can´t modify?
I am asking, because, when using FRC, you now have to (only if you´re not using the default flush settings) at least use one flush on the first 3 flush options or you´re going to have severe stuttering. If you don´t use FRC, "don´t flush" on every flush option works perfectly fine. 0.86.1 didn´t change anything in that regard, you still have to use a flush somewhere on the first 3 options. Since there´s no seperate flush settings for the FRC path to modify, using fully custom flush settings is not possible anymore when you´re also using FRC for some movies.
What I was asking myself:
Did you really need to modify the FRC path with an additional flush, when we still have to use one flush in the flush options, anyway for FRC to work correctly? Are you aware of that? Just to give you a heads up.
I can go into more detail if something is unclear or put that into the bug tracker if you want to.
If you need different flush settings for FRC, please put that into the bug tracker with a detailed description of which flush settings make FRC work. Thanks. I'm not sure how much it will help because these things can sometimes be hardware/installation dependent, but at least I can check whether I can reproduce it here...
I guess many people will still keep asking you if FRC should be turned on... How about some comments in this option to describe the case(s) it might be needed?
It's not the time yet for help, documentation etc...
Can you explain why?
Because with smooth motion FRC on, madVR renders and presents additional blended frames.
Other thing.
I install filter of madvrtestpattern but all smoothmotionxx.ytp file make mpc-hc crash if I use ffdshow raw filter.
Only smallramp.ytp, colors.ytp and greyramp.ytp work with ffdshow raw filter.
Can't find this in the bug tracker?
GTX 670, Windows 7. when I go from exclusive to windowed queue size goes to 0/4 and if I pause the video for 1-2 seconds then resume it fills up the queue then goes back to 0/4 after a couple of seconds. If I turn off FRC the queues fill up normally and the stuttering problem associated with rapid seeking goes away too.
Which queue does down to 0/4? Generally a queue size of 4 seems awfully small, especially for FRC (which needs a bit more room to breathe in the queues, cause it mixes/blends multiple frames). Have you tried bigger queue sizes?
Actually never. I thought repeats just weren't counted, so thanks for clarifying. If I start a movie in full screen, the dropped frames counter will stay at 0 the entire movie.
Well, then everything's fine.
i have trouble with two scenarios, 60fps HD content, and smooth motion (but not when they are combined as my monitor is 60Hz).
1) 60fps HD content
frame drops- not too bad if full screen and if its the primary focus (about 6 drops in 1 minute of playback), otherwise very large (100 drops in 1 minute of playback)- can't seem to predict if it will be smooth or not. everything else looks okay except render queue seems to be one beind upload queue (9-10 / 10 vs 8-10 / 10). backbuffer occasionally drops to 0 then recovers.
2) smooth motion
frame drops- sometimes its good (<10 for extended playback), sometimes frame rates are severe. i think this is dependent on the content and the 'busi-ness' of the scene. most of my content is HD, blu-ray rips. i think my hardware is powerful enough so i feel that i must have some incorrect settings that is causing some kind of issue / bug. full screen exclusive performs better than windowed but has other disadvantages. windowed performs worse (sometimes compositon rate goes to 30Hz- rare and unpredictable), but offers more flexibility for placement.
settings
LAV VIDEO
no hardware decoding (have tried DXVA2 (copy-back) no change)
output formats: all but AYUV (4:4:4)
MADVR
devices-
8 bit, disable calibration controls, no display modes, pure power curve 2.20 gamma processing
no decoding, automatically activate deinterlacing when needed (if in doubt activate)
jinc 3 taps (anti ringing), jinc 3 taps (anti ringing), catmull-rom (anti ringing / scale in linear light)
rendering-
delay playback, use a seperate device, cpu queue 12, gpu queue 10
windowed mode, 8 backbuffer, flush, flush and wait (sleep), don't flush, don't flush
smooth motion- only if there would be motion judder without it
trade quality for performance- don't use linear light for smooth motion frame blending
--------------
i have tried many variations of settings to improve performance but none of them seem to have a noticeable effect. i have set low buffer queues, high buffer queues and different scaling algorithims- perhaps this isn't where the bottleneck is?
ideally , i was hoping to get some more insight on the settings as i feel a little lost on why the performance is what it is. the 60fps issue has been there for as long as i can remember, the smooth motion was obviously only very recently.
thanks!
EDIT 2/24/2013
Windowed mode- Changed "after last render step" flush & wait (sleep) to flush improves dropped frames- backbuffers fall to 0 occasionaly still, but its alot better. render queue is still one behind upload queue.
Hmmmm... You've only listed the windowed mode settings, but not the exclusive mode settings. Are you not using fullscreen exclusive mode? Try it, it should work better...
I was testing in windowed mode and had the same results as DarK_MischieF's edit, it's improved but not fixed. Confirmed it works well with FSE but I rarely use fullscreen on this computer, on another (broken) computer it's about all that's used. Using overlay keeps the backbuffer full in windowed mode and there's no frame drops but taskbar previews and multiple videos are nice to have for me at times. Hopefully empty backbuffers is a madvr issue this time as it's happening on intel, ati, and nvidia. Not many months ago nvidia had a backbuffer issue that took years for them to fix.
EDIT: After about 20 minutes backbuffers drop back to 0 quite often again using overlay.
Not sure what to say. Backbuffers going down once in a while but not all the time is kinda weird. Maybe I can improve FRC performance, or maybe not, I'm not sure. In any case, using FSE is always a good idea for max stability/reliability...
Hi madshi, hate to bother you while you are working out the kinks with Smooth Motion but I was hoping I could sneak in a feature request whenever you get a chance.
Like many users of mVR I am sitting on my couch with just my mouse with no ready access to a keyboard (using my projector). As far as I know there is no way to bring up the "Debug OSD" (Ctrl+J) without a keyboard. Could you possibly add a way to turn that OSD on/off inside the settings of mVR with just the mouse? Like with a checkbox or something?
I don't see an easy/obvious way to do this, so I have to say no at the moment. Maybe later...
Its clearly a performance issue, since during busy motion, the rendering queue will often drop all the way to zero, from being perhaps 1 before.
So is smooth motion just too demanding for lower end graphics cards?
It works great on my Intel HD4000. So I can't imagine it consuming too much performance...
For me fse was a no go on my less powerful pc, all my testing was done using it on there. Tried with aero on and off also.
I don't really understand this. You say FSE was a no go. But then you say all your testing was done using it on. Huh? Why were you using it when it was no go? Anyway, FSE should in theory have the best performance. At least it does on my PCs...
When disable desktop composition in fullscreen mode is enabled with window overlay it does not disable Aero. Normal?
No, at least that's not as intended.
I have a general question:
I just found out that my Intel Graphics 2000 has a buggy driver and 0-255 output is not supported. Will I lose any quality if I put the whole chain on 16-235 instead of 0-255?
I've heard that some drivers have 0-255 and 16-235 switched. So try the other settings, maybe it does what you need?
Is a sharpener on the to do list for madvr?
I might look into that at some point in the future, but probably not soon.
i'm having weird problem O_o
i can play 1080p @60fps or 23 FPS or 30FPS with chroma upscaling : bicubic and image up scaling : Jinc and AR without any frame drops but some 1080p ( on full screen and on windowed ) @25fps or 720p @25 fps or 60fps (only in full screen ) are dropping frames like hell IDK why :(
and i can play 1080P 10bit @30fps without single frame drops with the same setting :angry:
edit: i tried to set both to bicubic and 720p @25 and 60fps (in full screen ) stopped dropping frames but 1080p @25 fps still dropping frames in fullscreen and windowed :(
BTW i'm using latest Madvr + latest Lav + latest MPC ( with AMD 5470M GPU )
Which of your queues have which state when the frame drops occur (Ctrl+J)?
Yep, and I've been trying to play 23.976fps movies in 89.91Hz on a CRT with the blending stuff of mVR:
-linear light enabled: blurry and ghosty
-linear light disabled: far less blurry but the ghost images don't seem to match either the original frame rate, the display refresh rate or the video camera shutter speed, so I can see how this visually & subjectively seemingly uncontrolled ghosting could indeed be an improvement for ppl forced to run 60Hz...but on my CRT it looks like a very poorly deinterlaced movie that would give me headaches after 10 mins of watching it :o
That sounds weird. You're not supposed to see any ghosting - especially not at such a high refresh rate, where each blended frame should only be visible for ~11ms! Did you test this in FSE mode? Did the OSD mention any repeated, dropped or delayed frames? I can only imagine that something went wrong somewhere which must have resulted in the blended frames being shown longer than they should have...
Occasionally I do notice blended frames
If you replay the same video, do you notice them again at the same frame? If so, could you upload a small sample with one such situation where the blended frame is especially obvious? I'm not sure if there's anything I can do about it (probably not), but I'd really like to see if I can reproduce/see the problem in my setup. If you can't reproduce the visibility of blended frames when replaying the same movie that would suggest that there was a glitch during rendering/presentation somehow...
the further expectation is that smooth motion in future madvr can convert 23.976 fps or 24 fps to 60 fps
What do you mean? Smooth motion FRC should already be able to handle 23/24p @ 60Hz just fine.
Currently I've been doing some testing with madVR FRC @85Hz (instead of the 96Hz & 120Hz I usually use) with my GDM-F520 CRT to see how it behaves with 720p/1080p/1080i 23.976fps & 59.94fps video, and it seems to work quite nicely at eliminating frame_rate:refresh_rate mismatch stuttering. Even though I sit 12 inches from my monitor normally, I've yet to spot any visual anomalies from FRC on film, tv, and anime content, or even vertically scrolling credits. But while it looks does look completely natural on my CRT, I'll need to do some testing later with my Panasonic GT50 plasma and NEC 20WMGX2 lcd @60hz.
I have to wonder if FRC is functioning correctly for some people who see obvious artifacts. How madshi described it with calculating blending dynamically each VSync, it would seem to dependent on highly accurate system timers, low latency, and not pushing your GPU so hard to the point where it bottlenecks (Render and/or Present/Backbuffer not staying completely full 100% of the time), in order to work optimally on the PC side. The only time an artifact should be visible under normal circumstances (FRC enabled VS disabled at the same refresh rate), is if a miscalculation occurred.
To be fair, testing at 85Hz makes it easier for FRC to be visibly artifact-free because every blended frame is only visible for 1000/85 = 11.7ms while for people with 60Hz, it's visible for 16.7ms. Anyway, I fully agree with your opinion. From what I can see on my 60Hz LCD monitor, I've yet to see a case of FRC showing visible artifacts, when used with 23-25p @60Hz. Ok, the test pattern shows some minor problems, but I've not yet seen this with real life content.
I've seen madshi state that before, but at least from what I've seen, performance is worse when you have it enabled in settings in addition to madVR supposedly forcing a flush in the same step for a specific purpose. No idea why this occurs, but it certainly does when I'm performance constrained on this PC.
Hmmm... With the separate presentation device enabled, if you don't have any "flush & wait" setting set for "after last render step", I'm enforcing a "flush & wait (sleep)".
Do you even investigate if it is possible for madVR to present the 10-bit or 16-bit frame buffer to AMD/ATI GPU's HDMI interface, which is sending with 1080p 10-bit color depth signal to TV?
Or it has been already supported automatically? :D
I just noticed that Catalyst 13.2 beta6 driver sets the HD7970 HDMI output with 1080p 10-bit depth signal to the Sony KDL-65HX920 TV automatically. Although the TV's super-resolution engine still does quite a good job, I think it should show some additional advantages on scaled Chroma pixels or 10-bit content's contiuous color shades.
I've not investigated that yet. It's on my to do list, but will probably not come any time soon. There are some problems, e.g. I've been told it might not work with D3D9 but might require D3D11 etc which could make it problematic. Also it might only work in FSE mode...
So I just changed all my flush settings in the Exclusive mode settings to "Don't Flush" and my rendering times dropped dramatically.
Rendering times without "flush & wait" are more or less meaningless. The "wait" is what makes the rendering times measurements valid. Without the "wait" madVR does not know when rendering really completed.
madshi
7th April 2013, 11:21
Hello there. I've got a problem with madvr-after changing video card from gtx260 to gtx660 i cant playback movies using madvr (evr works just fine)-i got like 3 frames per second,rest is dropped.
http://i52.tinypic.com/34ri2i0.jpg -there are only a few dropped frames on the screenshot but its because i ctrl+r'd just before taking it-was like 600+ dropped before.
As nevcairiel already mentioned, the key problem is that madVR doesn't seem to be able to measure the refresh rate correctly on your PC. I don't know why that would happen. It seems to work fine for everybody else. So I can only guess that it's a problem with your driver installation or maybe your GPU hardware. I'm sorry, I wish I could be more helpful, but I don't really know what else to say. You could try reinstalling the drivers once more, try a different driver version, or if all else fails, RMA the GPU and get one from a different manufacturer...
BDMV:
1920x1080@23.976.fps
Screen res.:
1920x1080@85MHz
Jinc 8 + AR / Jinc 8 + AR / Spline 4 + AR + smooth motion: always
CPU/GPU quere size: 32/24
backbuffer 8
dropped/dilayed frames: 0/0
Impressive - but Jinc8 is not really recommended. Jinc3 is really all you need. Jinc8 just adds more artifacts than it brings benefits, IMHO...
That's my point(and my ulterior motive) because I know that most FI really look fugly with nasty aliasing around fast movements, but I really wish madshi could spend 10 mins of his precious time checking out the FI of Sammy ES6x00 TV's in "crisp" mode because it looks dead smooth(no hiccup), doesn't artifact whatsoever and doesn't look like a soap opera either...this would be a strong asset to mVR, and madshi's unstoppable anyway.....a bit of mathematics magic and this ghost story would turn into some most impressive buttersmoothness :D
There are really only 3 different ways to do FRC:
(1) Either you naively repeat/drop frames.
(2) Or you blend frames.
(3) Or you motion interpolate frames.
madVR can do (1) and (2), but not (3). Doing (3) well is extremely difficult. Doing (2) is like eating cake in comparison. I've said many times in the past that I have no plans to do (3), at least not any time soon. And that has not changed. I don't know what that Sammy does, and to be honest, I don't really care. I don't think you can do (2) better than madVR. So if the Sammy looks better to your eyes compared to what madVR does then the Sammy is likely doing some sort of (3). Or maybe it's (2) and madVR's FRC doesn't work correctly in your setup, for some funny reason...
The offer:
to enter the presets options for video with the different res and fps for madVR.
Something like this is already on my to do list.
I found a problem with using one of these settings. Setting 'number of frames to present in advance' to '16' and I get terrible lip-synch issues. I set it to '6' and the problem went away. Using Reclock and GT650Ti.
Is this a bug or a feature, being able to control lip-synch from within madVR?
Sounds like a driver bug. I've noticed in the past that drivers don't like it if madVR presents "too many" frames in advance. You can only experiment how many frames in advance your driver supports by trial and error...
could you please consider a function (that can be enabled or disabled) that whenever a given number of frame drops occur the OSD automatically appears?
Doing this always doesn't sound like a good idea, so I'd have to add an option to the settings dialog, and to be honest, this is too much of a border case to make it worth complicating the settings dialog for, IMHO. Maybe some time in the future I could add a "nerd tweaks" section to the settings dialog where I could add weird settings like this, but probably not any time soon...
I just want to take this opportunity to thank madshi for this exceptional piece of software. Despite being hopeless audio/video illiterate noob, I can tell the difference between bad and good image.
I've been checking this thread from time to time for a long time, and only recently decided to see what was it all about.
The results exceeded my expectations.
EVR (http://i.imgur.com/4zsQccV.jpg) vs madVR (http://i.imgur.com/MVGHjA8.jpg)
EVR (http://i.imgur.com/9uKfVnY.jpg) vs madVR (http://i.imgur.com/Wyh5ocR.jpg)
Impressive (and that's after Imgur crippled the format to jpg).
Again, thanks a lot and keep up the good work.
Thanks for the feedback. FWIW, you could probably get the EVR results nearer to madVR by disabling all the funky video processing stuff in your GPU's control panel.
I have a questions people. Do anyone know which GPU would be powerful enough to use with smooth motion + frame blending up to 30 fps content without dropped frames? I hear the GTX 260 can't save us this time.
Please be sure to use the correct option names, otherwise you will confuse people. With frame blending you mean the "trade quality for performance" option for linear light frame blending, correct? Generally, smooth motion FRC should be rather low on GPU power. The linear light frame blending eats a bit more performance because it has to convert every pixel to linear light and later back. Older GPUs have very low math power and can run into trouble with that. Newer GPUs (even budget models) don't have any problems, though. So it's hard to say which GPU has how much trouble with it. The newer the model the better, probably.
There's one additional catch: When enabling FRC, the number of frames to present increases. If you have e.g. 3dlut processing enabled, this also increases the 3dlut processing load accordingly. So depending on the other madVR settings FRC can have more or less effect on the GPU load.
Doing a bit more testing with Smooth Motion right now, it would appear 0.86.1 caused a minor performance regression with smooth motion + windowed mode + high framerate video on my GT440 DDR5.
Yes, I added one additional forced flush for FRC in v0.86.1, in the hope of fixing those artifacts after seeking etc. It seemed to have helped, but not completely removed the problem, so this is not the final solution yet. I don't know right now how the final solution will behave. Maybe it will be back to v0.86.0 speed, maybe it will be even slower than v0.86.1, I just don't know yet...
I'm using madVR with BSplayer on a Win7 Pro 32 bit machine with Aero enabled, dual monitor setup, it running on the secondary LCD monitor. Whenever i use madVR for playing any non-mkv videos (mp4/avi/flv) in fullscreen, and i try to set volume, skip forward/backward, bsplayer shows me a crash error, which i can click 'continue' on if i want and the movie continues to respond, but it is annoying as it disables any input until 'ignored' away. This only happens in fullscreen, to mention. Here's the log and sorry about the images, but couldn't find a .txt of it anywhere and copy pasting it was disabled
This looks like a crash in bsplayer. Please report this to the bsplayer developers. If you see those screenshots they should know what to do. The crash report says pretty clearly where in the bsplayer source code the crash occurred.
I just want to report my finding:
With version 0.86.1 I reported a heavy increase of rendering times (no drops for me, just higher timings) in exclusive mode with FRC on and default flush settings.
Madshi recommended to increase 'present frames in advance' to 8 which did nothing.
Playing around with this setting I increased it even more and rendering times are back to normal!
Anyone able to explain this? Does the renderer need to wait for something presentation related?
Sounds weird to me. FRC does require a certain queue size to run correctly (though it's hard for me to specify an exact min size). But I would have thought that 8 should be plenty...
Thanks for the new version. Smooth Motion is working perfectly here for progressive content and interlaced video content. However, for telecined film content, I can see juddering on my system. If I understand correctly, on playing a 29.97 fps telecined content with madVR’s IVTC on, ideally madVR should decimate the video to 23.976 fps and then use Smooth Motion to display it on, say 60 Hz display. I have tried playing multiple telecined files, and the observation is same. Please let me know if any other information you need from my side.
23/24p film content has a low framerate by nature, so some judder is expected, especially during fast motion scenes. It also depends on how each scene was filmed, though. E.g. if you film with more motion blur, you can get motion relatively smooth even with 23/24p. But if you want sharp motion, you get judder.
So what you need to find out is whether the judder you're seeing is the 23/24p judder caused by the low framerate of the source, or whether it's judder caused by a movie framerate / display refresh rate mismatch. madVR's FRC only fixes movie framerate / display refrash rate mismatches. It does not even try to remove judder that is encoded in the source.
Does smooth motion FRC seem to work well on the madTestPattern 23p/24p source patterns for you?
As I said above, most TV is interlaced. Animation should be almost always progressive (same with films and dramas). Note, however, that just because something is broadcast or mastered for BD as "1080i", "576i", etc. doesn't mean it's interlaced.
I've found that many many PAL animes are field blended. The only way to properly handle this is to use video mode deinterlacing, unfortunately...
we're now in 2013 and the 3D trend has pushed 120Hz support into a lot of displays so you can find many inexpensive projectors & flat screens that will support it by design(and in 1080p too, via DisplayPort/dual-link DVI connections). It's also fully supported on CRT for that matter ;)
At 24fps, each frame takes 1000/24=41.67ms, but at 120Hz that's 1000/120=8ms, would that still be too long to insert one black frame every 2/4/5 frames or so? :scared:
You can even push 144Hz(6*24) on LCD (http://www.asus.com/Monitors_Projectors/VG248QE/)/CRT and DLP these days, so an extra option to play around with BFI sequencing would be *SO* amazing :cool:
Yes, DFI would be something interesting to play with. However, I'd first need to have a display which supports 120Hz+ and I currently don't. Unfortunately it's usually only ugly TN displays which can handle such high refresh rates. And I hate TN. I think I'll wait for OLED to finally come around before looking into this. Shouldn't be too long now (meaning: not multiple years, anymore) that the LG 55" OLED display is finally available for preorder in Korea.
Furthermore, as nevcairiel mentioned, good displays seem to use even higher refresh rates for BFI/DFI than 120Hz, and they do this internally. So I wonder if this even makes sense to build into madVR. I've too many other things to do first, anyway. So even if it were feasible and I had a capable display, it would not come any time soon...
@madshi, could you add a keyboard shortcut to toggle (enable/disable) gamma processing? there's a shortcut but it only change gamma curve type. thank you.
Changing gamma curve type should auto enable gamma processing if it's still disabled.
Opened a video, did a seek, and closed it almost immediately (IIRC, was browsing through lots of videos):
http://ajpanton.se/madVR - crash report.rar
I don't remember what this was for. Please always quote the post you're refering to, otherwise it's hard to get the connection to the older discussion. If you think this is a bug in madVR please create a bug tracker entry. If you're just asking for help, please at least quote my previous reply to this topic.
i care when madshi will begin convert 23.976 fps or 24 fps to 60fps instead of 47.95 fps or 48 fps
I could make FRAPS report 60fps (actually in FSE mode FRAPS should report 60fps right now), but it wouldn't look any different to your eyes. madVR's frame blending solution is as sophisticated as it can be, I believe. I have no plans to change the logic in any way. If you're asking for motion interpolation instead of frame blending, that's a totally different technique. If you want to have that, try SVP.
For the record, madVR does *not* convert 24p to 48p if your display is 60Hz. Instead madVR converts 24p to 60p. However, 12 out of those 60 frames are duplicates. And madVR doesn't show duplicates in windowed mode (it does in FSE mode). That's why FRAPS reports less than 60fps.
This is just a cosmetical issue with the way madVR presents respectively FRAPS measures. It makes no difference to our eyes whether duplicate frames are redrawn or not.
Wouldn't it make more sense to convert to next highest framerate thats a multiple of the refresh rate to reduce frames that need to be added?
60hz: 24/25 to 30
72hz: 25/30 to 36
75hz: 24 to 25, 30 to 37?
madVR technically simulates a display with an infinite refresh rate and blends frames accordingly where necessary. There's no fixed formula to calculate how many unique frames this will result in based on source framerate or display refresh rate. It can vary depending on the vsync position.
anyone got any comparisons between Qdeo, or VXP chip upscaling and post processing vs. madVR, avisynth and ffdshow?
really wanna know what performs better..
Yeah, I would love to see a comparison, but it's hard to do. E.g. you'd have to have a HDMI capture device to get VXP output captured to a PNG/JPG screenshot.
I already asked, but whether this principle in algorithms will be introduced?
http://mrhaandi.blogspot.com/
This looks like 3D rendering anti-aliasing. I don't think this has much benefit for video related stuff because video usually doesn't have aliased edges to begin with (camera lenses are too soft to produce aliasing even remotely near to what 3D rendering sometimes produces).
madshi
7th April 2013, 11:22
There is a report (http://forum.gleitz.info/showthread.php?46192-madVR-0-86-1-spielt-kein-Canopus-DV-mehr) in the german doom9/Gleitz forum that Canopus DV AVIs (FourCC: 'CDVC', decoded by Canopus DV decoder, neither ffdshow nor lav are installed) are not played with current versions of madVR via MPC-HC 1.6.5, but it worked with a very old version (0.09, from VideoHelp archives). Converted to MS DV, playback works.
Where might be the reason, are there raw video formats not supported anymore by madVR?
If I can reproduce it I can look into it. If you can get a sample file, please report this in the madVR bug tracker. Thanks.
Just recently tried enabling Intelligent Frame Creation on my Panasonic Plasma along with Smooth Motion with animated content, for the most part I got amazing results but there was the odd time I had artifacts of particular areas spread out across multiple frames. Madshi you own a Panasonic Plasma don't you? Is this something that could be improved upon? or are the two just not really suitable being used together?
I owned a Panasonic Plasma many years ago. I've converted to front projection since then. 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.
http://forum.themaister.net/viewtopic.php?id=127
Hmmmm... I'm not sure. This could be interesting, or maybe not.
I'm having a bit of a problem with the display mode changer. Currently have 60, 72 and 75 resolutions set up, they all look fine. In madvr this is in the mode changer: 1680x1050p60, 1680x1050p72, 1680x1050p75 It works fine for 24->72 and 30->60 but with 25 fps sources it insists on setting 60hz even if the monitor is set to 75hz. Then I installed reclock, set it to slowdown 25 to 24 and in madvr treat 25 fps as 24. I get 24 fps according to madvr status but it always changes to 60hz. When 75hz is set, madvr/reclock displays 74.984. Any idea what could be going on?
Also with 24 fps source, 72hz refresh rate (71.99139 in madvr status) with smoothmotion set to only when judder, it's enabled even though with it disabled there is no judder.
The easiest way for me to analyze this is for you to upload a small log file. The log clearly tells me which movie framerate the upstream filter reported and which display mode madVR selected and why.
Anyone had a random black frame appear whilst playing? I'm running Overlay and FSE with Smooth motion on an Intel HD 3000 using 2932 drivers. Seems to be the same thing that TheShadowRunner mentioned with switching between windowed and FSE mode although it happens after some extended viewing for me. I've got a number of things to rule out but I think I'll start with flushing settings, just wondering if any sharp eyed viewers have seen the same thing and fixed it.
Yes it happens occasionally when using Smooth Motion for me.
Weird, that shouldn't happen. 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?
I once had problems updating from older madvr (mpc-hc crashing instantly), finally tried "reset to default settings.bat" and it solved the problem.
Smooth motion looks very nice, I have a 60Hz 30" 2560x1600 display and I don't notice judder anymore. I earlier used a terrible avisynth script which did some frame blending, but the results looked especially bad with checkered shirts and some other stuff. I saw no ghosting with smooth motion enabled, maybe it's there but it's nothing compared to what I had with the avisynth script.
Since I need to upscale all videos and original pixels are lost I didn't notice any sharpness difference between smooth motion on/off. But I will definitely keep it always on because movies are unwatchable with 3:2 pulldown.
About GPU usage, I have HD6970 and without smooth motion I get ~21%, with ~27%. So basically no difference with gpu usage (as long it's under 99% I suppose it makes no difference) but very much improved motion quality.
Thanks for the great update and keep up the good work :)
Edit: for the first time I looked at madvr's osd and noticed there's one fropped frame every 30.04 - 30.06s, so roughly 0,14% of frames get dropped. I don't know what causes this but at least that isn't visible while watching videos :)
Thanks for the feedback, glad it works well for you! The "one dropped frame every ..." is just an estimation based on the movie framerate and your display refresh rate. The only thing that really counts is the number of actually dropped / repeated frames which you'll find some lines under that in the OSD. When using smooth motion FRC, the frame drop estimate has no meaning, in any case, because FRC takes care of any movie frame rate / display refresh rate mismatches.
But if I start a CIF resolution video, already the filename hardly fits in the window, as long as I don't maximize the window.
For a CIF video there simply isn't enough space to draw the OSD. I don't think there's a good solution for this problem. Anyway, the OSD is really only meant for debugging purposes. So I don't consider it too important to have it look nice with small resolution videos right now. Maybe I'll rework the whole OSD once madVR reaches v1.0.
I have this quick question that came to mind not long ago. If I had a 120hz screen which is compatible with 24 and 30fps, would I still need smooth motion to remove the judder? I've noticed that even when I watch 30fps in 60hz smooth motion is still enabled, so I'm not sure how it works.
FRC is only needed/useful if your display can't handle an even multiply of the movie framerate correctly.
Another thing is slowing 25 to 24 to reduce refresh rate changes. I tried but can't get it working right with madvr, has anyone else?
madvr 25 as 24 checked, reclock slowdown checked = 24 at 50hz, bad
madvr checked, reclock unchecked = 25 at 50hz, good but expect 24 at 48
madvr unchecked, reclock checked = 24 at 50hz, bad
both checked = 24 at 50hz, bad
log?
There's something wrong with new madTestPatternSource.
With new version image is broken with any renderer (except madVR), pic (http://firepic.org/images/2013-03/23/abkbo7314h1q.png). With old one everything is ok.
Have you reported this in the madVR bug tracker? ;)
madshi, could you also write date of release near version "madVR v0.86.1" here ? ^.^
? Not sure what you mean exactly. Do you mean first post of this thread? Or do you mean the announcement posts?
what does Jinc3AR need the most in your opinion? ROP/shader performance or memory bandwidth?
Both... :p Jinc needs more memory bandwidth, AR needs more shader power.
What exactly the option "don't use linear light for smooth motion frame blending" do? What I know is that when I enable it, I get a lot of dropped frames. Does it increase quality of smooth motion or something along those lines?
The proper way to blend frames is to use linear light. Blending in linear light is mathematically more correct and produces visually better results. It consumes more GPU power, though. You can try this with the madTestPatternSource smooth motion test patterns. You should see a certain difference there if you disable/enable linear light blending.
In other words, for maximum compliance with current specifications, madVR should default "the display is calibrated to the following transfer function / gamma" to "pure power curve 2.20" (IIRC it already does), because sRGB, and more importantly, it should default "enable gamma processing" to "enabled, pure power curve 2.40", because BT.1884.
@madshi: I'm advocating a change in the default settings. What do you think of this reasoning?
Sorry, but no. A pure power curve of 2.40 makes sense for a bat cave, but doesn't work well as well if you have ambient light in the room. The correct gamma curve to choose depends on the ambient light level, as such I prefer to have gamma processing disabled by default.
People use many ways to fight against judder when showing video with different refresh rate from the display. Ideally the best one should be motion interpolation, with which the motion areas of the missing frames are compensated and looks as if they did exist.
I agree that from a scientific/technical point of view using motion interpolation sounds like the smartest solution. However, it actually changes the look of the video, making it appear smoother than it actually is. Some people like this change of look, others don't. So I wouldn't say that motion interpolation is clearly the best solution. If you aim for the highest smoothness and sharpness, motion interpolation is the best solution (if executed perfectly). However, if you want to preserve the original look of the source, motion interpolation is not a good idea. So it's a matter of taste. And of course, as you mentioned, doing motion interpolation well is technically very difficult.
madVR's smooth motion does not even interpolate the missing motion, but is just a weighted blending if my interpretation is not wrong.
Yes, it's just simple blending, and it's a trick. However, it fully preserves the original look of the source, and that is a basic advantage over motion interpolation (if preservation of the original look of the source is your aim).
Blending is just a trick to your eyes. By trick it means if you are not awared you can enjoy it, but if your eyes are sensitive enough to catch it, and if your mind can realise it ( or in other words, not well-trained to be cheated ), you will not have fun with the magic.
I watch anime mostly (like 99% of everything that I watch offline and 95% of what I watch in general), where the difference between frames is often huge even if its not a scene change. And I find smooth motion to look very ugly. I can easily see where it occurs. However without it I can't tell the difference, can't tell that something wrong even if some frames get dropped due to video/display framerate mismatch or whatever.
You're not really supposed to see the blending. With 60Hz or higher refresh rate and 23-25fps sources, I wouldn't expect anyone to see frame blending. If you do see it, then either you must be Superman, or maybe something is going wrong somewhere. Maybe madVR doesn't work as expected on your PC. Or maybe your GPU screws up, or maybe your display repeats some frames behind madVR's back. I don't really know...
If you run the madTestPatternSource test patterns, do they run with perfect smoothness with FRC turned on?
Use LAV Video, it'll tell madVR automatically about the right chroma position (but it only works if there is no ffdshow in between LAV or madVR, because ffdshow doesn't forward this information)
FWIW, madVR accepts this information, but currently it always uses MPEG2/h264/VC-1 chroma placement. Support for MPEG1 chroma placement is on my to do list.
Not at all. For some reason you assume that motion interpolation is something that should be applied to the whole thing. But you absolutely can have it between 2 frames in a set of 10 for example
Yes, you can, but it will likely look weird to the eye because motion will be smoother between those frames where you added motion interpolation intermediate frames compared to those frames where you didn't add such frames. I don't think it's a good idea to add motion interpolated frames only between some frames but not between others. I think it would be visible to our eyes as a new sort of motion artifact. But then I'm just guessing, I haven't tried this myself yet.
But if you say you can't live without smooth motion while watching anime... well then I waste my time here, this is beyond my comprehension.
with 24fps anime on 60fps screen judder occurs pretty often. doesn't matters if its always on or when needed. That's why if your source is high quality bluray, not some blurry encode, you can see it perfectly. Yet I bet you can't see judder as easily. if the show is interesting and you follow the story - very hard to notice. Which isn't the case with smooth motion cause face of the character you are looking at appears blurred for a moment.
Anime with 5:5 or even 8:7 cadence is so juddery that you probably won't see a difference between Smooth Motion FRC on or off. However, many Animes have scenes in between where the background (e.g. clouds in the sky) move in full 24p speed. Also camera pans are sometimes full 24p speed. And suddenly smooth motion FRC brings a benefit again.
If you see a character face blurred for a moment that is a sign that something isn't working as it should. Frame blending as performed by madVR in 60Hz (or higher) should not be visible to the naked eye, except for a very minor loss of sharpness during motion. If you can separate blurry frames that most probably indicates that those blended frames are visible longer than planned, for whatever reason.
Doesn't work well at all for slow-motion interlaced content either.
Sample?
cyberbeing
7th April 2013, 11:40
To be fair, testing at 85Hz makes it easier for FRC to be visibly artifact-free because every blended frame is only visible for 1000/85 = 11.7ms while for people with 60Hz, it's visible for 16.7ms. Anyway, I fully agree with your opinion. From what I can see on my 60Hz LCD monitor, I've yet to see a case of FRC showing visible artifacts, when used with 23-25p @60Hz. Ok, the test pattern shows some minor problems, but I've not yet seen this with real life content.
Last week I did some testing @60Hz on my 55" Panasonic Plasma and didn't notice any artifacts either, even when standing 1' from the display.
What would you theorize is the reason some people have supposedly been seeing major artifacts?
Display response time? TV "post-processing"? Inaccurate system timer? Certain floating point refresh rate values causing miscalculations (rounding error)? GPU driver bug? Something else?
e-t172
7th April 2013, 12:16
Sorry, but no. A pure power curve of 2.40 makes sense for a bat cave, but doesn't work well as well if you have ambient light in the room. The correct gamma curve to choose depends on the ambient light level, as such I prefer to have gamma processing disabled by default.
Okay. You didn't answer my second request, however:
On a related note, it would be useful to have a "sRGB curve" option under the "calibration" tab. It should be extremely easy to implement as it is exactly the same curve as BT.709 but with different coefficients for the linear part.
I'm aware that's nitpicking, but it would be nice to have and the implementation is trivial, so…
Niyawa
7th April 2013, 13:05
Please be sure to use the correct option names, otherwise you will confuse people. With frame blending you mean the "trade quality for performance" option for linear light frame blending, correct? Generally, smooth motion FRC should be rather low on GPU power. The linear light frame blending eats a bit more performance because it has to convert every pixel to linear light and later back. Older GPUs have very low math power and can run into trouble with that. Newer GPUs (even budget models) don't have any problems, though. So it's hard to say which GPU has how much trouble with it. The newer the model the better, probably.
My apologies for that. Hm, newer architectures tend to be 15-25% more powerful than the previous one, I should have figured that out.
The proper way to blend frames is to use linear light. Blending in linear light is mathematically more correct and produces visually better results. It consumes more GPU power, though. You can try this with the madTestPatternSource smooth motion test patterns. You should see a certain difference there if you disable/enable linear light blending.
Ohh now I get it. Linear light bleding won't work with my laptop, that I'm sure about. Just wondering what it really could do.
FRC is only needed/useful if your display can't handle an even multiply of the movie framerate correctly.
In my case, with a 29.97 > 30.000fps (with ReClock) in a 60 Hz display, smooth motion was supposed to be disabled but it's still enabled. It's that bug a user here mentioned about. Thanks for the asnwers madshi, you're a wizard as always.
Oh, and welcome back of course.
secvensor
7th April 2013, 16:14
madshi
https://github.com/libretro/common-shaders/tree/master/cgp
madshi
7th April 2013, 16:43
What would you theorize is the reason some people have supposedly been seeing major artifacts?
Display response time? TV "post-processing"? Inaccurate system timer? Certain floating point refresh rate values causing miscalculations (rounding error)? GPU driver bug? Something else?
I don't really know, to be honest. It could be the GPU doing something wrong (e.g. presentation glitch that isn't reported), it could be the display showing a blended frame longer than madVR asked for (e.g. could happen if the display is run with a refresh rate that the display can't handle natively), it could be a bug in madVR, or something else...
Okay. You didn't answer my second request, however:
I'm aware that's nitpicking, but it would be nice to have and the implementation is trivial, so…
The math might be trivial, but adding support for that to madVR is not trivial at all. It would increase the number of shaders I have to compile by 30%, it would require a more complex settings dialog, it would require me to modify a lot of settings related code etc etc. I estimate with all the shader modifications etc it would cost me half a day to implement. Why would I spend so much time on something nobody really needs? Or is there a practical purpose for using that transfer function for any madVR users? I don't know right now why anybody would need/use it?
My apologies for that. Hm, newer architectures tend to be 15-25% more powerful than the previous one, I should have figured that out.
15-25%?
550Ti -> 650Ti: 691 -> 1421 GFLOPS
That's more than twice as much shader power!
In my case, with a 29.97 > 30.000fps (with ReClock) in a 60 Hz display, smooth motion was supposed to be disabled but it's still enabled.
There isn't much 29/30p content available. Most of that is interlaced. After deinterlacing it becomes either 23/24p or 59/60p.
madshi
https://github.com/libretro/common-shaders/tree/master/cgp
I don't see any explanation anywhere of what these do exactly.
omarank
7th April 2013, 17:55
23/24p film content has a low framerate by nature, so some judder is expected, especially during fast motion scenes. It also depends on how each scene was filmed, though. E.g. if you film with more motion blur, you can get motion relatively smooth even with 23/24p. But if you want sharp motion, you get judder.
So what you need to find out is whether the judder you're seeing is the 23/24p judder caused by the low framerate of the source, or whether it's judder caused by a movie framerate / display refresh rate mismatch. madVR's FRC only fixes movie framerate / display refrash rate mismatches. It does not even try to remove judder that is encoded in the source.
Does smooth motion FRC seem to work well on the madTestPattern 23p/24p source patterns for you?
I meant to say that Smooth Motion works well for 23/24p film content on my 60 Hz display, but while playing a telecined 29.97 fps content with 3:2 cadence apparently it does not work properly. I think madVR applies FRC using 29.97 fps even when IVTC is forced on for such files. Instead, madVR should decimate the video to 23/24p first and then apply FRC 24p to 60 Hz. Is Smooth Motion working fine on your system for telecined files when madVR's IVTC is forced on (while using 60 Hz refresh rate)?
dansrfe
7th April 2013, 18:14
The only issue with IVTC'ing atm is that ReClock has to be manually set to 23.976 input fps.
truexfan81
7th April 2013, 18:34
If it helps, one if the issues with MPC-HC that I've heard of is that whenever you drag it from one monitor to another, it automatically crashes if you're using madVR, while in MPC-BE that doesn't happen. Unfortunately, I don't have duplicate monitors to test this.
i have moved mpc-hc between monitors while using lav and madvr, has not crashed yet. update, i have to work tonight, and tomorrow night, after that i have 2 days off where i can test mpc-be
madshi
7th April 2013, 19:10
I meant to say that Smooth Motion works well for 23/24p film content on my 60 Hz display, but while playing a telecined 29.97 fps content with 3:2 cadence apparently it does not work properly. I think madVR applies FRC using 29.97 fps even when IVTC is forced on for such files. Instead, madVR should decimate the video to 23/24p first and then apply FRC 24p to 60 Hz. Is Smooth Motion working fine on your system for telecined files when madVR's IVTC is forced on (while using 60 Hz refresh rate)?
You may be right. Can you please report this in the madVR bug tracker?
I have a problem that Blight suggested I run by you. I have a test clip (link below) that when played with Overlay enabled on my system (NVIDIA GTX 660Ti, 314.07 drivers, Win 7 64bit), shows no video. The video plays in Zoom Player, but there is no actual picture - that is, the video window is black. If I disable Overlay mode, the video shows fine.
On Blight's system (NVIDIA GT 520, not sure what drivers he has), Overlay shows the picture fine. We both have the exact same filter chain, so literally the only difference is the video hardware and probably the driver version. Blight said to tell you that the driver may be lying about supporting that colorspace and that you might be able to convert it.
Test clip:
https://dl.dropbox.com/u/105555957/Bug%20%23446.avi (2.20MB)
This is with madVR v0.86.1 - Zoom Player 8.6 Beta 28.
Unfortunately I can't reproduce it here, so there's not much I can do about it...
DragonQ
7th April 2013, 19:28
Weird, that shouldn't happen. 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?
Maybe a few times in a half hour show. No idea if dropped/repeated frames increase, I keep forgetting to check the figure before and after.
The weird frame-order errors still occur randomly too (it happens way more often when doing other stuff whilst watching rather than just having the video full screen). They are fixed by pausing and unpausing. Video showing this is here. (http://www.aotplaza.com/Files/HTPC/Screengrabs/MadVR/Smooth%20Motion%20-%20Frame%20Order%20Problem.mp4)
Sample?
Will try to get a sample soon. It happens all the time with sport replays because they're usually slowed down but not properly deinterlaced beforehand. They're probably not done very well at the source because you can clearly see bob deinterlacing is being used when they show freeze frames or step-by-step footage. Smooth Motion just doesn't seem very compatible with this kind of material.
AndreaMG
7th April 2013, 20:28
Welcome back Madshi! :)
Originally Posted by Budtz View Post
Is a sharpener on the to do list for madvr?
Madshi's reply: I might look into that at some point in the future, but probably not soon.
Great news! (except for the "probably not soon" part :))
omarank
7th April 2013, 20:42
You may be right. Can you please report this in the madVR bug tracker?
..
Done.
Niyawa
7th April 2013, 22:46
That's more than twice as much shader power!
Ohohoho. You're right, I forgot madVR uses shaders to render the video! I should review my data on GPUs again.
There isn't much 29/30p content available. Most of that is interlaced. After deinterlacing it becomes either 23/24p or 59/60p.
Hm, I have some trailers and I've watched some game walkthroughs that use 30fps natively.
i have moved mpc-hc between monitors while using lav and madvr, has not crashed yet. update, i have to work tonight, and tomorrow night, after that i have 2 days off where i can test mpc-be
It's like I said, it's an old bug. nev did the test of that. MPC-BE never had that issue AFAIK.
turbojet
7th April 2013, 22:51
madshi: The frc framedrop issue was reduced from 100's per hour to <50 changing to all flush, still an issue but much less of an issue. This was with a GTS250, i3/HD3000 drops many frames no matter what flush settings or separate device or resize options are, no frame drops after disabling frc. GPU usage can be as low as <10% with CPU usage <20%. The logs you asked for the display changer are on the bugtracker (http://bugs.madshi.net/view.php?id=34). I disabled frc and use display changer on primary display, there's a minor issue with it changing to 47.952hz even if it already is but I think it has to do with not changing for awhile, will try to get a log. For the secondary display stuck at 60hz I'd like to use frc and probably will once the issue with the display changer is fixed but for now I'm reducing the judder by enabling triple buffer in the nvidia control panel, it's pretty much free performance wise. Here's a sample (http://www.sendspace.com/file/bhwper) that looks not so great without frc but looks worse with frc at 60hz, look at the left side of the face of the guy on the left.
Another thing mentioned (http://forum.doom9.org/showthread.php?p=1622580#post1622580)in the nvidia control panel is AA which is more effective for me than AR probably because of the postresize LumaSharpen which results in a sharper image then preresize but introduces an occasional problem with high contrast edges. Which AA deals with afterwards but AR doesn't have a chance too. AA is also very cheap performance wise while AR can't be used on some things I watch without dropping frames. FXAA is shader based that's very aggressive but also blurs image quite a bit. I prefer 4x SuperSampling (SSAA) which doesn't blur anymore than AR and still pretty effective AA. Could be an AR alternative if you have an nvidia and postsharpening or gpu is too weak to run AR. Intel doesn't have these options, unsure about ATI. Nevermind antialiasing doesn't make a difference in the image.
MPC-BE had an issue moving to secondary display after adding flybar and madvr adding dxva resizing but that's been fixed. Don't know of any other issues between mpc-be and madvr or lavf.
Dodgexander
8th April 2013, 03:32
Why would you use settings for gaming in video playback when you can just keep with the custom shaders that are built into madVR or if you need more, use custom pixel shaders in your player.
I'm sure it has been explained already that it's much more efficient to use the specific algorithms.
6233638
8th April 2013, 03:40
Why would you use settings for gaming in video playback when you can just keep with the custom shaders that are built into madVR or if you need more, use custom pixel shaders in your player.FXAA (and MLAA, SMAA) is an algorithm that basically looks for aliasing in images and tries to remove it. While it's mostly used in games, I don't see any reason why it wouldn't work for video. Supersampling or any other kind of antialiasing won't do a thing for video though. (except possibly harm performance)
FXAA typically gives terrible results in games though, blurring the image significantly (to the point that it may as well be an upscaled image) and doesn't help with temporal aliasing, so I'm not sure that I would want to be using it with video.
SMAA (http://www.iryoku.com/smaa/) can give good results though, and I do wonder how that would look with some problematic video files if it were applied before upscaling in madVR.
But Madshi has already expressed that he has no interest in looking into that sort of image processing.
Dodgexander
8th April 2013, 04:04
I thought anti aliasing was to remove jagged edges?
Besides, unless you have a monster gpu can you even run this?
With my hd6870 I can't only just about run jinc4 image and chroma with frc on.
Perhaps the same, or better can be achieved with custom pixel shaders?
truexfan81
8th April 2013, 04:32
Ohohoho. You're right, I forgot madVR uses shaders to render the video! I should review my data on GPUs again.
Hm, I have some trailers and I've watched some game walkthroughs that use 30fps natively.
It's like I said, it's an old bug. nev did the test of that. MPC-BE never had that issue AFAIK.
ok just tested mpc-be, seems to work just fine with lav and madvr
turbojet
8th April 2013, 07:07
Of course supersampling (SSAA) and multisampling (MSAA) do something with video. Whether it's preferred over FXAA or AR is subjective, some comparisons. (http://www.sendspace.com/file/ry3aft) I'm not a gamer but it looks like some games are optimized to certain AA methods, eg. FXAA is great in some but bad in most. Custom pixel shaders could potentially be more effective then AA and AR (the only one I know of) might already be but it comes with disadvantages for me, it's very heavy AA is 1-2% gpu load increase, AR is 30-40% increase, 720p30 drops all sorts of frames. AR also does nothing for postresize shaders but AA does, based on the order of things. Any modern nvidia gpu be able to use AA, it's very light. I tried SMAAinject with mpc-be and madvr but didn't have any luck but it looks like nvidia 6xx gpus has SMAA among other more advanced AA methods. LumaSharpen also leaks from the gaming world but the few that have used it seem to prefer it over other sharpeners.
MadVR doesn't really play a part in any of this, and I don't mean to go off subject here. I just mentioned it as an alternative but not a replacement for AR. It's not of much use to people running AR fine with every video and don't use postresize sharpeners.
6233638
8th April 2013, 07:07
I thought anti aliasing was to remove jagged edges?
Besides, unless you have a monster gpu can you even run this?That's exactly what anti-aliasing is supposed to do. Regular anti-aliasing won't do anything for video, but FXAA, MLAA, and SMAA are post-processing filters that analyse the final image rather than being tied to 3D rendering, so you could theoretically use them for video. (actually, PtBi (http://ptbi.metaclassofnil.com/) does use FXAA for video)
FXAA is built into Nvidia's drivers, so it seems that you can apparently create a profile for your media player (or MPC-HC at least) and force it on. I haven't tried it though.
EDIT:
Of course supersampling (SSAA) and multisampling (MSAA) do something with video. Whether it's preferred over FXAA or AR is subjective, some comparisons. (http://www.sendspace.com/file/ry3aft)There's no difference between any of these images, except for the one with anti-ringing enabled. Not even FXAA is doing anything, and there's no way for MSAA/SSAA to do anything to video.
That being said, some screenshot utilities are not able to capture post-process AA, so FXAA might be doing something locally that is not being captured in your screenshots.
turbojet
8th April 2013, 07:21
You need to look closer than check the car's trim, headlights, grill, rim, or even the BBC America logo, also different sizes means difference. Moving picture would show the difference a lot more but don't think that's possible. How did you come to the conclusion that SSAA and MSAA can't do anything when it's forced on and showing a difference in the pics?
6233638
8th April 2013, 07:23
You need to look closer than check the car's trim, headlights, grill, or even the BBC America logo, also different sizes means difference. Moving picture would show the difference a lot more but don't think that's possible. How did you come to the conclusion that SSAA and MSAA can't do anything when it's forced on and showing a difference in the pics?There's no difference between any of them, other than the one with anti-ringing enabled. (and slight changes in the dither pattern)
If I layer them on top of each other and use the "Difference" filter in Photoshop, you just get a black image. (i.e. no difference)
EDIT:
AR Difference (http://www.abload.de/img/ar-differencevak1p.jpg)
FXAA Difference (http://www.abload.de/img/fxaa-difference18k1y.jpg)
16xSSAA Difference (http://www.abload.de/img/ssaa-differencef4kgm.jpg)
I am not doubting that FXAA may be making a difference for you though - I haven't tried it here yet (frankly I don't want to mess around with it - I hate how FXAA looks and have it forced off in the driver right now) but depending on what you are using to take screenshots, post-process AA often won't show up in them.
turbojet
8th April 2013, 07:45
There's a difference in the 16xSSAA pic you posted, also difference with avisynth subtract. (http://oi49.tinypic.com/j10k87.jpg)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.