View Full Version : madVR - high quality video renderer (GPU assisted)
madshi
26th January 2014, 23:02
MadVR don't load with the latest version, it is stuck at opening the file and it crash on the setting window. The debug don't work either.
Log (http://www.mediafire.com/view/vmvdkk1ww0fiss4/madVR%200.87.2%20log.txt)
My system : Intel Core i7@920, Ati Radeon HD 5770, Windows 8.1, MPC-HC 1.7.2
The log seems to suggest that the decoder is never sending any video frames to madVR. But I'm not fully sure. It could also be a different problem just looking like that. Try different video files and maybe a different decoder. Does playback work with v0.86.11?
Oh my bad, sure, here it is with "present multiple frames" enabled: madV_logTSR.zip (http://videoff7.free.fr/madV_logTSR.zip)
Hmmmm... The log suggests that "present several frames in advance" is still disabled.
I'm a little confused... I have these profile auto select rules, but it always picks the progressive profile even when the source is definitely interlaced (madVR reports deinterlacing is on and shows a time for it).
if (srcInterlaced = true) "interlaced"
else if (srcInterlaced = false) "progressive"
I'm using .87.2 if that matters.
I've tried your exact setup and it works correctly here. The profiles switch exactly as intended. BTW, you could shorten your script to "if (srcInterlaced) "interlaced" else "progressive"". But it won't make any difference. Your script is alright.
iSunrise
26th January 2014, 23:08
No you don't. link (http://forum.doom9.org/showpost.php?p=1271417&postcount=3)
However, I've edited my post as I believe I understand why I wasn't seeing the correct information.
Youīre right, that one was a major oversight by me, didnīt think that madVR would consider == and = as being an equal operation. But at least my second advice is valid.
TheShadowRunner
26th January 2014, 23:09
Hmmmm... The log suggests that "prerender multiple frames in advance" is still disabled.
... hmm indeed?
We're talking about "exclusive mode settings" > "present several frames in advance" ENABLED, right?
I made another log after 2x checking.. here it is: madVR_logTSR_2.zip (http://videoff7.free.fr/madVR_logTSR_2.zip)
madshi
26th January 2014, 23:12
... hmm indeed?
We're talking about "exclusive mode settings" > "present several frames in advance" ENABLED, right?
I made another log after 2x checking.. here it is: madVR_logTSR_2.zip (http://videoff7.free.fr/madVR_logTSR_2.zip)
Weird. Ok, let me think: The log indicates that madVR is using D3D9 instead of D3D9Ex. That usually means that "present several frames in advance" is disabled. However, now I think I misinterpreted that. Are you by any chance still using Windows XP? That would explain the problem, because the cause of the issue is the use of D3D9. And XP doesn't support D3D9Ex.
P.S: Just saw your signature. Yes, the problem is XP. My fault, I misinterpreted the log. The problem will be fixed in v0.87.3, sorry.
Stereodude
26th January 2014, 23:13
I've tried your exact setup and it works correctly here. The profiles switch exactly as intended. BTW, you could shorten your script to "if (srcInterlaced) "interlaced" else "progressive"". But it won't make any difference. Your script is alright.Thanks, I found my problem and edited my post, but you were too fast. :D
djfred93
26th January 2014, 23:15
The log seems to suggest that the decoder is never sending any video frames to madVR. But I'm not fully sure. It could also be a different problem just looking like that. Try different video files and maybe a different decoder. Does playback work with v0.86.11?
It's the same with MPC-BE and his internal filter. It was working fine with MadVR 0.86.11 and with MadVR 0.87.1.
leeperry
26th January 2014, 23:16
Ouh it seems that 87.2 has made DXVA2 fully usable on my rig, especially if I check "use OpenCL to process DXVA". At this stage, only a wattmeter will make me decide between CPU or GPU video decoding.
My only last problem is that I get tearing at the bottom of the picture in windowed mode, it instantly disappears when I go FSE or FSW...very strange and not a big deal anyway.
The performance issue I mentioned when going FS is apparently due to how W7 behaves when mVR simultaneously rolls the refresh rate and goes FS, XP did it all seamlessly but W7 hiccups quite a bit as the picture is vertically stretched for like a split second, then the AR is applied and playback finally starts.
I see that you've explained several times in this thread that NNEDI can do 2X vertical and/or horizontal upscale but:
1) why is there a "NNEDI3" processing option in the "chroma upscaling" tab, but not in "image upscaling"?
2) if I want to upscale a 4:3 360*288 video to 4:3 1440:1080, the default "image doubling" settings will upscale it to 1440*576 and then 576 will be upscaled to 1080 using the algorithm I chose in "image upscaling"?
TheShadowRunner
26th January 2014, 23:20
Weird. Ok, let me think: The log indicates that madVR is using D3D9 instead of D3D9Ex. That usually means that "present several frames in advance" is disabled. However, now I think I misinterpreted that. Are you by any chance still using Windows XP? That would explain the problem, because the cause of the issue is the use of D3D9. And XP doesn't support D3D9Ex.
P.S: Just saw your signature. Yes, the problem is XP. My fault, I misinterpreted the log. The problem will be fixed in v0.87.3, sorry.
Ooh no worries, glad you found the issue ^^;
See you,
TSR
Stereodude
26th January 2014, 23:24
Okay, I'm pretty sure this one is real... :o
I have these rules for image and chroma scaling
if ((srcWidth <= 1300) and (deintFps < 31) and (srcInterlaced == true)) "<= 720i 24-30fps"
else if ((srcWidth <= 1300) and (deintFps < 31) and (srcInterlaced == false)) "<= 720p 24-30fps"
else if ((srcWidth <= 1300) and (deintFps > 31) and (srcInterlaced != true)) "<= 720p 50-60fps"
and this rule for image downscaling
if ((srcWidth >= 1600) and (deintFps < 31) and (srcInterlaced == false)) ">= 1600w 24-30fps"
Playing back a blu-ray on my 1600x1200 monitor I see this:
http://imageshack.com/a/img69/4018/4fl8.png
It's using the downscaling settings, but shouldn't none of the image scaling options be bold since none are active? FWIW, the downscaling option is bold when playing back content that's not being downscaled also.
madshi
26th January 2014, 23:36
It's the same with MPC-BE and his internal filter. It was working fine with MadVR 0.86.11 and with MadVR 0.87.1.
I see. Have you tried going back to 0.86.11 or 0.87.1 after you ran into this problem? Sometimes the OS just gets into a screwed up state. Could you please double check if 0.86.11 or 0.87.1 still work if you go back to them now?
If they still do work then I've no idea what the problem could be... :(
Ouh it seems that 87.2 has made DXVA2 fully usable on my rig, especially if I check "use OpenCL to process DXVA".
Great!
1) why is there a "NNEDI3" processing option in the "chroma upscaling" tab, but not in "image upscaling"?
NNEDI3 can only do exact 2.0x enlargements. Chroma upscaling happens to be exactly that. So NNEDI3 can serve as a full replacement for the other algorithms, when talking about chroma upscaling.
However, the image upscaling factor is very rarely exactly 2.0x. So NNEDI3 is almost never a full replacement algorithm for the other algorithms like Lanczos or Jinc, when talking about image upscaling. Let's imagine I made the image upscaling settings page the same as the chroma upscaling settings page is now. And let's imagine you selected NNEDI3 for image upscaling. Let's further imagine in your specific situation you'd need a 3.0x scaling factor. What should madVR do in that case? It could use NNEDI3 to upscale 2.0x or 4.0x, but not 3.0x. So what should it do? It's not clear. Because of that I cannot offer NNEDI3 as a full replacement algorithm in the image upscaling settings page.
2) if I want to upscale a 4:3 360*288 video to 4:3 1440:1080, the default "image doubling" settings will upscale it to 1440*576 and then 576 will be upscaled to 1080 using the algorithm I chose in "image upscaling"?
No. The default "image doubling" settings disable image doubling / NNEDI3.
You can tell madVR to double your image size, or to quadruple it with NNEDI3. If you tell madVR to only double it, you get 720*576. If you tell madVR to quadruple it, you get 1440*1152. But whether madVR actually doubles or quadruples depends on which exact settings you're using in the "image doubling" section. There are several radio boxes in there you can check which controls all this. In any case, if the output of "image doubling" is smaller than the target resolution, madVR will use the algorithm from the "image upscaling" settings page to upscale the "image doubling" output to the needed target resolution. If the output of "image doubling" is larger than the target res, madVR will usw the image downscaling algorithm to achieve the target res.
It's using the downscaling settings, but shouldn't none of the image scaling options be bold since none are active? FWIW, the downscaling option is bold when playing back content that's not being downscaled also.
The "bold" state just shows which profile is active. One profile is always active in every profile group. If your script doesn't select a profile, the first profile in the list will be active. A profile being active doesn't mean that the settings page is actually used. It just says which profile would be used if the settings are needed by madVR.
madshi
26th January 2014, 23:36
madVR v0.87.3 released
http://madshi.net/madVR.zip
* fixed: blacked out video in Windows XP
* fixed: blacked out video when disabling "present several frames in advance"
6233638
26th January 2014, 23:40
Chroma upscaling is often not very important. I don't really recommend using NNEDI3 for chroma upscaling - unless your GPU doesn't have anything else to do, maybe.I agree, it's far less important than luma scaling - but I appreciate that madVR does have high quality chroma scaling options available.
Generally I would suggest:
Mitchell-Netravali
Bicubic 75 with the anti-ringing filter enabled
Jinc 3 with the anti-ringing filter enabled
in order of performance impact and quality. (low to high)
Anything above Bilinear is good though, as that can introduce noticeable artifacts, and with the optimized scaling algorithms I'd like to think that few systems would have to compromise and use Bilinear.
Mitchell-Netravali is a good choice if you don't have the performance to enable the anti-ringing filter, as it has very little ringing itself.
You could use Bicubic 75 instead as that's sharper and has the same performance requirements, but it can suffer from ringing.
Bicubic 75+AR gets you 90% of the way there as far as chroma quality is concerned. For the vast majority of sources, this will be indistinguishable from anything more advanced.
And when you have performance to spare, Jinc 3+AR is the best option, though few sources actually require it.
I am looking forward to doing some testing once NNEDI3 is working though.
Ouh it seems that 87.2 has made DXVA2 fully usable on my rig, especially if I check "use OpenCL to process DXVA". At this stage, only a wattmeter will make me decide between CPU or GPU video decoding.Unless you're using a really low power system, the difference is probably going to be negligible between DXVA or software decoding on modern hardware - at least up to 1080p.
Error handling is definitely better with software decoding.
Someone posted a really good sample video here (probably years ago at this point) which shows errors with the hardware decoders that do not exist with LAV's software decoding:
http://www.abload.de/thumb/hardware-decodercfkpe.jpg (http://www.abload.de/img/hardware-decodercfkpe.jpg) http://www.abload.de/thumb/software-decodertzjhr.jpg (http://www.abload.de/img/software-decodertzjhr.jpg)
(the sample appeared to be a broadcast recording with fast movement and a lot of flashing lights)
That being said, it is extremely rare to find this with commercially produced content.
So far I've only seen this occur with a single blu-ray (out of hundreds) and have had one other report (http://yabb.jriver.com/interact/index.php?topic=85833.msg591627#msg591627) of it happening on another disc.
Because it's so rare in the content I watch, I do use DXVA-CB decoding, as it means that high CPU usage in other programs is a lot less likely to affect video playback.
If you see blocking like that happen in the content that you watch though, you should check and see if switching to software decoding will fix it.
1) why is there a "NNEDI3" processing option in the "chroma upscaling" tab, but not in "image upscaling"?Chroma upscaling is only ever going to be 2x.
If you're scaling luma with NNEDI3 you are likely to use NNEDI3 to scale 2x and use an additional scaler (up or down) to scale that image to your display resolution.
Edit: Nevermind - Madshi has already managed to answer your question and put out a new build in the time it took for me to type up that reply. :eek:
TheShadowRunner
26th January 2014, 23:42
madVR v0.87.3 released
http://madshi.net/madVR.zip
* fixed: blacked out video in Windows XP
* fixed: blacked out video when disabling "present several frames in advance"
Ahah that was lightning fast, thank you!
Testing..
DragonQ
26th January 2014, 23:43
Youīre right, that one was a major oversight by me, didnīt think that madVR would consider == and = as being an equal operation. But at least my second advice is valid.
Proper languages use the same symbol for setting and evaluating variables. ;)
djfred93
26th January 2014, 23:44
I see. Have you tried going back to 0.86.11 or 0.87.1 after you ran into this problem? Sometimes the OS just gets into a screwed up state. Could you please double check if 0.86.11 or 0.87.1 still work if you go back to them now?
It work on 0.86.11, 0.87.1 and 0.87.3. So that good, thanks.
Edit : And work very good. Now, i can activate debanding on 1080i.
TheShadowRunner
26th January 2014, 23:59
All good here now madshi with 0.87.3, thanks again!
Deim0s
27th January 2014, 00:30
madshi,
My problem with 4k video playback (downscaling) was not solved.
If to use the old settings queue:
CPU queue - 16
GPU queue - 8
Win. mode -> backbuffers - 3
MPC-HC all the time crashes.
madVR - log (http://rghost.ru/51954749)
On version 0.86.11 with these settings work fine (when playback 4k video).
Minimum settings queue needed to MPC-HC did not have crash:
CPU queue - 5
GPU queue - 5
Win. mode -> backbuffers - 3
But when you switch from windowed mode to fullscreen still black screen.
madVR - log (http://rghost.ru/51954753)
Somebody has a problem with downscaling 4k video except me?
DarkSpace
27th January 2014, 00:44
Great work on getting back the deinterlacing performance!
Personally, I had assumed that the D3d/OpenCL interaction with DXVA deinterlacing just cost too much time, but now I can disable profiles again and run everything with OpenCL enabled.
In fact, I just made a small test, and even 1080i with image quadrupling works here (just barely, though). Good work!
madshi
27th January 2014, 00:55
It work on 0.86.11, 0.87.1 and 0.87.3. So that good, thanks.
Edit : And work very good. Now, i can activate debanding on 1080i.
Good to hear! Although I'm still not sure why v0.87.2 didn't work for you.
All good here now madshi with 0.87.3, thanks again!
Great!
madshi,
My problem with 4k video playback (downscaling) was not solved.
If to use the old settings queue:
CPU queue - 16
GPU queue - 8
Win. mode -> backbuffers - 3
MPC-HC all the time crashes.
madVR - log (http://rghost.ru/51954749)
On version 0.86.11 with these settings work fine (when playback 4k video).
Minimum settings queue needed to MPC-HC did not have crash:
CPU queue - 5
GPU queue - 5
Win. mode -> backbuffers - 3
But when you switch from windowed mode to fullscreen still black screen.
madVR - log (http://rghost.ru/51954753)
Somebody has a problem with downscaling 4k video except me?
Which OS, which GPU?
Can you compare RAM consumption with v0.86.11 and v0.87.3 with your hardware/software, when playing back that 4K clip with 5/5/3 queues? Does v0.87.0 consume more RAM than v0.86.11?
According to the log the decoder sends the first 27 frames, and then simply stops. Probably it crashed or something. Might be some sort of "out of memory" problem. But I'm not sure why v0.87.3 would consume so much more memory than v0.86.11...
Great work on getting back the deinterlacing performance!
Personally, I had assumed that the D3d/OpenCL interaction with DXVA deinterlacing just cost too much time, but now I can disable profiles again and run everything with OpenCL enabled.
In fact, I just made a small test, and even 1080i with image quadrupling works here (just barely, though). Good work!
Nice!
Asmodian
27th January 2014, 00:59
I have the same problem, a blank black screen watching 4k video at 2560x1440. I think I have tracked it down.
I reset all settings to default and then changed:
GPU Buffers > 8, I tested using 10-24. This probably changes depending on the card, maybe total video memory?
Full Screen Windowed mode (both the new Win7+ and original, 3-8 back buffers)
Linear light downscaling
If I use FSE, leave the GPU buffers at 8, or do not user LL for downscaling I get a picture. I can toggle the picture black and correct by right clicking to bring up the context window, kicked out of FSE -> black picture, dismiss it so back in FSE -> correct picture.
This is a log from 87.2 where I got a dither failed to create D3D9 surface error going into Full Screen Windowed. I cannot remember the exact wording and I just get a blank screen with 87.3.
MadVR - log.7z (http://www.mediafire.com/download/bdy61e0la9gf0ew/madVR%20-%20log.7z)
madVR_87.3 - log.7z (http://www.mediafire.com/download/hb2o96d7im45n26/madVR_87.3%20-%20log.7z)
Running 3770K, SLI GTX Titans driver version 332.21.
using 4k_QHD_RoastDuck_30p.mp4 test video.
edit: Windows 8.1
With LL downscaling and 24 GPU buffers (3 back buffers FSW, 8 frames in advance FSE) I see 1594MB of video ram used when in FSE and 1704MB of video ram used when in FSW (black).
If I turn down GPU buffers to 10 (back buffers 8) when in FSW I get 1266 MB used without LL (correct picture) or 1351 MB used with LL (black picture).
madshi
27th January 2014, 01:02
@Asmodian, and how does v0.86.11 behave in comparison?
Deim0s
27th January 2014, 01:09
madshi,
Which OS, which GPU?
My configuration in this message (http://forum.doom9.org/showthread.php?p=1663895#post1663895).
Can you compare RAM consumption with v0.86.11 and v0.87.3 with your hardware/software, when playing back that 4K clip with 5/5/3 queues? Does v0.87.0 consume more RAM than v0.86.11?
Here (http://forum.doom9.org/showthread.php?p=1664113#post1664113) I post screenshots of memory consumption. v0.87.* consumes less RAM.
jkauff
27th January 2014, 01:10
madVR v0.87.3 released
http://madshi.net/madVR.zip
* fixed: blacked out video in Windows XP
* fixed: blacked out video when disabling "present several frames in advance"
Having read all the 0.87 posts, I'm still confused. As a GTX660 owner, is there any reason to upgrade from 0.86? I'm leaning toward holding off until the Nvidia OpenCL problem is worked out.
Asmodian
27th January 2014, 01:34
@Asmodian, and how does v0.86.11 behave in comparison?
v0.86.11 works with all settings, memory usage is 1660 MB in FSE (LL on) and 1630 MB in FSW (LL on).
Same settings as above, defaults plus:
LL downscaling
24 GPU buffers (28 CPU)
Sorry I edited my original post with more details.
Edit:
GPU buffers at 10, back buffers at 8
FSW, 1175 MB (LL off), 1325 MB (LL on)
Ver Greeneyes
27th January 2014, 01:35
I agree, it's far less important than luma scaling - but I appreciate that madVR does have high quality chroma scaling options available.
Generally I would suggest:
Mitchell-Netravali
Bicubic 75 with the anti-ringing filter enabled
Jinc 3 with the anti-ringing filter enabled
in order of performance impact and quality. (low to high)I always appreciate these recommendations :) I know you've suggested image up- and downscaling settings before as well, but they're lost somewhere in this huge thread. Could you repeat your recommendations for image up- and downscaling in a similar format? I'm just able to use Jinc w/ AR for everything (Catmull-Rom for downscaling) on my desktop (nvidia so no OpenCL for now), but my laptop can't handle that much.
Having read all the 0.87 posts, I'm still confused. As a GTX660 owner, is there any reason to upgrade from 0.86? I'm leaning toward holding off until the Nvidia OpenCL problem is worked out.0.87 added a new debanding filter and fixed a bug leading to frame drops. Most of the problems 0.87 introduced should be fixed in 0.87.3, and the OpenCL options won't affect you unless you enable them.
mindbomb
27th January 2014, 01:55
I have a question about image doubling(which also applies to the scaling factor requirement). Does doubling mean doubling the total amount of pixels, or doubling both the height and width (quadrupling the total pixels)?
Asmodian
27th January 2014, 01:56
@Ver Greeneyes
Here are the results of the discussion as understood by Niyawa (http://forum.doom9.org/member.php?u=209305):
http://i.imgur.com/HLv1qmj.png
As I understand their preferences 6233638 prefers less ringing to a bit sharper which is why they prefer Mitchell-Netravali to Bicubic 75. This is of course perfectly reasonable. I hope I am correct as to your reasoning, 6233638. :)
I have a question about image doubling(which also applies to the scaling factor requirement). Does doubling mean doubling the total amount of pixels, or doubling both the height and width (quadrupling the total pixels)?
Doubling both the height and width
@madshi
Another note, using v0.87.3 with my normal settings (everything on :D) watching 1080p on 1440p I see 2624 MB of video ram used when in FSW.
mimi123
27th January 2014, 02:11
Hello!
For about one month I'm trying to send video, from my HTPC, with more than 8 bits per color to my projector. I have tried Nvidia, Ati and Intel graphics (basic models) but without success.
I know my projector is 12 bits capable because I test it with a BD player and works.
I think the problem is the graphics card or the drivers.
My SO is Windows 8 and my favorite player is MPCHC with Madvr, of course.
Can you tell me some cards, with moderate price, to get 10 o more bits?
Very thanks.:thanks:
AngelGraves13
27th January 2014, 02:51
Is the problem with dragging the screen to another monitor fixed? It would stop playback and you'd have to open the file again with the player on the second screen for it to play, or it would just stay stopped no matter matter. Pausing and Playing did nothing.
Qotscha
27th January 2014, 03:07
I think the performance of error diffusion is quite poor on my computer (Radeon HD 6850 with Catalyst 13.12). Here is a little comparison:
720p50 to 1080p50:
Jinc 4 + AR (Image + chroma), medium deband, random dithering: 91% GPU load, no dropped frames
Bilinear (Image + chroma), no deband, error diffusion: ~90% GPU load, a lot of dropped frames (result is about the same with any scaling algorithm)
It seems that also Vyral has these performance issues with 6850:
I haven't tested debanding or NNEDI3 upsampling or upscaling yet, only disabled everything in "Trade quality for performance". However, the rendering time and GPU load increased dramatically (from 12ms to 36ms in rendering time and 10% to 72% in GPU load, ouch).
After further testing, "use random dithering instead of openCL error diffusion" was the culprit.
Is openCL really that demanding ?
I've tried to test the new OpenCL features on madVR but, even though I have a powerfull GPU, it seems I can't use any. Therefore, I will stick with Jinc 3 AR and Catmull-Rom AR/LL.
On the other hand, debanding works great with little impact on performance.
In case you need debug logs to improve the performance of OpenCL - D3D9 interop, or whatever the problem is, here (https://www.dropbox.com/s/8f1oancc5fweraa/madVR%20-%20log.zip) is one where 720p50 is scaled to 1680*1050 using error diffusion and otherwise default settings.
djfred93
27th January 2014, 03:16
Hello!
For about one month I'm trying to send video, from my HTPC, with more than 8 bits per color to my projector. I have tried Nvidia, Ati and Intel graphics (basic models) but without success.
I know my projector is 12 bits capable because I test it with a BD player and works.
I think the problem is the graphics card or the drivers.
My SO is Windows 8 and my favorite player is MPCHC with Madvr, of course.
Can you tell me some cards, with moderate price, to get 10 o more bits?
Very thanks.:thanks:
MadVR can't do 10 bit output. A lot of answer is in this thread (http://forum.doom9.org/showthread.php?t=166844) .
MistahBonzai
27th January 2014, 05:06
720p50 to 1080p50:
Jinc 4 + AR (Image + chroma), medium deband, random dithering: 91% GPU load, no dropped frames
Bilinear (Image + chroma), no deband, error diffusion: ~90% GPU load, a lot of dropped frames (result is about the same with any scaling algorithm)
.
The use of openCL error diffusion demands too many GPU cycles that I could put to better advantage elsewhere. Simple playback of native 1080P via MadVR at default settings uses 19% GPU while simply enabling openCL error diffusion bumps it up to a steady 68% - and that's with a PCIE 3 2GB HD 7850 (latest Catalyst 13.2 driver pkg), i73770@3.4GH, Windows 7 64bit on a SSD. Display is 40" Sony Bravia (1080P w/10-bit panel) via HDMI 1.3b.
A bit of background... I mostly use MPC-HC, MadVR, LAV, FFDshow (raw), Reclock, AviSynth and AC3 Filter. Viewing/testing consists of analysis of video sample quality utilizing AviSynth(MT) based utilities - I don't watch movies or TV but I love to tweak :-). These samples often exceed 1080P (1920*1080/29.976 progressive) - going up to 4096*2304 DCI-P3.
For the past few weeks I've focused on AviSynth OpenCL variants - notably nnedi3ocl. In my estimation the current MadVR release (87.3) performs similar (within 15% or so) to what I have seen via AviSynth. My take on this particular usage of OpenCL is that it facilitates load balancing across the GPU/CPU while nnedi3 can certainly improve up-scaling quality - you can work wonders with low-rez porn clips :-).
It isn't a free lunch. And it's very heavily GPU dependent - resolution is everything. Up-scaling 854*480P to 1080P vis Interframe2 and/or SVP is about the practical limit on my rig before encountering occasional dropped frames. Note that I simultaneously employ video smoothing (frame interpolation) utilizing frame doubling, sharping and the like as needed. YMMV :-)
I offer-up a sincere thanks to all involved. And Madshi..you are the bomb! :-)
Asmodian
27th January 2014, 06:08
Can you compare RAM consumption with v0.86.11 and v0.87.3 with your hardware/software, when playing back that 4K clip with 5/5/3 queues? Does v0.87.0 consume more RAM than v0.86.11?
I just noticed this question and figured I could try it.
Using v0.87.3 my system works if I use the defaults with 8 back buffers in FSW, FSE off is the only other thing I have changed.
Everything looks great in all these tests. :)
4K->1440p 30p
v0.87.3 queues 16/8/3
LL On 1683 MB
LL Off 1525 MB
queues 16/8/8
LL On 1787 MB
LL Off 1617 MB
v0.87.3 queues 16/9/8
LL On 1823 MB
LL Off 1654 MB
16/10/3 (worked this time? :confused:)
LL On 1779 MB
LL Off 1609 MB
V0.86.11 queues 16/8/3
LL On 1639 MB
LL Off 1511 MB
queues 16/8/8
LL On 1704 MB
LL Off 1537 MB
I the process of making this list I found something very odd.
Queues 13/13/8 works (good picture) but 13/12/8 gives black screen. 14/13/8 and 15/13/8 give black but 16/13/8 gives a good picture. This seems to be true with LL on or off, 24/22/8
LL Off (2295 MB) works but 23/22/8 doesn't, 23/20/8 does. Very odd; and these exact queue sizes seem to change. Sorry for the lack of good data. :(
I have tried restarting the player (Zoom Player) between setting the queues as well as restarting the computer but something may be wrong with my testing methodology for this.
Please let me know if there is anything I can do to help. :confused:
omarank
27th January 2014, 06:22
I think the performance problems with deinterlacing should finally be fixed now. So I hope this build will make v0.87 equal to (or better than) v0.86.11 in terms of stability and performance, as long as NVidia users don't touch OpenCL. Please test and let me know.
Yes, now the performance is better than v0.86.11. I haven't encountered any other problem with this build so far. Thanks!
pie1394
27th January 2014, 08:19
For the past few weeks I've focused on AviSynth OpenCL variants - notably nnedi3ocl. In my estimation the current MadVR release (87.3) performs similar (within 15% or so) to what I have seen via AviSynth. My take on this particular usage of OpenCL is that it facilitates load balancing across the GPU/CPU while nnedi3 can certainly improve up-scaling quality - you can work wonders with low-rez porn clips :-).
It isn't a free lunch. And it's very heavily GPU dependent - resolution is everything. Up-scaling 854*480P to 1080P vis Interframe2 and/or SVP is about the practical limit on my rig before encountering occasional dropped frames. Note that I simultaneously employ video smoothing (frame interpolation) utilizing frame doubling, sharping and the like as needed. YMMV :-)
About the above 2 functionalities, it does not seem to help the noticeable subjective PQ performance on my KDL-65HX920. The TV itself has already given certain level of resolution enhancement and motion stability. Neither does the SmoothMotion on FILM contents to 60Hz output. Actually it is worse than native 1080p24 input mode in some complex scenes -- just like what it happens on my another Hitachi 42" PDP, an 1080i50/60 native panel with super-resolution engine + its 1080p24 signal optimization.
For the madVR 0.87.x debanding with angle-detection along with Jinc3AR mode, it seems to make the X-RealityPRO XCA7 engine's super-resolution processing more stable on quick motion object's edges.
James Freeman
27th January 2014, 08:54
Madshi,
Can you please add a "Stop cadence search", "Lock cadence" keyboard shortcut, or "Stop search once 3:2 found" option in Proccessing->Deinterlaced->Film Mode.
The reason is even in a known 24p telecined to 29.97i content ivtc still breaks cadences sometimes.
I don't know if it is appropriate to compare to other software, but I will for reference.
I own PowerDVD 13, in which Film Mode is completely automatic, when it detects soft telecined 29.97i it will switch to 24p and stay there.
For PAL DVD's it just stays at equivalent Video Mode.
Maybe its done with "Flags" or what (I'm not well read about that matter), but it just works, no cadence breaks and no resulting micro stutter.
Thanks.
sdancer75
27th January 2014, 09:19
madVR currently does not support windowless, unfortunately. This is planned for a future version. But not any time soon.
Don't stop reading there. Read to the end of the "3RD PARTY SOFTWARE RESTRICTIONS" section.
Hi,
1) My app is not free, so can I ask for a free license or do I have to pay license fee ?
2) Still I can not make it to work : Here the code I use. I can see the madvr window inside my CView pane, and something that is moving (like a video playback) with flickering.
//Initialize madVR
hr = m_pMadVR->QueryInterface(IID_IVideoWindow, (void **)&m_pVidWin);
if (SUCCEEDED(hr)) {
m_pVidWin->put_Owner((OAHWND)m_hMediaWindow);
m_pVidWin->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS);
hr = m_pMadVR->QueryInterface(IID_IBasicVideo, (void **)&m_pBasicVideo);
if (FAILED(hr)) {
ReportError(_T("Failed to initialize IBasicVideo (madVR)."),hr);
AMLOGINFO(_T("Failed to initialize IBasicVideo (madVR). errorcode=%s."),GetErrorCode(hr) );
return FALSE;
}
} else {
ReportError(_T("Failed to initialize IVideoWindow (madVR)."),hr);
AMLOGINFO(_T("Failed to initialize IVideoWindow (madVR). errorcode=%s."),GetErrorCode(hr) );
return FALSE;
}
//At my resize method
BOOL CGraph::Resize()
{
................
if (m_RendererType == MADVR_RENDERER) {
GetClientRect(m_hMediaWindow, &wndRect);
m_pBasicVideo->GetVideoSize(&size.cx, &size.cy);
m_pBasicVideo->SetDefaultSourcePosition();
m_pBasicVideo->SetDestinationPosition(0, 0, wndRect.right, wndRect.bottom);
m_pVidWin->SetWindowPosition(0, 0, wndRect.right, wndRect.bottom);
}
...........
}
iSunrise
27th January 2014, 10:45
Thanks for 0.87.3 madshi, working great on my system. Letīs hope you can get the OpenCL stuff to work on NV, as I really want to test the new NNEDI3 for instance. Still having a lot (and I mean A LOT) of lower resolution movies (DVD) and videos where this could make a lot of sense.
Proper languages use the same symbol for setting and evaluating variables. ;)
So C++ isnīt a "proper" language in your world then? Ok, I donīt think we need to discuss this further.
6233638
27th January 2014, 11:36
Can you please add a "Stop cadence search", "Lock cadence" keyboard shortcut, or "Stop search once 3:2 found" option in Proccessing->Deinterlaced->Film Mode.
The reason is even in a known 24p telecined to 29.97i content ivtc still breaks cadences sometimes.Set up a keyboard shortcut to force deinterlacing to film mode.
James Freeman
27th January 2014, 11:43
Set up a keyboard shortcut to force deinterlacing to film mode.
I did.
The video has multi-cadence parts so madvr keeps switching between them.
I just want to stop cadence searching, and freeze on a certain cadence.
EDIT:
madshi,
Have you ever thought about adding a smart DeNoise & Sharpen algorithms?
I use the ffdshow "Blur & NR" -> denoise3d, for removing compression noise/grain and artifacts.
A little goes a long way (no need for strong settings), almost looks like its twice the bitrate with no apparent PQ/Sharpness loss.
There is a problem with ffdshow: its 8-bit, and any change destroys madvr 16-bit workflow.
With Dithering + DeBanding we currently have in MadVR, DeNoise from ffdshow, and MPC-LumaSharpen (from SuperFX, the best one yet) sharpening, I get a better picture from a full 50Gb blu-ray than it can ever have.
Almost Digital Cinema quality in terms of noise and PQ with these together (DCI is almost 300-500 Gb for a single movie).
Do you have plans to further add quality filters into MadVR like you did with NNEDI & Debanding?
mimi123
27th January 2014, 12:32
MadVR can't do 10 bit output. A lot of answer is in this thread (http://forum.doom9.org/showthread.php?t=166844) .
Very thanks for your reply, the tread you tell me has been very useful.
I read these tread and I understand there is minus to none improvement on image quality, at least for the normal BD content, playing at 10 bits, is my understanding correct?
Anyway, can you tell me a good card, or some, to get the full potential of Madvr?
Qotscha
27th January 2014, 12:59
The use of openCL error diffusion demands too many GPU cycles that I could put to better advantage elsewhere. Simple playback of native 1080P via MadVR at default settings uses 19% GPU while simply enabling openCL error diffusion bumps it up to a steady 68% - and that's with a PCIE 3 2GB HD 7850 (latest Catalyst 13.2 driver pkg), i73770@3.4GH, Windows 7 64bit on a SSD. Display is 40" Sony Bravia (1080P w/10-bit panel) via HDMI 1.3b.
A bit of background... I mostly use MPC-HC, MadVR, LAV, FFDshow (raw), Reclock, AviSynth and AC3 Filter. Viewing/testing consists of analysis of video sample quality utilizing AviSynth(MT) based utilities - I don't watch movies or TV but I love to tweak :-). These samples often exceed 1080P (1920*1080/29.976 progressive) - going up to 4096*2304 DCI-P3.
For the past few weeks I've focused on AviSynth OpenCL variants - notably nnedi3ocl. In my estimation the current MadVR release (87.3) performs similar (within 15% or so) to what I have seen via AviSynth. My take on this particular usage of OpenCL is that it facilitates load balancing across the GPU/CPU while nnedi3 can certainly improve up-scaling quality - you can work wonders with low-rez porn clips :-).
It isn't a free lunch. And it's very heavily GPU dependent - resolution is everything. Up-scaling 854*480P to 1080P vis Interframe2 and/or SVP is about the practical limit on my rig before encountering occasional dropped frames. Note that I simultaneously employ video smoothing (frame interpolation) utilizing frame doubling, sharping and the like as needed. YMMV :-)
I offer-up a sincere thanks to all involved. And Madshi..you are the bomb! :-)
Thanks for clarification. Now I believe that error diffusion really is that heavy. It just felt first a little hard to believe that my card, which was formerly "fully madVR capable", i.e. able to do 1440*1080i60 at 1080p60 with Jinc 3 + AR, can't utilize error diffusion at 1080p50 with any settings.
I fully agree about the quality of NNEDI on low resolution content.
And thank you madshi for your continuous work to improve viewing experience!
leeperry
27th January 2014, 13:07
You can tell madVR to double your image size, or to quadruple it with NNEDI3. If you tell madVR to only double it, you get 720*576. If you tell madVR to quadruple it, you get 1440*1152. But whether madVR actually doubles or quadruples depends on which exact settings you're using in the "image doubling" section. There are several radio boxes in there you can check which controls all this. In any case, if the output of "image doubling" is smaller than the target resolution, madVR will use the algorithm from the "image upscaling" settings page to upscale the "image doubling" output to the needed target resolution. If the output of "image doubling" is larger than the target res, madVR will usw the image downscaling algorithm to achieve the target res.
OK sounds good, TYVM for the detailed explanations! Maybe down the road you could start compiling this in the OP or into a forthcoming user manual.
So I cannot get NNEDI to upscale 360*288 to 1440*576? I was under the impression that NNEDI allowed either 2X horizontal and/or vertical upscale? This would increase performance I presume?
And you recently said that NNEDI was kinda overkill for chroma, but for clarity sakes's what did you use for chroma in this screenshots comparison (http://forum.doom9.org/showpost.php?p=1663611&postcount=21592) please?
Error handling is definitely better with software decoding.
Someone posted a really good sample video here (probably years ago at this point) which shows errors with the hardware decoders that do not exist with LAV's software decoding
Yeah, you can always find nasty samples that will make some decoders output junk, the big difference here is that the libavcodec ppl are very responsive to this kind of problem.
Ver Greeneyes
27th January 2014, 13:40
As I understand their preferences 6233638 prefers less ringing to a bit sharper which is why they prefer Mitchell-Netravali to Bicubic 75. This is of course perfectly reasonable. I hope I am correct as to your reasoning, 6233638. :)Thanks, but yeah, I think my preferences are more in line with those of 6233638 :) I hate artifacts much more than a 'soft' look.
Werewolfy
27th January 2014, 14:08
@madshi
Thanks for all your work, I was very busy this week end so I haven't followed the recent updates. I just can say that I have no issues with your latest build except the OpenCl features because I have a Nvidia GPU.
But the profiles are great, more flexible than I have imagined! I was a little bit afraid at the beginning, it seemed a little bit complicated but after some testings, it's not so hard. I'm sure this is the price to pay for this high flexibility.
I juste have one question about NNEDI3. I understand it doubles the resolution so if a video is 720*576 I get 1440*1152. I have a 1920*1080 TV screen so horizontal resolution is smaller and vertical resolution is bigger. Does it imply a upscale or a downscale or both in that case?
I hope you'll find a solution for Nvidia GPU owners, your're making a great job (I really love the debanding feature :D ) so I wish you the best of luck to fix this issue.
vivan
27th January 2014, 14:37
I juste have one question about NNEDI3. I understand it doubles the resolution so if a video is 720*576 I get 1440*1152. I have a 1920*1080 TV screen so horizontal resolution is smaller and vertical resolution is bigger. Does it imply a upscale or a downscale or both in that case?Both (if NNEDI3 is used). First, video is upscaled with NNEDI3 (720x576 -> 1440x1152), then downscaled (1440x1152 -> 1350x1080 (square pixels) or 1440x1080 (4:3)).
I'm not sure about anamorphic 16:9, however. It should be 1440x1152 -> 1920x1080, means upscaling in one direction and downscaling in the other.
Werewolfy
27th January 2014, 15:26
Thanks, I forgot that for a 1080p Tv screen, the resolution is only 1440*1080 for a 4:3 video so after NNEDI3 doubles the resolution to 1440*1152, madVR has only to downscale it to the appropriate resolution with Catmull-Rom or whatever you've chosen.
Yes, there is still anamorphic 16:9 content who needs to be upscaled horizontally and downscaled vertically, I wonder what happens in that particular case, if Jinc (for example) and Catmull-Rom work together.
pie1394
27th January 2014, 15:34
@madshi
Confirm the DXVA deinterlacing's performance is restored with 0.87.3! Appreciate for your hard work! :thanks:
[720x480i60]
0.86.10 : 1.20ms(0.83 ms **)
0.87.1: 1.64 ms
0.87.1b: 1.38 ms
0.87.3: 1.27 ms
**Somehow I no longer can reproduce this number during today's verification... Not quite sure if the CPU's TurboBoost among several frequencies affects the timing measurement's accuracy
[1440x1080i60]
0.86.10 : 1.44 ms
0.87.1: 4.21 ms
0.87.1b: 2.12 ms
0.87.3: 1.38 ms
--
Core i5-3570K + Z77 + dual-ch DDR3-2400 + HD7970@925MHz Catalyst 13.12 (forced VSync ON, Vector-adaptive deinterlace mode) + Win7x64SP1 + MPC-BE 1.3.0.3 + LavFilter 0.60.1 (DXVA2) + madVR FSE (deband,angle-detect, all Jin3AR for up-scale)
AGKnotUser
27th January 2014, 15:59
With 87.3 when I try to play a 1.33:1 MKV file in fullscreen mode with MPC-HC the video stops, displays the frame it stops at but the audio continues. Using Windows 8.1 64 bit, MPC-HC 1.7.2. Going back to 86.11 cures the problem.
Edit: I notice this happens only with videos with no top or bottom black bars.
michkrol
27th January 2014, 16:36
With 87.3 when I try to play a 1.33:1 MKV file in fullscreen mode with MPC-HC the video stops, displays the frame it stops at but the audio continues. Using Windows 8.1 64 bit, MPC-HC 1.7.2. Going back to 86.11 cures the problem.
Works here :rolleyes:
On a more serious note, mkv is a container format, this tells us nothing important. What codec is used, is the video interlaced, are you using software or hardware decoding (which exactly dxva-n/dxva-cb/cuvid/quicksync), what resolution are you scaling to/from?
If you're on MPC-HC select File->Properties and paste the MediaInfo here. Information about operating system, GPU, drivers, player and codecs used might also help.
Are you using any of the new features? Perhaps try restoring settings to default?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.