View Full Version : madVR - high quality video renderer (GPU assisted)
TheShadowRunner
6th November 2011, 11:07
Ok, it doesn't happen when madVR's internal decoder is used.. please check with external decoder.
madshi
6th November 2011, 11:17
Ok, it doesn't happen when madVR's internal decoder is used.. please check with external decoder.
Tested with CoreAVC, no problems, either.
TheShadowRunner
6th November 2011, 11:55
I'm losing my latin here.. ^^;;
Here is a debug log (http://videoff7.free.fr/madVR_log_norefresh_bug.zip). I start playing a video, minimize the player for 15 seconds, then bring it back up.
When bringing it back up, I clearly see the video going uber fast to catch up with the audio.
Thunderbolt8
6th November 2011, 12:19
Have you tested in windowed or exclusive mode? You don't have your GPU fixed at some lower clock? Does it not even work for interlaced SD content? Please cross check with VMR/EVRwhat I meant with 'doesnt work' was is 'is too slow'. tested both modes, fullscreen and windowed mode. EVR dxva decoding with MPC internal decoders generally works fine here (with progressive content and no deinterlacing ofc)
got little bit better results 5 mins ago. I could get the 29.97 fps AVC video to play (almost?) smoothly with queue number of at least 3. (coreavc 16.7mbps) same settings as yesterday (nearest neighbor + trade quality setttings). the VC-1 video was so-so (videodecoderdmo). for ~2 seconds the queue numbers are fine, but then they drop again. repeats all the time.
though when I tested the AVC video again just 1 minute later, it wasnt playing smooth any more as before. queues again down to 1, even though I didnt change any setting.
both vids seem to play fine or ok when I deactivate deinterlacing with these settings. (a bit better in fullscreen mode)
in catalyst settings amd overdrive is ticked, but values are set to default. setting the clock values to max or unticking the overdrive option doesnt seem to change anything though.
btw. when using the madvr video decoder, subs (directvobsub) dont seem to get loaded any more, though they do with LAV video for example. (has it always been like that?)
btw² The libav VC-1 decoder doesn't support interlaced decoding, unfortunately. Nothing I can do about it.
ffmpeg has "VC-1 interlaced decoding" listed in their changelog for the next version, so hopefully we have interlaced vc-1 decoding soon :) (and hooooopefully multithreading support)
derp
6th November 2011, 14:07
this should happen only if you have the madvr debug osd (ctrl+j) active. Without the madvr debug osd the subs should not disappear if you pause the video. Which media player are you using?
mpc-hc.
noee
6th November 2011, 14:17
Weird problem with Windowed Mode (MPC-HC and jRiver). Source interlaced SD NTSC Video. I get good numbers for the decoder, upload and interlace queues, but the render and backbuffer queues are 0-1 and it drops about 50 frames/second. When I switch to FSE, everything is golden, queues full and playback is "flawless", zero dropped....
I've created (and emailed to you) a log with playback start in windowed mode, about 5 seconds of playback, then the switch to FSE mode.
EDIT: Argh, I think this might be related to GPU downclocking, it's happening on all my sources now.....
Anyone else with ATI seeing anything like this?
6233638
6th November 2011, 16:23
Maybe. Is this a native video or movie source, btw (in case you know)? I've put it into my deinterlacing sample collection. Do you have any more such difficult to deinterlace samples?It should be film. (The Sweet Hereafter (http://www.imdb.com/title/tt0120255/))
I think I posted a sample from this before, but this should also be film. This was back when I tried getting 29.97 IVTC'ed to 23.976 but couldn't get it working correctly.
http://www.mediafire.com/?p60jl7wc61lxa3b
Whether you can make madVR work with DVDs or not has nothing to do with deinterlacing. That's still the same problem as in the past. If you do get it to work, then deinterlacing should work just fine. Depending on the decoder deinterlacing might get turned on automatically or not. If it doesn't and you need it, you can turn it on manually by pressing Ctrl+Alt+Shift+D twice.I had been under the impression that madVR would have to be doing the decoding to perform deinterlacing.
It looks like that is not the case. Previously, I had been recommending disabling the MS DVD decoder for mod-free DVD playback because the MPC-HC one allowed you to force weave deinterlacing, which was fine on "good" titles where that just worked, but disastrous on "tricky" films.
Because that was performing deinterlacing itself, madVR disabled its deinterlacing. (as it should)
It looks like madVR will perform deinterlacing if you use the MS DVD decoder though.
So with an external filter list of:
http://i.imgur.com/OPb57.png
DVD playback is working and madVR does the deinterlacing.
The ffdshow Audio Processor should not be necessary, I use that to downmix audio for headphone output, otherwise ReClock's WASAPI output complains. (I wish there was a better option)
I have ReClock selected as my audio renderer, and madVR as my video renderer in the Playback > Output section of MPC-HC.
The filter list when playing a DVD ends up as:ReClock Audio Renderer
madVR Renderer
ffdshow Audio Processor
Microsoft DTV-DVD Video Decoder
LAV Audio Decoder
DVD Navigator
No DLL modifications necessary. :D
EDIT: And I've just done a quick test in windowed mode, performing deinterlacing in a separate thread seems to improve performance here.
Deinterlace Queue goes from 6–9/9 to 7–9/9
Render Queue goes from 5–8/8 to 6–8/8
Backbuffer Queue goes from 4–7/8 to 5–7/8
JarrettH
6th November 2011, 16:36
How do you know the MS decoder isn't doing everything? :cool:
6233638
6th November 2011, 16:38
How do you know the MS decoder isn't doing everything? :cool:When I disable madVR's deinterlacing, the results are awful with "tricky" titles.
Andy o
6th November 2011, 16:52
What makes you say that? Do you get different black/white levels when switching that option? You should not, when using madVR. You probably will with EVR, but not with madVR. If you do, then please upload two small madVR logs, one with that option off and one with it on. Thx.
Sorry, 16-235 does get correct levels, but there is a difference between both settings, just like with EVR (if I'm not mistaken that was even implied in your release post?). In any case, logs: http://www.multiupload.com/QJMOEO1E2Q
How do you know? Does Ctrl+Alt+Shift+D claim deinterlacing is off? And you can't turn it on?
It's not that deinterlacing is not working (it's turned on), and it's working fine, only that it seems to be deinterlacing into 25p instead of 50p. It's the same difference I saw with LAV Video's CUVID set to 25/30p output vs. it set to 50/60p output.
I'm gonna switch to NV again later today to check these issues more thoroughly and let you know better.
robpdotcom
6th November 2011, 18:20
I installed my AMD card (5750), and tested with some fast moving content (tennis matches, fwiw, where it's easy for me to see a difference) - it was not nearly as smooth as with the NVIDIA GTS-450. Using EVR (with DXVA decoding) or yadif is clearly smoother than madVR on my AMD card - it really seemed like there was no deinterlacing going on. I tried playing around with some of the AMD video settings, and the "deinterlace in separate thread" option in madVR but no changes made any difference as far as I can see. The OSD shows that deinterlacing is being used, and all queues are full. Are there dropped frames? Are you using the same decoder for madVR and EVR? Can you see the difference in screenshots? Or is the non-smoothness more looking like frame drops, with no difference visible in screenschots?
There are no dropped frames. I tried with several different decoders, including the MS DTV-DVD decoder with EVR and madVR. As far as a difference in screen shots, I'll let you be the judge (I found it interesting that madVR says "deinterlacing off (framerate)", when using the internal decoder, and reports the framerate as 59.940):
Internal madVR decoder (http://www.2ndserve.com/internal%20madvr%20decoder.bmp)
MS DTV-DVD decoder/EVR (http://www.2ndserve.com/ms%20dtvdvd%20evr.bmp)
MS DTV-DVD decoder/madVR deinterlacing off (http://www.2ndserve.com/ms%20dtvdvd%20madvr%20deinter%20off.bmp)
MS DTV-DVD decoder/madVR deinterlacing on (http://www.2ndserve.com/ms%20dtvdvd%20madvr%20deinter%20on.bmp)
To me, the difference doesn't look like dropped frames when playing - it just looks like it isn't doubling the framerate, or maybe isn't even deinterlacing at all (I notice the difference in smoothness more than anything else). I also checked with 1080i59 VC-1 and h264 files, with the same results. It seems to me that I'm seeing the same thing as Andy o.
BTW: The issue with madVR reporting 59.940 only happens with the internal madVR decoder and Haali. Using the internal decoder with LAV Splitter shows a framerate of 29.970 (but the non-smoothness is still present).
pacemaker1000
6th November 2011, 18:31
Please help a noob who has been trying to get a decent setup for a week
if i am right MadVR now does DXVA for ATI?
to test this I opened ati control centre and play with the settings using the demo mode which puts a line down the screen to show what the tools are doing?
this does not show when using MadVR nor any enhancments, should they?
also running anydvd to play bluray discs and HWA not working
also '6233638' how exactly are you playing DVD's
nand chan
6th November 2011, 18:33
I can reproduce the problem but I don't have the means at this point in time to figure out what's going on exactly. On a first glance it doesn't seem to be a bug in madVR, but I could be wrong on that. FWIW, the issue doesn't seem to occur if you switch subtitles via madVR's tray icon. Which is what I'm usually doing, anyway. Isn't madVR's tray icon much prettier than Haali's? :p
An option to remove the annoying sub-menu then? The advantage of Haali's menu over MPC-HC's and madVR's is that I don't have to go to an extra sub-menu just to switch the track/see the chapters, I can see them immediately.
JarrettH
6th November 2011, 18:51
When I disable madVR's deinterlacing, the results are awful with "tricky" titles.
So just curious, why don't you have ffdshow do the decoding and tick off 'set interlaced flag in output media type' (it's in ffdshow video output), then menus and DXVA work! :D
Is it true then that madvr can do deinterlacing separate from decoding, but with cuvid you must enable decoding (MPEG2) to get that?
Thunderbolt8
6th November 2011, 19:04
if i am right MadVR now does DXVA for ATI?only DXVA deinterlacing. not full dxva support.
I got that wrong as well first, though :p
pacemaker1000
6th November 2011, 19:09
only DXVA deinterlacing. not full dxva support.
I got that wrong as well first, though :p
Doh!!!
got ne thinking as madshi actually says about disabling edge enhancements making me think it was using full dxva
SamuriHL
6th November 2011, 19:15
If only madshi had made that clear in his post for 0.78. You know, in big letters or something? sigh. :D
http://forum.doom9.org/showthread.php?p=1536640#post1536640
pacemaker1000
6th November 2011, 19:19
If only madshi had made that clear in his post for 0.78. You know, in big letters or something? sigh. :D
http://forum.doom9.org/showthread.php?p=1536640#post1536640
oooops feeling really stupid now :o
SamuriHL
6th November 2011, 19:23
oooops feeling really stupid now :o
Bah, we all make those kinds of mistakes. Nothing to worry about. :) I just thought it was funny that madshi took the time to make that huge statement and here we are discussing it. LOL :) I realize that any time DXVA is mentioned people automatically start thinking decoding. But DXVA clearly can be used for a variety of things. Thankfully! Cause I'm quite pleased with how well it works.
RBG
6th November 2011, 19:27
If I can reproduce it. I've just tried and turning audio processing on/off in PotPlayer does not crash here with my latest v0.78 sources. You can try again with v0.78 once it's released. If you still have the crash with v0.78, let me know, but then I'll need to be able to reproduce the crash on my PC.
Thanks for the response.:) I've tried 0.78 and the problem is still there. Every time I switch on/off audio processing, video playback stops and sound keeps going, or PotPlayer crashes, sometimes this bug occurs only when I switch audio processing several times rapidly.
I have uploaded MadVR debug logs, maybe this will help you.
Haali+LAV Video(CUVID mode)
AVsplitter+LAV Video(CUVID mode)
AVsplitter+PotPlayer Decoder(renderless mode)
http://www.filedropper.com/madvrlog
Also there are some compatibility problems with madVR internal deinterlacing and potplayer decoder(renderless mode), on this filter pair I got choppy playback. Tested on 1080i vc-1 in ts container.
nlnl
6th November 2011, 19:53
madshi
Thank you very much for hardware deintelacing (I have been dreaming for that since madvr 0.1 :)).
So dxva hard deinterlacer is a "black box" that works the following way:
1) 1080\576i50 --> 1080\576p50, if "black box" detects pure video and --> 1080\576p25, if "black box" detects film content.
2) 1080\480i59 --> 1080\480p59, if "black box" detects pure video and --> 1080\480p29, if "black box" detects film content.
Am I right?
So "black box" does IVTC for PAL and does not for NTSC?
Tested .78 for HD video content ("slices" tests and music videos). Everything is OK. Madvr = EVR
Tested with some PAL SD content (DVD remuxed to mkv). I am not sure, but sometimes when I switch deinterlacing off the result is better, cleaner (plain soft weaving). Is "black box" really good film content detector? Does it just weave?
madshi Would you recommend use soft weaving deinterlacing for PAL film content ?
Config: 5750, W7
cremor
6th November 2011, 19:54
When I play a file that contains something like "1080p24" in its name the Ctrl-J stats always show that frame rate, although my "display modes" box is completely empty (tested in 0.77 and 0.78). Is this by design?
Also, why does it still show "(says source filter)" when I've overridden the information from the filter?
Another small thing I noticed 0.78: When I pause a video in windowed mode the decoder queue goes to 13-13/12. Weird :D
Noticed some big problems in my first deinterlacing tests. Will continue to test and report back tomorrow.
6233638
6th November 2011, 19:55
So just curious, why don't you have ffdshow do the decoding and tick off 'set interlaced flag in output media type' (it's in ffdshow video output), then menus and DXVA work! :Dffdshow decoding doesn't seem to work with DVD playback, and I had to remove ffdshow to stop the Macrovision errors with DVD playback. (I think it might have been the audio decoder? It was so long ago now that I forget the specifics)
robpdotcom
6th November 2011, 20:29
Update on my problem of madVR deinterlacing not being smooth:
My card is the 5750. I uninstalled the latest driver, and went back to the oldest driver I have saved - 10.7. Playback is now very smooth. I tried two other versions in between 10.7 and 11.10 (11.7 and 11.8) - both versions brought back the problem.
Could it be a problem with the older cards (5XXX) and the newer drivers (the drivers released since the CCC revamp)?
After realizing it was the newer drivers, I tried a few things: I installed the latest driver, selecting only the driver from the installation (without the latest CCC/Media Foundation codecs'HDMI audio driver.... none of the other stuff you get with the driver packages). Reboot, playback is not smooth.
I rolled back to the older driver - smooth again, didn't even need to reboot. I installed the latest driver package, this time with everything except the latest driver - still smooth.
SamuriHL
6th November 2011, 20:31
Not having a problem with my AMD 5870 and 11.10 fwiw.
G_M_C
6th November 2011, 20:35
Update on my problem of madVR deinterlacing not being smooth:
My card is the 5750. I uninstalled the latest driver, and went back to the oldest driver I have saved - 10.7. Playback is now very smooth. I tried two other versions in between 10.7 and 11.10 (11.7 and 11.8) - both versions brought back the problem.
Could it be a problem with the older cards (5XXX) and the newer drivers (the drivers released since the CCC revamp)?
After realizing it was the newer drivers, I tried a few things: I installed the latest driver, selecting only the driver from the installation (without the latest CCC/Media Foundation codecs'HDMI audio driver.... none of the other stuff you get with the driver packages). Reboot, playback is not smooth.
I rolled back to the older driver - smooth again, didn't even need to reboot. I installed the latest driver package, this time with everything except the latest driver - still smooth.
According to some users on AVSForum for instance, 10.12 was the latest stable and usable AMD driver. That was the version where you could choose between CCC and the new interface. I have that one installed, chose the new interface. And i use Realtek's ATI HDMI driver. All is fine since, and i have never updated till now, since i see no reason for it and there are now important features added or important bugs removed since then. They only seem to work on game related stuff that doesn't interest me.
My HD5770 has worked like a charm with this driver, so im not eager to upgrade :-)
JarrettH
6th November 2011, 20:37
ffdshow decoding doesn't seem to work with DVD playback, and I had to remove ffdshow to stop the Macrovision errors with DVD playback. (I think it might have been the audio decoder? It was so long ago now that I forget the specifics)
Oh did you happen to tick off "DVD decoding"? In the row for MPEG2 a new option appears.
I just grabbed this from the web, it's not my own...
http://i41.tinypic.com/11c7if8.jpg
cyberbeing
6th November 2011, 21:07
It seems that creating a texture at some point fails in your case. I'm not 100% sure why, but my best guess would be that madVR is simply running out of GPU RAM. Maybe I need to work on that, or maybe allow the render etc queues to be configured smaller. Deinterlacing definitely takes more GPU RAM. Not sure why Managed Textures stop the problem. It's possible Managed Textures resort to PCIe RAM when GPU RAM runs out, but I'm not sure...
Well I take that back, Managed Textures doesn't completely stop the crashes, it just makes them less common.
Either way, you appear to be correct about the GPU RAM running out causing the crashes. As soon as I launch a 1440x1080i30 16:9 anamorphic MPEG2-TS, memory use instantly jumps to 500MB-505MB and madVR crashes. Though when it doesn't crash, it runs perfectly (if a bit slow) with maxed out 500-505MB GPU RAM usage for the entire playtime. So either this means you need a GPU to >512MB of RAM to use the dxva2 deinterlacing in madVR reliably, or this is a bug.
Using the NVIDIA PureVideo MPEG-2 decoder + dxva1 deinterlacing with VMR9, my memory use only increases ~100MB. With madVR dxva2 deinterlacing it shoots up ~275MB+.
Edit: Could this in any way be caused by my slow madNV12Test download results?
D3D9 Surface speed test:
NV12: upload 392 fps, download 4 fps, trick download failed
YV12: upload 346 fps, download 4 fps, trick download failed
A8R8G8B8: upload 175 fps, download 2 fps, trick download failed
DXVA Surface speed test:
NV12: upload 398 fps, download 4 fps, trick download failed
YV12: upload 347 fps, download 4 fps, trick download failed
A8R8G8B8: upload 173 fps, download 2 fps, trick download failed
A8R8G8B8 Texture speed test:
default: upload 96 fps, download 171 fps
dynamic: upload 175 fps, download 10 fps, trick download 92 fps
pankov
6th November 2011, 21:31
madVR v0.78 released
http://madshi.net/madVR.zip
* added support for DXVA2 deinterlacing
...
FEEDBACK:
I need to know...
(a) ... how deinterlacing quality and performance compares to LAV CUVID, could you please check that? If LAV CUVID looks or performs better, maybe there's room for me to improve, too.
(b) ... whether the option "perform deinterlacing in separate thread" makes things better or worse for you. Ideally I hope it will be better or worse for everybody so that I can then hard code the "right" setting and remove the option. On my PC it seems that having this option off works better for windowed mode, but having it on works better for exclusive mode.
madshi,
you are GREAT !!!
:thanks::thanks::thanks:
I really like how things develop - now I can use my CPU for decoding and my GPU for rendering + deinterlacing and thus spread the load and keep both of them in lower power states
:)
I've done some preliminary tests and here are my answers to your two questions:
a) I think the deinterlacing quality is the same .... or just a touch worse than LAV CUVID but I can't give you any proof of this - it's purely subjective and I could be wrong. I'll do some more tests and report back if I can quantify the difference ... if there actually is such.
b) for me turning on "perform deinterlacing in separate thread" results in better filling of the queues which I think results in less chance of dropping frames but I do agree with you that it has some impact on windowed mode
Here are my stats for a 1080i50 TV recording played on 1080p display @ 50.00014Hz (in all cases the decoder ques stays at 11-13/13)
1. Fullscreen exclusive mode + "perform deinterlacing in separate thread"=OFF
upload queue 6-(8)9 / 9
deinterlace queue 4-(8)9 / 9
render queue 4-(7)8 / 8
present queue 2-4 / 4
avg. stats
deinterlace 4.73ms
max stats (5s)
deinterlace 5.65ms
with 0 dropped frames
2. Fullscreen exclusive mode + "perform deinterlacing in separate thread"=ON
upload queue 7-9 / 9
deinterlace queue 7-9 / 9
render queue 7-8 / 8
present queue 3-4 / 4
avg. stats
deinterlace 5.59ms
max stats (5s)
deinterlace 5.87ms
with 0 dropped frames
3. Fullscreen windowed mode + "perform deinterlacing in separate thread"=OFF
upload queue 5-7 / 9
deinterlace queue (3)4-6 / 9
render queue 3-4 / 8
backbuffer queue (1)2-3 / 3
avg. stats
deinterlace 3.92ms
rendering 8.95ms
max stats (5s)
deinterlace 5.01ms
rendering 13.60ms
with a few dropped frames ... probably ~4-5 per minute
4. Fullscreen windowed mode + "perform deinterlacing in separate thread"=ON
upload queue 7-9 / 9
deinterlace queue 7-9 / 9
render queue 3-4 / 8
backbufferqueue 2-3 / 3
avg. stats
deinterlace 5.45ms
rendering 12.81ms
max stats (5s)
deinterlace 6.26ms
rendering 19-21ms
with a few dropped frames ... probably ~4-5 per minute but initially after going out of exclusive mode there were a lot more dropped frames than normally (> 100 compared to the normal 10-20)
* the numbers in brackets () are shown rarely
All these are performed on my NVIDIA GTX 460 SE 1GB in little bit overclocked P8 state (405MHz Core / 162MHz Memory / 910MHz Shader clocks) enforced by NVIDIA Inspector - Multi Display Power Saver.
My conclusion is that it's better to have the setting turned on in FSE mode and turned off in windowed mode.
TheShadowRunner
6th November 2011, 21:37
Pankov, I see you use ZP, could you try to recreate this:
Start playing a video. Minimize the player in the task bar (so the image isn't displayed) but keep playback going.
Wait like a minute. When you bring the player back up, the video plays super crazy fast to catch up with the audio.
Thanks,
TSR
pankov
6th November 2011, 21:45
I'm losing my latin here.. ^^;;
Here is a debug log (http://videoff7.free.fr/madVR_log_norefresh_bug.zip). I start playing a video, minimize the player for 15 seconds, then bring it back up.
When bringing it back up, I clearly see the video going uber fast to catch up with the audio.
I confirm this problem on Windows 7 but only when using ZoomPlayer. It doesn't happen with MPC-HC even when using absolutely the same filters.
I also noticed that if I leave the player minimized for long enough (~40s for 50i TV recording and ~24s for 24p movie ... it looks like 1000 frames) even the audio stops and when I restore it the audio continues from the point before the stop while the video catches up. One other difference between ZoomPlayer and MPC-HC is that when minimized when I hover with the mouse over the button in the taskbar I see the movie playing in the small preview window of MPC while it's stuck for ZP.
Does this make any sense?
robpdotcom
6th November 2011, 21:52
According to some users on AVSForum for instance, 10.12 was the latest stable and usable AMD driver. That was the version where you could choose between CCC and the new interface. I have that one installed, chose the new interface. And i use Realtek's ATI HDMI driver. All is fine since, and i have never updated till now, since i see no reason for it and there are now important features added or important bugs removed since then. They only seem to work on game related stuff that doesn't interest me.
My HD5770 has worked like a charm with this driver, so im not eager to upgrade :-)
Thanks for the info. 10.12 had the same problems as the latest for me, but 10.11 works fine. Guess I'll stick with that one as long as I own this card.
TheShadowRunner
6th November 2011, 22:00
I confirm this problem on Windows 7 but only when using ZoomPlayer. It doesn't happen with MPC-HC even when using absolutely the same filters.
I also noticed that if I leave the player minimized for long enough (~40s for 50i TV recording and ~24s for 24p movie ... it looks like 1000 frames) even the audio stops and when I restore it the audio continues from the point before the stop while the video catches up. One other difference between ZoomPlayer and MPC-HC is that when minimized when I hover with the mouse over the button in the taskbar I see the movie playing in the small preview window of MPC while it's stuck for ZP.
Does this make any sense?
Thank you very much.
It explains why madshi couldn't reproduce the bug for one, which is a great start! ;)
So yeah, another weird interaction between madVR & ZP, damn! :scared:
madshi
6th November 2011, 22:36
I'm losing my latin here.. ^^;;
Here is a debug log (http://videoff7.free.fr/madVR_log_norefresh_bug.zip). I start playing a video, minimize the player for 15 seconds, then bring it back up.
When bringing it back up, I clearly see the video going uber fast to catch up with the audio.
Did you say that you were using ZoomPlayer? I don't remember that. I tried to reproduce with MPC-HC. Anyway, the problem occurs with ZoomPlayer, but not with MPC-HC. Don't know why, will investigate...
what I meant with 'doesnt work' was is 'is too slow'. tested both modes, fullscreen and windowed mode. EVR dxva decoding with MPC internal decoders generally works fine here (with progressive content and no deinterlacing ofc)
Please don't mix DXVA *decoding* with DXVA *deinterlacing*. madVR v0.78 added DXVA *deinterlacing* only, but not DXVA *decoding*. Now I'm not sure what you expected or what your original problems were/are. If the problem is decoding speed, then of course EVR will work better in DXVA decoding mode cause it will save CPU cycles. madVR v0.78 can't do that. If however, all you want is hardware deinterlacing, then madVR should work somewhat comparable to EVR (with software decoding!) in performance, at least if you set madVR to lowest quality settings (Bilinear etc).
I also had asked you which queues exactly are getting empty and which not, when you run into frame drops, and you didn't reply to that question yet.
mpc-hc.
So the problem occurs even if the debug OSD (Ctrl+J) is turned off? It doesn't seem to occur for anyone else but you. Is there any special configuration you're using? Some funny splitter or decoder or anything else?
EDIT: Argh, I think this might be related to GPU downclocking, it's happening on all my sources now.....
So nothing for me to worry about?
I think I posted a sample from this before, but this should also be film. This was back when I tried getting 29.97 IVTC'ed to 23.976 but couldn't get it working correctly.
This seems to deinterlace mostly fine with madVR 0.78 on my ATI card. Maybe not perfect, but quite acceptable. At least on a quick check on my computer monitor.
I had been under the impression that madVR would have to be doing the decoding to perform deinterlacing.
Nope. I would probably have been crucified if I had limited the deinterlacer to work only for the internal decoders... :devil:
But seriously, I've no intention to discourage the use of external decoders, or to artificially promote the use of the internal decoders. I'm doing my best to make both internal and external decoders work as well as possible. I've already had some PM discussions with nevcairiel on how to make LAV Video Decoder and madVR work well together with madVR's new deinterlacing capability. nevcairiel has agreed to implement some small improvements that may benefit future madVR versions.
Because that was performing deinterlacing itself
I don't think any of the decoders (except LAV CUVID) really performs deinterlacing. I think it's always the renderer, the decoder just sets flags telling the renderer what to do.
Sorry, 16-235 does get correct levels, but there is a difference between both settings, just like with EVR (if I'm not mistaken that was even implied in your release post?).
According to the log your GPU driver behaves exactly as expected. madVR should adjust accordingly. As a result there should be no visible difference between both settings, except BTB and WTW, when using madVR. I'm aware of that there will be a difference in VMR and EVR in black and white levels, but there should not be any visible difference in madVR. If you do see a difference in madVR, can you please make a screenshot showing the difference, please? Thx.
It's not that deinterlacing is not working (it's turned on), and it's working fine, only that it seems to be deinterlacing into 25p instead of 50p. It's the same difference I saw with LAV Video's CUVID set to 25/30p output vs. it set to 50/60p output.
I'm gonna switch to NV again later today to check these issues more thoroughly and let you know better.
If your retest confirms your first impressions, can I have a sample, please, with which I can reproduce the smoothness difference? Thanks. After reading robpdotcom's comment (see below) maybe you should try installing 10.11 drivers?
BTW: The issue with madVR reporting 59.940 only happens with the internal madVR decoder and Haali. Using the internal decoder with LAV Splitter shows a framerate of 29.970 (but the non-smoothness is still present).
That's interesting. Haali seemingly reports a framerate of 59.940 full frames per second (60p) or 120 interlaced fields per second. Current GPUs would not be able to interlace 120i. So madVR turns deinterlacing off. Seems to be a bug in Haali's splitter. Still, I'd like to have a sample, please, that should allow me to add a workaround for the problem.
An option to remove the annoying sub-menu then? The advantage of Haali's menu over MPC-HC's and madVR's is that I don't have to go to an extra sub-menu just to switch the track/see the chapters, I can see them immediately.
Haha. You seem to have missed that left clicking shows a different context menu than right clicking... ;)
Is it true then that madvr can do deinterlacing separate from decoding, but with cuvid you must enable decoding (MPEG2) to get that?
Yes.
I've tried 0.78 and the problem is still there. Every time I switch on/off audio processing, video playback stops and sound keeps going, or PotPlayer crashes, sometimes this bug occurs only when I switch audio processing several times rapidly.
I have uploaded MadVR debug logs, maybe this will help you.
I've tried again, but I can't reproduce this problem. Tried switching a lot of times, slow and fast. No crash ever.
Unfortunately logs don't help much for finding crashes. In a future version I will have better methods to find the cause of crashes. But for now I need to be able to reproduce it on my PC, otherwise fixing the crash will be very hard.
Also there are some compatibility problems with madVR internal deinterlacing and potplayer decoder(renderless mode), on this filter pair I got choppy playback. Tested on 1080i vc-1 in ts container.
Does the potplayer decoder use the GPU for decoding?
So dxva hard deinterlacer is a "black box" that works the following way:
1) 1080\576i50 --> 1080\576p50, if "black box" detects pure video and --> 1080\576p25, if "black box" detects film content.
2) 1080\480i59 --> 1080\480p59, if "black box" detects pure video and --> 1080\480p29, if "black box" detects film content.
Am I right?
So "black box" does IVTC for PAL and does not for NTSC?
Nope. In detail this is what madVR is currently doing:
For every frame coming from the decoder, madVR checks whether the decoder reports the frame to be progressive or interlaced. If it's reported to be progressive, madVR tells DXVA2 to weave the frame and keep it untouched. If the frame is reported to be interlaced, madVR tells DXVA2 to deinterlace it in double frame rate. Now some movies are encoded with hard-telecine, others with soft-telecine, again others are a mixture of both. Depending on how the content was encoded, madVR might output double frame rate or single frame rate or a mixture of both. The same is true for VMR and EVR deinterlacing. As I explained in the v0.78 announcement post, I may improve this in a future version. For now with movie content you may get 25p or 50p, 24p or 60p, or something in between. It all depends on how the content was encoded.
Tested with some PAL SD content (DVD remuxed to mkv). I am not sure, but sometimes when I switch deinterlacing off the result is better, cleaner (plain soft weaving). Is "black box" really good film content detector? Does it just weave?
Would you recommend use soft weaving deinterlacing for PAL film content ?
Some DVDs are properly flagged, some are not. Some PAL DVDs will look perfect with simple weaving, some will not. There is no simple answer here. Maybe the best idea would be to first try simple weaving and if that doesn't work, switch on deinterlacing.
When I play a file that contains something like "1080p24" in its name the Ctrl-J stats always show that frame rate, although my "display modes" box is completely empty (tested in 0.77 and 0.78). Is this by design?
The framerate override via filename is currently independent of the display mode changer. Maybe that will change in a future version, but for now that's how it is.
Also, why does it still show "(says source filter)" when I've overridden the information from the filter?
That's a cosmetical bug. Nothing to worry about.
Another small thing I noticed 0.78: When I pause a video in windowed mode the decoder queue goes to 13-13/12. Weird :D
Yes, I know. The situation is this: When playback is paused, the decoder sometimes sends another frame. If in this case the decoder queue is already full, madVR can either drop one of the frames from the queue, or drop the newly decoded frame, or simply increase the queue size to 13 for a short time. Older madVR versions dropped one frame from the queue. This made frame stepping often skip two frames at once. In order to fix this, I've now in v0.78 allowed the decoder queue to temporarily overrun the max size. The internal queue buffer can hold 36 frames, just in case.
Update on my problem of madVR deinterlacing not being smooth:
My card is the 5750. I uninstalled the latest driver, and went back to the oldest driver I have saved - 10.7. Playback is now very smooth.
Interesting. So now madVR looks just as well as EVR? Can I still have a sample of your tennis video, for testing purposes?
Either way, you appear to be correct about the GPU RAM running out causing the crashes. As soon as I launch a 1440x1080i30 16:9 anamorphic MPEG2-TS, memory use instantly jumps to 500MB-505MB and madVR crashes. Though when it doesn't crash, it runs perfectly (if a bit slow) with maxed out 500-505MB GPU RAM usage for the entire playtime. So either this means you need a GPU to >512MB of RAM to use the dxva2 deinterlacing in madVR reliably, or this is a bug.
Using the NVIDIA PureVideo MPEG-2 decoder + dxva1 deinterlacing with VMR9, my memory use only increases ~100MB. With madVR dxva2 deinterlacing it shoots up ~275MB+.
Well, madVR has upload, deinterlacing and render queues which VMR9 does not have. That all adds up to a lot of memory. As I hinted before, I may have to add an option to configure the queue size.
Could this in any way be caused by my slow madNV12Test download results?
No. madVR does not "download" textures. I've found a tricky way (involving inverting matrixes etc) to make DXVA work with madVR without copying back anything to system RAM.
madshi, you are GREAT !!!
Now you know why nevcairiel didn't answer your question in his thread. He knew what I was working on... ;)
I've done some preliminary tests and here are my answers to your two questions
Thanks, appreciate the feedback.
I'll do some more tests and report back if I can quantify the difference ... if there actually is such.
Yes, please.
with a few dropped frames ... probably ~4-5 per minute but initially after going out of exclusive mode there were a lot more dropped frames than normally (> 100 compared to the normal 10-20)
Your queues look better in windowed mode with the thread option turned on, though. Can you reproduce this > 100 frame drop problem? Maybe it was a one time only problem?
madshi
6th November 2011, 22:47
But it really highlights what seem to be some big errors when using linear light scaling. (upscaling at least, downscaling with Bicubic 75 hasn't caused me too many problems)
Is it possible that there's a bug in the linear light scaling implementation?
I've checked this out and can't fully explain it. My best guess is that the test pattern was created in gamma corrected light and thus is better reproduced by gamma corrected resampling. But I'm wildly guessing here. FWIW, as you noticed yourself, the original unscaled image shows the same "problems" as the linear light upscale. So to say the linear light upscale is more true to the source... :D
pankov
6th November 2011, 23:07
Now you know why nevcairiel didn't answer your question in his thread. He knew what I was working on... ;)
ah, you two ... :devil:
:)
Your queues look better in windowed mode with the thread option turned on, though. Can you reproduce this > 100 frame drop problem? Maybe it was a one time only problem?
you are right, but the avg./max stats look worse, right?
Sadly the problem with the multiple dropped frames is hardly reproducible. Before I posted my first post on the subject it happened 2 out of 2 tries but now it only happened 1 of 15
:(
I'll try to make a log file showing it but I can't promise it'll be soon.
madshi
6th November 2011, 23:09
A log file probably wouldn't help much. Just your impressions (after some more testing) on whether the thread option helps or hurts in windowed mode is good enough for me.
6233638
6th November 2011, 23:26
All my original testing was done at 60Hz in windowed mode, but now that I've actually sat down to watch a film at 24Hz with this update, I've run into a number of issues. (the refresh switcher still doesn't work reliably for me, so I manually switch refresh rate before playback)
Just about every interlaced file I have is 50Hz, so that should be assumed unless I specify otherwise.
1. Playback at 24p drops massive amounts of frames—approximately 25 frames every time the stats update.
At first I thought this was being caused by reclock, but it happens with other audio renderers too. (with other renderers, I'd expect one frame drop per second)
Playback appears to be smooth though, buffers remain high and CPU, GPU/VPU load remains the same so I'm not sure if it's just a reporting error, or something else.
2. Deinterlacing quality is considerably worse at 24Hz compared to 60Hz. (with or without ReClock)
Regarding this sample:
This seems to deinterlace mostly fine with madVR 0.78 on my ATI card. Maybe not perfect, but quite acceptable. At least on a quick check on my computer monitor.AMD's deinterlacing must be considerably better than Nvidia's then, that doesn't do well here at all. However, it's a good test that allowed me to pinpoint the above.
At 60Hz, the text is stable but aliased, and there's other aliasing visible too.
At 24Hz, bob deinterlacing is used on everything and the framerate appears to be halved.
It's the same with everything that I've tried. It's not that 24Hz forces bob deinterlacing with everything, but deinterlacing is worse with every sample I've tried at 24Hz. (sometimes it's flicker, lower resolutions, wrong framerate etc.)
3. I have some .rec files from my old PVR, which seem to either play at half resolution or half framerate with deinterlacing enabled. (manually disabling it fixes things)
I think it might be the files themselves though, as they're taken from a PVR they have maybe 5 minutes of video footage before the film starts, so it's possible that the files are just flagged incorrectly?
Unfortunately, trying to get a sample from them seems to fix whatever causes this to happen.
I've checked this out and can't fully explain it. My best guess is that the test pattern was created in gamma corrected light and thus is better reproduced by gamma corrected resampling. But I'm wildly guessing here. FWIW, as you noticed yourself, the original unscaled image shows the same "problems" as the linear light upscale. So to say the linear light upscale is more true to the source... :DYeah, it's rather strange. The other thing making me think that something might have been wrong was the insane ringing most algorithms exhibit when using it.
After doing some more testing, I think Mitchell-Netravali might be OK when used with linear light scaling, along with SoftCubic 80/100, but anything else just rings far too much. Haven't had a chance to spend too much time with MN though, I seem to recall running into some aliasing issues the last time I used it.
Oh did you happen to tick off "DVD decoding"? In the row for MPEG2 a new option appears.
I just grabbed this from the web, it's not my own...
http://i41.tinypic.com/11c7if8.jpgWeird, this used to not work at all. I don't know if it's because I'm now using LAV Splitter rather than Haali, if it's been a change in ffdshow, MPC-HC or madVR, but it's no longer causing the Macrovision errors it used to.
Unfortunately I don't have the time to investigate what it is that has enabled this to work, but I'm happy that it does.
Seems to be the best option for DVD playback with madVR now. (though menus did work before, you just didn't get the hover states for them, you could still click items)
Thunderbolt8
6th November 2011, 23:35
I also had asked you which queues exactly are getting empty and which not, when you run into frame drops, and you didn't reply to that question yet.http://forum.doom9.org/showthread.php?p=1536673#post1536673
as said, upload + deinterlace + render queue drop to 1 frame, present queue to 0 frames and decoder drops queue to half -> 6/7 frames in case of the AVC video.
in case of VC-1, decoder queue also goes down to 1 frame, because multithreading is not supported. so that one also causes dropped frames without deinterlacing.
dansrfe
6th November 2011, 23:36
When I set luma upscaling to Bilinear the queue increases a bit more and frames stop dropping. When I set chroma to Bilinear as well the queues fill up marginally close to the max. This is in exclusive mode however when I disable exclusive mode it's the same scenario and if I set it to bilinear then the GPU can deinterlace fast enough I presume. Is this just my GPU's speed problem or is it something else?
I have an ATI Mobility Radeon HD 4570. Can I overclock it to fix the problem perhaps? If so how?
Thanks madshi!
EDIT: Just curious but what is the equivalent of "scaling in linear light" in AviSynth with spline?
derp
6th November 2011, 23:45
So the problem occurs even if the debug OSD (Ctrl+J) is turned off? It doesn't seem to occur for anyone else but you. Is there any special configuration you're using? Some funny splitter or decoder or anything else?
Yes, it's turned off.
I'm using mpc-hc with madVR as renderer, LAV filters as external filters and the haali splitter.
madshi
6th November 2011, 23:50
All my original testing was done at 60Hz in windowed mode, but now that I've actually sat down to watch a film at 24Hz with this update, I've run into a number of issues. (the refresh switcher still doesn't work reliably for me, so I manually switch refresh rate before playback)
Just about every interlaced file I have is 50Hz, so that should be assumed unless I specify otherwise.
madVR always performs double rate deinterlacing (so do VMR and EVR, I think). Which means that after deinterlacing you will probably get 50p, not 25p, except if the video is encoded with progressive frames, in which case you may get 25p. But considering your description I think you're getting 50p. Of course when playing 50p, slowed down to 48p by Reclock, at 24Hz, you'll get *massive* amounts of frame drops. And dropping every other frame means that madVR can only send every other frame to DXVA. This means that madVR has to switch to BOB deinterlacing, because the highest quality deinterlacing mode requires madVR to provide the current video frame, together with the 2 previous frames, one of which madVR has already dropped.
AMD's deinterlacing must be considerably better than Nvidia's then, that doesn't do well here at all.
Well, if you want you can show in a screenshot how bad NVidia is doing with that sample, then I can upload a comparison shot with ATI deinterlacing. Then we'll know for sure.
http://forum.doom9.org/showthread.php?p=1536673#post1536673
You're only telling me about 2 queues there, not about all. What about the decoder queue? What about the deinterlacer queue?
When I set luma upscaling to Bilinear the queue increases a bit more and frames stop dropping. When I set chroma to Bilinear as well the queues fill up marginally close to the max. This is in exclusive mode however when I disable exclusive mode it's the same scenario and if I set it to bilinear then the GPU can deinterlace fast enough I presume. Is this just my GPU's speed problem or is it something else?
I have an ATI Mobility Radeon HD 4570. Can I overclock it to fix the problem perhaps? If so how?
Seems that your GPU is too slow to handle deinterlacing + madVR chroma upscaling + scaling at the same time. Setting chroma upscaling to bilinear isn't nice, but it's not a major problem. Setting the luma algorithms to bilinear is a bigger loss. Anyway, I don't know if overclocking your GPU is possible or how to do it. FWIW, I've always recommended to get the most powerful GPU you can afford (and that fits your thermal requirements). Of course with a laptop you may have limited GPU choices...
Just curious but what is the equivalent of "scaling in linear light" in AviSynth with spline?
Don't know.
Yes, it's turned off.
I'm using mpc-hc with madVR as renderer, LAV filters as external filters and the haali splitter.
Weird. Can anybody reproduce this (disappearing subtitles when pausing playback) problem?
dansrfe
6th November 2011, 23:55
I'm having the same problem TheShadowRunner had in which after maximizing MPC-HC from the tray the video has to move super fast to catch up with the audio. It almost seems like madVR stops functioning until the player is in the active view.
Thunderbolt8
6th November 2011, 23:58
You're only telling me about 2 queues there, not about all. What about the decoder queue? What about the deinterlacer queue?I edited my post above.
maybe I should have put our german '-' there, I wrote deinterlace(-) render(-) and upload queue ;)
"as said, upload + deinterlace + render queue drop to 1 frame, present queue to 0 frames and decoder drops queue to half -> 6/7 frames in case of the AVC video.
in case of VC-1, decoder queue also goes down to 1 frame, because multithreading is not supported. so that one also causes dropped frames without deinterlacing."
pacemaker1000
7th November 2011, 00:01
thanks to going back to ati from nvidia i have zero dropped frames.
playback is now perfectly smooth for me. nvidia just could not do this even with custom resolutions and now i am not missing out thanks to the new deinterlacing upgrade.
anyone know why the 'enable gpu scaling' stops madvr switching resulotions?
JarrettH
7th November 2011, 00:05
6233638, yeah I'd be curious as to what "DVD decoding" does lol
I'm not sure if I have a bug that has cropped up in 0.78...
29.97 files have especially given me more glitches since it takes more cpu/gpu power to render them, but occasionally I've noticed:
Open a 29.97 file
go full screen (I double click)
go back to windowed and pause
do something in a few browser tabs or open new pages
return to video file and watch the presentation glitches climb every second
Core 2 Duo E6600
GT 240 512MB DDR5
275.33 WHQL
pankov
7th November 2011, 00:24
madshi,
I did some performance (GPU load) testing with madVR, LAV CUVID and EVR and I'm kind of amazed how good EVR is.
For the test I used a 1080i60 TV recording of a hockey game and I had to overclock my GPU a little. To be precise I've used the P8 (Video) mode of my NVIDIA card but upped both Core/Shader and Memory clocks from 405/810 and 162MHz to 540/1010 and 192MHz.
This resulted in both madVR and LAV CUVID having about the same GPU load ~80% while EVR was around 50%.
Then I decided to lower my upscaling settings in madVR to Bilinear for both chroma and luma (even though the luma wasn't important since both video and display were 1920x1080) and this lowered madVR's usage to ~70-75% which is still ~25% above EVR.
Do you have any idea what could be causing this big difference?
I'm asking this because without overclocking my video card I get dropped frames in P8 (Video) mode and I'd like to avoid both overclocking and forcing my card in P0 (Full 3D) mode because this raises it's temperature substantially.
:(
6233638
7th November 2011, 00:27
madVR always performs double rate deinterlacing (so do VMR and EVR, I think). Which means that after deinterlacing you will probably get 50p, not 25p, except if the video is encoded with progressive frames, in which case you may get 25p. But considering your description I think you're getting 50p. Of course when playing 50p, slowed down to 48p by Reclock, at 24Hz, you'll get *massive* amounts of frame drops.Both ReClock and ffdshow are reporting 25fps still, but that explanation sounds right.
And dropping every other frame means that madVR can only send every other frame to DXVA. This means that madVR has to switch to BOB deinterlacing, because the highest quality deinterlacing mode requires madVR to provide the current video frame, together with the 2 previous frames, one of which madVR has already dropped.The strange thing is that only some files seem to drop down to bob deinterlacing. (and "progressive" ones seem to disable the deinterlacer altogether when using ffdshow for decoding)
Is there anything that can be done about this? I assume most people will want to play back film content at 24p. (either 23.976 or 24.000) I'm not sure that I have any video content—certainly nothing interlaced.
Surely there must be a way to process at 50fps, and then output the final 25p image.
Well, if you want you can show in a screenshot how bad NVidia is doing with that sample, then I can upload a comparison shot with ATI deinterlacing. Then we'll know for sure.A random grab from that sample. (just hit print screen when it was running, wasn't sure if frame-by-frame would interfere) Upscaled with Lanczos 3. (not linear)
http://www.mediafire.com/?2y2k0ywb99hsmr2
It's not that I actually care about how that film looks, it just happens to be something that seems to be very tricky to deinterlace well.
That was taken at 60Hz, so it should be "properly" deinterlaced.
Maybe the source just is that bad, but it seems like it shouldn't be that aliased. (and it definitely wasn't using bob there)
mr.duck
7th November 2011, 01:40
1) MPEG2 50i with LAV Video decoder, NV12 output, EVR: works fine, looks ok, very smooth, clearly 50p
2) MPEG2 50i with LAV Video decoder, NV12 output, madVR: it does work, looks very bad, not smooth, clearly it is being deinterlaced
Radeon 5750 using latest drivers (11.10).
This link might be useful for some of you. Previous catalyst drivers Vista 64 bit (and windows 7 64bit I'm sure). (http://support.amd.com/us/gpudownload/windows/previous/Pages/radeonaiw_vista64.aspx)
Here is the link for Vista 32 bit (and windows 7 32bit I'm sure). (http://support.amd.com/us/gpudownload/windows/previous/Pages/radeonaiw_vista32.aspx)
.
derp
7th November 2011, 02:17
Weird. Can anybody reproduce this (disappearing subtitles when pausing playback) problem?
Since nobody will ever answer to this, where could be the issue? Should I take any options' screenshots?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.