View Full Version : madVR - high quality video renderer (GPU assisted)
yesgrey
12th April 2009, 12:37
oh ok, coz this link says that HLSL can work in up to 64float
But madshi said he's using 32FP. Don't worry that's more than enough.;)
leeperry
12th April 2009, 12:54
But madshi said he's using 32FP. Don't worry that's more than enough.;)
I think so yeah :p and I rest my case that MVR looks sharper than HR...w/ LSF/GrainF3/Reclock on top of it, it's really mind blowing on the BD of "The Nightmare Before Christmas" in 48Hz :cool:
Apparently the ghost lines in HR disappear if you set the max PS model to 1.1/1.4 instead of 2.0...I'd like to try to see if it improves HR's sharpness, but it'd require a reboot in RivaTuner...and I'm afraid CoreAVC CUDA/MVR might not like 1.1 PS :D
rica
12th April 2009, 13:36
Thanks madshi, just started trials...
FYI guys: no need a custom MPC-HC build.
Register MadVideoRenderer.ax and select it as preferred under external filters.
Here is the graph at the background of MPC-HC:
http://img9.imageshack.us/img9/6595/madvid01.th.png (http://img9.imageshack.us/my.php?image=madvid01.png)
SS from MPC-HC:
http://img412.imageshack.us/img412/9042/madvid02.png (http://img412.imageshack.us/my.php?image=madvid02.png)
Here is the config:
http://img412.imageshack.us/img412/2941/madvid03.png (http://img412.imageshack.us/my.php?image=madvid03.png)
BTW, no problem here:
GTX 260 nVidia FW 185.66 Vista SP1
_ _ _ _ _ _
ice25
12th April 2009, 13:36
Got rid of the tearing by switching around the secondary and primary display.. The CPU usage when i display MadVR on the secondary display is through the roof..
madshi
12th April 2009, 16:19
FYI guys: no need a custom MPC-HC build.
Register MadVideoRenderer.ax and select it as preferred under external filters.
Nice - didn't know that the "preferred" functionality also works for renderers!
madshi
12th April 2009, 16:23
madVR 0.3 released
http://madshi.net/madVR.zip
* lowered CPU consumption a bit
* playback start is now delayed until 3dlut file is fully loaded
* during initialization madVR posts a message to the screen
* added OSD (on screen display) with some stats, can be toggled with Ctrl+J
* added display refresh rate detection
* added GPU rendering time measurements
* Direct3D resources are completely freed on exit now
* errors are now properly handled and displayed
* if 10bit textures are not available, 8bit textures are used instead
* fixed: window size in GraphEdit was slightly too small
* missing 3dlut files are now automatically created by calling "cr3dlut"
* depending on source resolution "SD.3dlut" or "HD.3dlut" is loaded now
* renamed "madVideoRenderer" to "madVR" everywhere
* settings are now saved to (and read from) "settings.ini" file
* improvement for playing video on secondary monitor (not tested)
NOTE:
I've renamed the file from "madVideoRenderer.ax" to "madVR.ax" now. That means you should uninstall/unregister the old version before updating to the new one.
Also please don't be shocked if the first movie playback startup time of madVR 0.3 is extremely long - that's because madVR is not shipping with any 3dlut files, anymore. Instead the 3dlut files are now created on demand (by calling yesgrey3's "cr3dlut" tool), which takes several seconds. But this only occurs the first time you start a movie (it occurs once for SD content and once for HD content).
----------------------
Guys, please test:
(1) Does playback on secondary monitor work better now?
(2) Is the display refresh rate detection working properly (press Ctrl+J)? Also on secondary monitor?
(3) If you have a lot of trouble with stuttering, please post the stats from the OSD (Ctrl+J). That might help figuring out whether your graphics card is too slow, or whether there's a different problem. You can also turn on all the "trade quality for performance" options and check in the OSD which effect these options have on GPU rendering time.
Thunderbolt8
12th April 2009, 17:07
hm stats from a movie (quite grainy movie)
display 59.XXXHz
movie 23.976 fps
1920, 1080
vsync interval 16.73ms
movie frame interval 41.71ms
avrg gpu rendering time 47.XXms
max gpu rendering time 47.XXms
doesnt run smoothly on that c2q with 7600GT (AGP), so how can I determine this from the numbers? is it like that that the avrg gpu rendering time value has to be lover than the movie fram interval value for fluent playback?
edit: when I enable all those "performance for quality settings" then the avrg gpu rendering time drops to ~30ms and it looks almost fluent (max gpu rendering time sometimes still higher than movie framerate interval; creating 10bit textures fails, uses 8bit instead)
rica
12th April 2009, 17:34
some feedback:
tried to open an avs file including a dga created by neuron's DGAVCDecodeNV in MPC-HC. (Sure CUVID server is opened)
Here are the results:
with EVRCustom Presenter CPU utilization is 20 to 35%
with madVR, it is 50 to 75 %.
.03 didn't change the CPU usage.
Is the display refresh rate detection working properly (press Ctrl+J)?
Yes:
http://img412.imageshack.us/img412/2444/madvid04.png
_ _ _ _
leeperry
12th April 2009, 17:38
so my custom timings are not as spot-on as I initially thought...that's w/ CoreAVC CUDA :
http://www.image-load.eu/out.php/i157460_jitter.png
I should be getting an ideal frame interval of 41.67, and it's 41.71...I guess it can't get any better than that just yet :o
and you've added LUT support for SD/HD, awesome :)
now if you could add an option to force triple buffering(this works in MPC HC+VMR9/EVR to never miss the VSYNC fliptime w/ Reclock, using D3DOverrider.exe from the RivaTuner package) and let us fake the GUID to improve compatibility in third party players(MVR is only a few days old), I'd be a happy camper :)
maybe making the OSD white would make it more readable too.. :thanks:
yesgrey
12th April 2009, 17:40
is it like that that the avrg gpu rendering time value has to be lover than the movie fram interval value for fluent playback?
Yes. If madVR is taking more time to render the frame that the time interval between each frame, the next frame to render will be delayed...;)
leeperry
12th April 2009, 17:51
I've got a dllhost.exe that doesn't want to die since I've installed the new beta...maybe it's unrelated :confused:
madshi
12th April 2009, 17:55
hm stats from a movie (quite grainy movie)
display 59.XXXHz
movie 23.976 fps
1920, 1080
vsync interval 16.73ms
movie frame interval 41.71ms
avrg gpu rendering time 47.XXms
max gpu rendering time 47.XXms
doesnt run smoothly on that c2q with 7600GT (AGP), so how can I determine this from the numbers? is it like that that the avrg gpu rendering time value has to be lover than the movie fram interval value for fluent playback?
edit: when I enable all those "performance for quality settings" then the avrg gpu rendering time drops to ~30ms and it looks almost fluent (max gpu rendering time sometimes still higher than movie framerate interval; creating 10bit textures fails, uses 8bit instead)
Grainy or not doesn't matter to madVR. You'd get the same stats even with a static test pattern... ;) Only source resolution and framerate matters to madVR.
Well, that is one slow GPU you have there! I take it you have scaling disabled (1:1 display)? If so, could you please zoom a little and post the average GPU rendering time then? Does it go to 100ms per frame then? :eek:
If you want to give madVR even a chance to achieve smooth playback you have to achieve an "average gpu rendering time" that is a notch lower than the "movie frame interval". I'd say it should not be higher than 35ms for 23.976 playback. Now the optimal configuration for madVR is if you drive the display with the same refresh rate the source is in (in your case 23.976Hz). If you have to use 59.940Hz, things get slightly more difficult for madVR. In that case you may have to bring "average gpu rendering time" down even more. But madVR is not optimized for this situation yet, so even if you do manage to bring gpu rendering time down, don't expect perfect smoothness with the current madVR version.
I'm not sure yet how much influence "max gpu rendering time" will have. Could be that high spikes in that area may result in frame drops. Or maybe not, if I find a way to smoothen things out...
tried to open an avs file including a dga created by neuron's DGAVCDecodeNV in MPC-HC. (Sure CUVID server is opened)
Here are the results:
with EVRCustom Presenter CPU utilization is 20 to 35%
with madVR, it is 50 to 75 %.
.03 didn't change the CPU usage.
Hmmmmmm... I still don't know why CPU utilization is higher with madVR than it is with EVR/VMR/Haali. In theory there shouldn't really be much difference... :( Maybe I will find out one day. But for now I have different priorities, so CPU consumption will have to wait...
so my custom timings are not as spot-on as I initially thought...that's w/ CoreAVC CUDA :
I should be getting an ideal frame interval of 41.67, and it's 41.71...I guess it can't get any better than that just yet :o
You are misinterpreting the OSD information. The "frame interval" is for the movie source framerate. It's not for the display refresh rate. For the display refresh rate look at the first line in the OSD, that looks quite good. Or look at "vsync interval", which is basically half of 41.67 (due to using 48Hz instead of 24Hz), so you should be happy.
now if you could add an option to force triple buffering
Things are not as easy as that. There's more to smooth playback than just enabling triple buffering. Actually triple buffering can be bad in some situations. Anyway, I don't want to talk about smooth motion playback improvements right now because (as I said multiple times), that feature is simply not implemented yet.
and let us fake the GUID to improve compatibility in third party players
No plans for that right now. Please ask those 3rd party players to support madVR.
maybe making the OSD white would make it more readable too.. :thanks:
The OSD layout is not final yet. Only few things in madVR are final right now...
STaRGaZeR
12th April 2009, 17:57
Refresh rate detection is working properly here. However I'm experiencing the typical "colors are washed out" situation. My monitor expects PC levels and it seems that madVR is sending TV levels. All other renderers are fine. To have proper levels with madVR I've to use ffdshow's levels filter. BTW could you provide with a brief description of each resizer? I know a few of them but not the others.
leeperry
12th April 2009, 18:01
I've got a dllhost.exe that doesn't want to die since I've installed the new beta...maybe it's unrelated :confused:
apparently it comes from the "ComSysApp" COM+ service, did you use that to create the LUT's from yesgrey's app or sumthing? if so, it might need to be closed afterwards.
look at "vsync interval", which is basically half of 41.67 (due to using 48Hz instead of 24Hz), so you should be happy.
[...]
I don't want to talk about smooth motion playback improvements right now because (as I said multiple times), that feature is simply not implemented yet.
[...]
No plans for that right now. Please ask those 3rd party players to support madVR.
[...]
The OSD layout is not final yet. Only few things in madVR are final right now...
1)I am happy, no worries :D
2)got it, just an idea :o
3)I did, but the main KMP coder is AWOL...and I tried to hexedit the GUID in both your renderer and kmp.exe w/o succeeding
4)yet it looks really good already :cool:
the measured refresh rate slightly oscillates from time to time, no wonder Reclock is mandatory for smooth playback..
yesgrey
12th April 2009, 18:19
Hmmmmmm... I still don't know why CPU utilization is higher with madVR than it is with EVR/VMR/Haali.
Are you sure all your buffers are created in the GPU memory? Maybe it's using some of the RAM of the computer, which should slow things down and increase CPU usage...
rica
12th April 2009, 18:20
Hmmmmmm... I still don't know why CPU utilization is higher with madVR than it is with EVR/VMR/Haali. In theory there shouldn't really be much difference... Maybe I will find out one day. But for now I have different priorities, so CPU consumption will have to wait...
OK, thanks, sure we have time for this :)
But i should remind you when i open an m2ts with any SW based decoder (like arcsoft), CPU consumption is 75 to 100%.
My trials were based on DGAVCDecodeNV as you know.
:thanks:
STaRGaZeR
12th April 2009, 18:23
Are you sure all your buffers are created in the GPU memory? Maybe it's using some of the RAM of the computer, which should slow things down and increase CPU usage...
I get ~309MB of RAM usage with madVR vs ~105MB with EVRCP.
Any chance of a x64 build?
KoD
12th April 2009, 18:24
madshi, I've sent you a PM with a small anamorphic sample displayed by the renderer with wrong AR . Source is DVD.
ice25
12th April 2009, 18:25
CPU usage is still very high when i use the secondary display for madVR, but according to the stats it's detecting the refresh rate from the primary screen while i'm using the secondary display. So i guess refresh detection for secondary display is bugged atm, cpu usage should be fixed once you get around fixing that.
madshi
12th April 2009, 18:40
could you provide with a brief description of each resizer? I know a few of them but not the others.
Check out this page:
http://audio.rightmark.org/lukin/graphics/lhouse_more.htm
In my source code I've added the following comments. They might help here, too:
aliasing (negative): the lower the better
additional ringing (negative): the lower the better
hide source ringing (positive): the higher the better
sharpness (positive): the higher the better
Bilinear (2 tap)
- aliasing = 5
- additional ringing = 0
- hide source ringing = 3
- sharpness = 5
Catmull-Rom = Bicubic50, Bicubic60, Bicubic75 (2 tap)
- aliasing = 4.5, 3.5, 3
- additional ringing = 1, 2, 3.5
- hide source ringing = 0
- sharpness = 7.25, 7.50, 7.75
Mitchell-Netravali (2 tap)
- aliasing = 4
- additional ringing = 1
- hide source ringing = 1
- sharpness = 5
SoftCubic80, SoftCubic70, SoftCubic60, SoftCubic50 (2 tap)
- aliasing = 0.25, 1, 2, 2.5
- additional ringing = 0, 0.25, 0.5, 0.75
- hide source ringing = 7, 6, 3, 1
- sharpness = 2, 3, 3.5, 4
Lanczos3 (3 tap), Lanczos4 (4 tap)
- aliasing = 2, 1
- additional ringing = 6, 8
- hide source ringing = 0
- sharpness = 8.5, 9
Spline36 (3 tap), Spline64 (4 tap)
- aliasing = 2.5, 2.3
- additional ringing = 4.5, 5
- hide source ringing = 0
- sharpness = 8, 8.1
Please note that these numbers are just my personal opinion. There's nothing scientific about these numbers.
apparently it comes from the "ComSysApp" COM+ service, did you use that to create the LUT's from yesgrey's app or sumthing?
madVR has nothing to do with COM+.
the measured refresh rate slightly oscillates from time to time, no wonder Reclock is mandatory for smooth playback..
Refresh rate measurements are not an exact science. It is to be expected that the measurement oscillates. That does not mean that the real refresh rate does that, too. It just means that the measurement is not perfect. Not too much of a problem, though. madVR doesn't need perfection in this case, if it's reasonably close (as in < 1% from true value), that's good enough.
Are you sure all your buffers are created in the GPU memory? Maybe it's using some of the RAM of the computer, which should slow things down and increase CPU usage...
In theory all buffers used for the rendering should be on the GPU, I've intentionally done it that way.
I get ~309MB of RAM usage with madVR vs ~105MB with EVRCP.
madVR stores 16 decoded frames in RAM.
Any chance of a x64 build?
Not for now, maybe later, when 32bit is more or less complete...
CPU usage is still very high when i use the secondary display for madVR, but according to the stats it's detecting the refresh rate from the primary screen while i'm using the secondary display. So i guess refresh detection for secondary display is bugged atm, cpu usage should be fixed once you get around fixing that.
Too bad, I had hoped that was fixed. Can't properly test it cause I don't have a secondary display at the moment. So I guess the fix will have to wait a while...
noee
12th April 2009, 19:03
XPSP3, HD2600XT, CCC9.4, AMD X2 3.0Ghz, Reclock, MPC-HC (int decoders)
Monitors: (Prim) Samsung 60Hz (PC levels) - (Sec) LG 37 24/60Hz (Video Levels)
Source material: SD = 23.976@24Hz AVC in MKV, HD = 29.970@60Hz AVCHD in M2TS (1080P)
1. Still getting tearing on secondary, SD and HD
2. madVR displaying 60Hz on my secondary (LG) when the monitor is set for 24Hz
Not getting the automatic creation of the LUT's. I ended up creating them myself with modified config files.
I have retained the folder structure from the zip with "cr3dlut" folder in a "madVR" folder.
madshi
12th April 2009, 19:06
1. Still getting tearing on secondary, SD and HD
2. madVR displaying 60Hz on my secondary (LG) when the monitor is set for 24Hz
Yeah, seems that madVR still thinks it's running on primary.
Not getting the automatic creation of the LUT's.
What did you get instead? Any error messages? Or a crash? Or what?
yesgrey
12th April 2009, 19:07
In theory all buffers used for the rendering should be on the GPU, I've intentionally done it that way.
madVR stores 16 decoded frames in RAM.
So the frames are stored in RAM instead of GPU memory?
If they are, when you process them with the GPU are you accessing them via the AGP/PCI-E or via the CPU? Could this be the source of the high CPU usage?...
madshi
12th April 2009, 19:12
madVR v0.3 released *again*
http://madshi.net/madVR.zip
* updated cr3dlut templates
Sorry guys, please redownload. madVR itself is unchanged, but yesgrey3 has been so kind to provide me with some preconfigured cr3dlut templates. Mine has been wrong, it seems.
Please delete "out16.3dlut" (in case you still have it) and "SD/HD.3dlut". Then rerun madVR. Hopefully that will clear any and all complaints about washed out colors.
BTW, there are also templates for video levels now. If you need video levels, replace the files "SD/HD.txt" with "template - SD/HD - Video.txt", then delete "SD/HD.3dlut" and rerun madVR.
Xorp
12th April 2009, 19:12
30mbps avg Blu-ray remuxed to mkv with eac3to, weird resolution reported (its 1920x1080)
http://img151.imageshack.us/img151/2922/testa.png
framerate stays around 18fps according to zoomplayer's stats
graphics card is 8800GTS-640MB
madshi
12th April 2009, 19:12
So the frames are stored in RAM instead of GPU memory?
No. I'm uploading every frame to GPU memory before processing it, of course.
madshi
12th April 2009, 19:17
30mbps avg Blu-ray remuxed to mkv with eac3to, weird resolution reported (its 1920x1080)
Strange! How does the pin connection info look like?
Not sure why you only get 18fps. Might be due to madVR consuming too much CPU so that your decoder chokes (the frame queue is only at 3/16, usually it should be 16/16, having it at so low value means that the decoder is not delivering frames fast enough). But your gpu rendering times are also quite heavy.
Do you happen to have another filter running (e.g. ffdshow) which upscales the video to double resolution? :confused: That would explain the strange movie resolution report and also the high gpu rendering times.
noee
12th April 2009, 19:19
Sorry, yeah, the msg I get is:
madVR Reports:
opening 3dlut file fails
madshi
12th April 2009, 19:23
madVR Reports:
opening 3dlut file fails
Do you happen to use a non-ansi char path? That's the only cause I can imagine right now. Lazy as I am I used ansi chars instead of unicode... :o Or is your overall madVR directory path extremely long (> 260 chars)?
Thunderbolt8
12th April 2009, 19:27
Grainy or not doesn't matter to madVR. You'd get the same stats even with a static test pattern... ;) Only source resolution and framerate matters to madVR.
Well, that is one slow GPU you have there! I take it you have scaling disabled (1:1 display)? If so, could you please zoom a little and post the average GPU rendering time then? Does it go to 100ms per frame then? :eek:
just wanted to indicate grainy = high bitrate file here :)
yes, the card is quite old. I have the same one (as PCIE though) in my own C2D system, might be a tiny bit faster, but not much I guess.
the display I used here has 1680*1050 res, so its not 1:1 (the other screen on my own system has 1280*1024). so you still want me to try zoom? but how can I do that, have no clue about zooming options :S
If you want to give madVR even a chance to achieve smooth playback you have to achieve an "average gpu rendering time" that is a notch lower than the "movie frame interval". I'd say it should not be higher than 35ms for 23.976 playback. Now the optimal configuration for madVR is if you drive the display with the same refresh rate the source is in (in your case 23.976Hz). If you have to use 59.940Hz, things get slightly more difficult for madVR. In that case you may have to bring "average gpu rendering time" down even more. But madVR is not optimized for this situation yet, so even if you do manage to bring gpu rendering time down, don't expect perfect smoothness with the current madVR version.
hm so your advise would be to change it to 24 (or exactly 23.976?)Hz? how can I do that, in my graphic card options when I rightclick on windows screen and then properties (only have the option to choose either 59 or 60Hz there)? or do I need to change that in ffdshow?
TinTime
12th April 2009, 19:31
* depending on source resolution "SD.3dlut" or "HD.3dlut" is loaded now
How does madVR decide what's SD and what's HD? What are the resolution cut-offs?
The crtl+J info is reporting the refresh rate correctly for me at 24Hz, 50Hz and 60Hz (I only use a primary display). Average GPU rendering time hovers around 14ms for 24Hz playback. I've tried a blu-ray AVC source (muxed to mkv with eac3to) and that works for me with CoreAVC CUDA decoding too, on a 512MB 8600GT.
I tried turning off CUDA decoding in CoreAVC and found that I got some tearing during playback of HD AVC files. It looks like tearing for me is a symptom of my PC not quite decoding fast enough. It's an Athlon X2 5600+, which I think is a bit borderline for HD decoding. It's not a problem with madVR itself, unless madVR should absolutely never tear under any circumstances.
HD VC1 is similar. I get occasional tearing which seems to coincide with a dropping in the number of frames in the frame queue reported by madVR. I can't get totally smooth playback with other renderers either though for HD VC1, except for VMR9 with DXVA.
Xorp
12th April 2009, 19:38
Strange! How does the pin connection info look like?
Not sure why you only get 18fps. Might be due to madVR consuming too much CPU so that your decoder chokes (the frame queue is only at 3/16, usually it should be 16/16, having it at so low value means that the decoder is not delivering frames fast enough). But your gpu rendering times are also quite heavy.
Do you happen to have another filter running (e.g. ffdshow) which upscales the video to double resolution? :confused: That would explain the strange movie resolution report and also the high gpu rendering times. Only CoreAVC was decoding, nothing else.
I had the same low fps problem in MPC custom build with madVR, but when I went back to the Beliyaal-build setting madVR as a preferred external renderer, everything runs smoothly now. Getting 16/16 frame queues.
madshi
12th April 2009, 19:46
the display I used here has 1680*1050 res, so its not 1:1 (the other screen on my own system has 1280*1024). so you still want me to try zoom?
No, scaling was probably already activated because it's not 1:1.
hm so your advise would be to change it to 24 (or exactly 23.976?)Hz? how can I do that, in my graphic card options when I rightclick on windows screen and then properties (only have the option to choose either 59 or 60Hz there)? or do I need to change that in ffdshow?
That would be graphics card properties or PowerStrip (if all else fails). But that makes sense only if your display can handle that!
How does madVR decide what's SD and what's HD? What are the resolution cut-offs?
HD = wider than 1024 or higher than 576
The crtl+J info is reporting the refresh rate correctly for me at 24Hz, 50Hz and 60Hz (I only use a primary display). Average GPU rendering time hovers around 14ms for 24Hz playback. I've tried a blu-ray AVC source (muxed to mkv with eac3to) and that works for me with CoreAVC CUDA decoding too, on a 512MB 8600GT.
Sounds good to me.
Only CoreAVC was decoding, nothing else.
I had the same low fps problem in MPC custom build with madVR, but when I went back to the Beliyaal-build setting madVR as a preferred external renderer, everything runs smoothly now. Getting 16/16 frame queues.
Strange. Could you please post the pin connection info? (right click -> filters -> madVR -> Pin Info). If possible for both the situation where madVR reports the funny resolution. And also for the situation where madVR runs fluidly. There must be a difference somewhere. I'd really like to know why madVR reports such a high resolution for you!
madshi
12th April 2009, 19:48
Two questions for those of you who have such ultra high CPU consumption:
(1) Is that with the OSD turned on? Or also with OSD turned off? FWIW, with OSD turned off CPU consumption should be a bit lower than with it turned on.
(2) Are you running madVR on your primary monitor? Or on secondary? I'm asking because running on secondary has problems right now...
STaRGaZeR
12th April 2009, 20:10
Check out this page:
Thanks for the info.
madVR stores 16 decoded frames in RAM.
Wouldn't it be better to store them in the GPU RAM? EVRCP does this, maybe it'd solve latency problems and/or CPU consumption.
Oh and the levels are good now, thanks!
Does madVR have any kind of deinterlacer? Interlaced material looks deinterlaced, with ghosting though. Of course no other deinterlacer is in the chain.
yesgrey
12th April 2009, 20:10
Here are my stats while playing a Blu-ray movie remuxed to a mkv file. My card is a GF 8600GT 256MB.
9756
The frame rendering is ~14ms. For playing in my monitor at 72Hz (13.9ms) is not enough, but should be fine to use with my projector at 48Hz (20ms). If I use Lanczos or Spline resampling the rendering time jumps to ~20ms, so I should not be able to use those resamplers with smooth playing...
madshi, would it be possible for us to set the number of frames buffered (maybe in the settings.ini)? I could try reduce the number to see if it works better with cuda enabled...
yesgrey
12th April 2009, 20:18
In my source code I've added the following comments. They might help here, too:
It might be a good idea to include those comments in the readme...
madshi
12th April 2009, 20:20
The frame rendering is ~14ms. For playing in my monitor at 72Hz (13.9ms) is not enough, but should be fine to use with my projector at 48Hz (20ms). If I use Lanczos or Spline resampling the rendering time jumps to ~20ms, so I should not be able to use those resamplers with smooth playing...
You would be right if madVR needed to draw a *new* Blu-Ray frame every VSync. But if it did that, you'd get 3x respectively 2x as fast movie playback as you should get. madVR has to skip lots of VSyncs with your refresh rates. Because of that the most important reference time is not the "vsync interval" but the "frame interval". So I think you should be able to use Lanczos4 just fine, sooner or later...
madshi, would it be possible for us to set the number of frames buffered (maybe in the settings.ini)? I could try reduce the number to see if it works better with cuda enabled...
The frame queue is stored in RAM, not in GPU. So how could it possibly conflict with CUDA?
It might be a good idea to include those comments in the readme...
I hope that sooner or later I can reduce the number of scaling options. I was hoping to start a vote after a while for which scaling options to keep and which to remove.
leeperry
12th April 2009, 20:21
It might be a good idea to include those comments in the readme...
I think the AVS peeps advise spline36 as the "best" choice...so that's 3 taps then :)
Xorp
12th April 2009, 20:24
madVR selected in Output
Filter : madVR - CLSID : {E1A8B82A-32CE-4B0D-BE0D-AA68C772E423}
- Connected to:
CLSID: {9852A670-F845-491B-9BE6-EBD841B8A613}
Filter: DirectVobSub (auto-loading version)
Pin: Output
- Connection media type:
Video: YV12 3840x2160 24.00fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_YV12 {32315659-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(0,0)
rcTarget: (0,0)-(0,0)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 416666
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 3200
dwPictAspectRatioY: 1800
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 3840
biHeight: 2160
biPlanes: 3
biBitCount: 12
biCompression: YV12
biSizeImage: 12441600
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 00 00 00 00 00 9a 5b 06 00 00 00 00 00 ........š[......
0030: 00 00 00 00 00 00 00 00 80 0c 00 00 08 07 00 00 ........€.......
0040: 00 00 00 00 00 00 00 00 28 00 00 00 00 0f 00 00 ........(.......
0050: 70 08 00 00 03 00 0c 00 59 56 31 32 00 d8 bd 00 p.......YV12.ؽ.
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
madVR set as preferred in external filters
Filter : madVR - CLSID : {E1A8B82A-32CE-4B0D-BE0D-AA68C772E423}
- Connected to:
CLSID: {09571A4B-F1FE-4C60-9760-DE6D310C7C31}
Filter: CoreAVC Video Decoder
Pin: Output
- Connection media type:
Video: YV12 1920x1080 24.00fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_YV12 {32315659-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(0,0)
rcTarget: (0,0)-(0,0)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 416666
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 1920
dwPictAspectRatioY: 1080
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1080
biPlanes: 3
biBitCount: 12
biCompression: YV12
biSizeImage: 3110400
biXPelsPerMeter: 1
biYPelsPerMeter: 1
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 00 00 00 00 00 9a 5b 06 00 00 00 00 00 ........š[......
0030: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0040: 00 00 00 00 00 00 00 00 28 00 00 00 80 07 00 00 ........(...€...
0050: 38 04 00 00 03 00 0c 00 59 56 31 32 00 76 2f 00 8.......YV12.v/.
0060: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
So DirectVobSub was interfering.
Brazil2
12th April 2009, 20:31
madVR v0.3 released *again*
I can't get any OSD, Ctrl+J has no effect at all.
Maybe because I've manually installed MadVR.ax (using regsvr32) rather than using InstallFilter.exe ?
I'm still having aspect ratio problems with the sample I've posted here:
http://forum.doom9.org/showthread.php?p=1272713#post1272713
And also with this one:
http://mirror05.x264.nl/public/force.php?file=./beyonce.at.the.bbc.1080mbaff.sample.ts
Both files are playing fine with the correct aspect ratio with other renderers.
And I have problems with MPEG2 NTSC interlaced when the built-in MPC-HC decoder is set to BOB. It's hard for me to describe what is happening but the image is 'shaking' a lot.
It seems to be OK with PAL MPEG2 interlaced though.
madshi
12th April 2009, 20:32
So DirectVobSub was interfering.
Yep. I've never used DirectVobSub myself yet, but it seems that it doubled resolution somehow for you, probably with the intention of being able to render smoother looking subtitles. Of course having 4x as many pixels brings madVR (or rather your graphics card) to its knees. Your gpu rendering times should be a lot lower without DirectVobSub doubling resolution, I guess about 4x lower. And that makes a lot more sense because your 8800 should be quite powerful and should have no problems with processing 1080p24.
madshi
12th April 2009, 20:35
I can't get any OSD, Ctrl+J has no effect at all. Maybe because I've manually installed MadVR.ax (using regsvr32) rather than using InstallFilter.exe ?
Strange, seems to work for everyone else? Manually installing makes no difference.
I'm still having aspect ratio problems with the sample I've posted [...] and also with this one
Thanks, will have a look at that later...
And I have problems with MPEG2 NTSC interlaced when the built-in MPC-HC decoder is set to BOB. It's hard for me to describe what is happening but the image is 'shaking' a lot.
If that fine with other renderers? If so, can I have just another sample? :)
Brazil2
12th April 2009, 20:52
If that fine with other renderers? If so, can I have just another sample? :)
Yes, it's fine with other renderers.
Well, any MPEG2 NTSC interlaced DVD compliant file I've tried is doing the same. I've tried with a VOB from a ripped and decrypted DVD (because I couldn't play the DVD itself in MPC-HC with MadVR, MPC-HC just hangs and nothing happens) and also with a MPG file created with MEncoder which is DVD NTSC film compliant. Maybe the 3:2 pulldown is the problem ?
I live in PAL land so I don't have much MPEG2 NTSC material but the ones I have are not working fine when MPC-HC decoder is forced to BOB.
yesgrey
12th April 2009, 20:56
So the frames are stored in RAM instead of GPU memory?
No. I'm uploading every frame to GPU memory before processing it, of course.
The frame queue is stored in RAM, not in GPU. So how could it possibly conflict with CUDA?
From the previous answer I thought the frame queue was stored in GPU memory... now I realize that I've not understood completelly your reply. They are stored in RAM but are copyed to GPU memory (one at a time) before starting any processing. Got it.:)
Because of that the most important reference time is not the "vsync interval" but the "frame interval". So I think you should be able to use Lanczos4 just fine, sooner or later...
Great! so it seems I could keep my 8600gt a little longer...;)
I hope that sooner or later I can reduce the number of scaling options. I was hoping to start a vote after a while for which scaling options to keep and which to remove.
I plan to do my scaler test and will post here the results...
I can't get any OSD, Ctrl+J has no effect at all.
Maybe because I've manually installed MadVR.ax (using regsvr32) rather than using InstallFilter.exe ?
Have you uninstalled the previous? madVideoRenderer.ax?
Brazil2
12th April 2009, 20:59
Have you uninstalled the previous? madVideoRenderer.ax?
Yes, of course I did :)
regsvr32 -u madVideoRenderer.ax
regsvr32 madVR.ax
I haven't rebooted since then. Should I ?
yesgrey
12th April 2009, 21:10
I haven't rebooted since then. Should I ?
Shouldn't be needed, but it will not hurt... maybe you should use the uninstall and install, instead of manually doing it...
leeperry
12th April 2009, 21:18
I've just realized that you can press CTRL+J twice and get even more stats...great for boring movies I guess :cool:
http://www.image-load.eu/out.php/t157493_kmpppp.png (http://www.image-load.eu/out.php/i157493_kmpppp.png)
it's good that it's like HR(and unlike EVR/VMR9), as long as you can catch the VSYNC properly it will remain so and *NOT* drop video frames :)
PS: that'd be fun if you could put 3 or 4 digits after the coma for the VSYNC interval.
buletti
12th April 2009, 21:53
So the frames are stored in RAM instead of GPU memory?
No. I'm uploading every frame to GPU memory before processing it, of course.
The frame queue is stored in RAM, not in GPU. So how could it possibly conflict with CUDA?
Could that be the cause of the high CPU load? The copy operation from RAM into VRAM is done by the CPU and is a rather slow operation AFAIR. However, after a short google search, it seems that this is no big issue anymore with PCI-E and asynchronous memcpy via CUDA...
Snowknight26
12th April 2009, 23:08
Can anything be done about an error that says "graphics card only supports power of 2 textures?" Happens with my GM45.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.