View Full Version : Media Player .NET (MPDN) - D3D HQ GPU Video Renderer [v2.49.0/v1.31.0 27 Dec 2018]
aufkrawall
4th September 2015, 00:04
Will try to get a 5k source from YT...
Zachs
4th September 2015, 00:30
What about just 1080p to half the size?
aufkrawall
4th September 2015, 00:36
5120x2700 30fps@WQHD
Lanczos 4 taps (same settings as above)
MPDN: 50%1126Mhz (~always)
madVR 50%@671Mhz (or 25%@1126Mhz, driver sometimes decides differently with low GPU load)
bicubic (sharpness 50% in madVR and 100% in MPDN look pretty much identical):
MPDN: 50%@1126Mhz
madVR: 43%@587Mhz
Again, just like with the 4k 60fps clip, nearest neighbor gives the same GPU load in MPDN as Lanczos4.
With 4k 60fps it stays always at 75% GPU load, with the 5120x2700 30fps clip it is always at 50% GPU load.
Very odd, it is much too high too.
aufkrawall
4th September 2015, 00:52
1080p30@50%:
lanczos 4
MPDN: 31%@135Mhz
madVR: 31%@135Mhz
Seems like either the strange behavior only occurs when the resolution is high or the precision of the numbers is too low when there is too low load.
I'm getting lots of dropped frames in MPDN with the 4k 60fps video when I just enable deband filter while doing lanczos4 downscaling to WQHD. This is no problem in madVR, no droppped frames there with deband filter (of course not using any quality trade-off setting).
Zachs
4th September 2015, 01:05
That's just really strange. It's the same algorithm that does 50% scaling. It really shouldn't matter which resolution it started off with. Is the target size the same for both renderers?
aufkrawall
4th September 2015, 01:10
Yes, of course. Apart from that 1080p 50% scaling, I always scaled to my native WQHD resolution, which results in the same target rectangle.
I also tried FSE and old windowed mode path, doesn't make a difference.
Zachs
4th September 2015, 01:13
I'll see what I can do. It's hard to test for it since I don't have a high resolution display.
Anima123
4th September 2015, 01:14
aufkrawall, does a clean installation, or clearing up of application data help?
aufkrawall
4th September 2015, 01:23
I'll see what I can do. It's hard to test for it since I don't have a high resolution display.
Maybe you can simulate it with Nvidia Dynamic Super Resolution?
But you probably even don't need a high render resolution, I'll try if I can reproduce it with 1080p display resolution.
I think the main odd thing is that there is no difference in GPU load between lanczos, bilinear and nearest neighbor.
Anima123: I reinstall MPDN very frequently as I often try around with test builds and GitHub render scripts.
For this reason I just completely reinstalled it today. I will try it again, but I think it's very unlikely that it will make any difference.
aufkrawall
4th September 2015, 01:37
Issue also happens when downscaling to 1080p (e.g. the Big Buck Bunny video from above) or with totally clean installation of MPDN without render scripts.
Zachs
4th September 2015, 01:41
OK I'll have a look.
aufkrawall
4th September 2015, 01:47
Please compare lanczos vs nearest neighbor in terms of performance (GPU load , clock etc.).
The way NN is implemented in MPDN it should still be quite faster than lanczos, right?
Zachs
4th September 2015, 01:54
That's right. It should be massively faster. Especially when you're downscaling just 50%.
aufkrawall
4th September 2015, 02:17
I tested again 1080p30 -> 50%, this time without DXVA2 CB (seems to have a little overhead on GPU load).
With madVR, GPU usage drops from 28% to 18% when switching from lanczos4 to NN.
With MPDN, there is again that strange behavior that there is almost no difference between lanczos4 and NN, both are around ~26%.
Probably this is already a symptom by the same bug that's to blame for the high GPU load when downscaling from very high resolution.
But since it's hardly noticeable (at least with fast GPUs), maybe it's really better to focus on that 4k 60fps video, which is much more performance critical.
x7007
4th September 2015, 11:16
What do I get from this ? Does it gonna play using NNEDI3 for all 1080p and 720p ? is Sinc-Blackman better than Jinc ?
The renderer time goes from 6.85ms Windowed mode to 22.33ms FSE DX11 Exclusive mode . what does it mean ?
I've added Deband too after
http://i.imgur.com/KfnJIuQ.png
ryrynz
4th September 2015, 12:35
What do I get from this ? Does it gonna play using NNEDI3 for all 1080p and 720p ? is Sinc-Blackman better than Jinc ?
NNEDI3 will be used for all resolutions that require upscaling to target size. You have three chroma resizes there.. drop Chromascaler or EWA depdending on what you prefer. Sinc-Blackman seems to be popular, you might prefer it.
Zachs
4th September 2015, 13:44
Could you guys give the audio scripts on GitHub a try to see if it works on your machine now please?
It should work now.
Zachs
4th September 2015, 13:53
Hmm, sounds like issue #142 (https://github.com/zachsaw/MPDN_Extensions/issues/142)might still not be completely solved after all. Although, did you check if the settings returned to the proper values when the playback has ended?
Can you try it now? I think I found the problem. The variables for the original settings just weren't initialised.
ryrynz
4th September 2015, 14:14
Can you try it now? I think I found the problem. The variables for the original settings just weren't initialised.
Working fine for me.
aufkrawall
4th September 2015, 17:04
Is there a way to allow render scripts to only run once?
I defined various conditionals with different chroma upscalers and my goal is to run deband:
-after chroma is upscaled to source resolution
-to run it only once to save performance and detail loss
-if luma is downscaled, deband should run after this to save performance
All three points should be fulfilled together and I would like to renounce to stick to a hotkey solution (which I find rather ugly).
Any ideas? :)
My current script chain:
http://www69.zippyshare.com/v/yO1TwR8q/file.html
BetA13
4th September 2015, 19:26
i decided to try mpdn again after it looks more friendly now :)
also with the scripts..
looks nice now..
i just have one problem..
im using an 30hz hdtv that can do 1080i.
i need to use nvidia resize so i can see teh whole image. (no sides cut off)
now, when i use mpdn and go into fullscreen, theres a lot of stuff missing on teh sides, its like the player ignores teh resolution set by ncvidia CP...
i tried different things now, but didnt help, its allways stuff missing somehow..
is this a known problem?
here are some infos:
win 7 64bit, latest NV Drivers.
gtx670
settings:
this is teh resizing stuff so it fits all, that i have to do:
http://abload.de/thumb/2txuoa.png (http://abload.de/image.php?img=2txuoa.png)
and this i do after, setting it like in teh screen, and teh desktop fits perfect. but player not :(
http://abload.de/thumb/1rnuun.png (http://abload.de/image.php?img=1rnuun.png)
greetz
Shiandow
4th September 2015, 23:04
Is there a way to allow render scripts to only run once?
I defined various conditionals with different chroma upscalers and my goal is to run deband:
-after chroma is upscaled to source resolution
-to run it only once to save performance and detail loss
-if luma is downscaled, deband should run after this to save performance
All three points should be fulfilled together and I would like to renounce to stick to a hotkey solution (which I find rather ugly).
Any ideas? :)
My current script chain:
http://www69.zippyshare.com/v/yO1TwR8q/file.html
How about something like:
Chroma Scaling
Resize (but only if downscaling)
Debanding
The "Resizer" script should have an option to scale only if the target size is smaller then the video size. Or you could use a condtional to do pretty much the same thing.
As an aside, I think the Resizer might need to be improved a bit. It has quite a lot of options, but I'm pretty sure most haven't ever been used. And I think conditionals make most of them unnecessary. Maybe it could be made scriptable, then we could just keep the sensible options and remove the rest.
aufkrawall
4th September 2015, 23:30
I've really no idea how to use the resizer render script and unfortunately, I can't find any documentation about it. :o
My problem is that I have conditionals for different source resolutions and that they can affect each other.
So if I'd add deband for each of it (to have it run after chroma scaling), I end up with multiple deband passes for low source resolutions.
antonyfrn
5th September 2015, 09:19
Hi I'm trying to move over to MPDN and need a bit of help setting up a script like I use in MadVr. Or if anyone has any suggestion on something better to use?
if (srcHeight < 361) and (deintFps < 31) "Flash"
elseif (srcHeight < 405) and (deintFps < 31) "<SD 30fps"
elseif (srcHeight < 481) and (deintFps < 31) "SD 30fps"
elseif (srcHeight < 714) and (deintFps > 59) "720p60 (cropped)"
elseif (srcHeight < 714) and (srcWidth > 1279) "720p24 (cropped)"
elseif (srcHeight < 541) and (deintFps < 26) "1/2 HD"
elseif (srcHeight < 541) and (deintFps < 31) "1/2 HD 30fps"
elseif (srcHeight < 721) and (deintFps < 26) "720p24"
elseif (srcHeight < 721) and (deintFps < 31) "720p30"
elseif (srcHeight < 721) and (deintFps < 51) "720p50"
elseif (srcHeight < 721) and (deintFps > 51) "720p60"
elseif (srcHeight < 1040) and (srcWidth > 1919) "1080p24 (cropped)"
elseif (deintFps < 26) "1080p24"
else "1080i30"
Braum
5th September 2015, 10:22
Hi I'm trying to move over to MPDN and need a bit of help setting up a script like I use in MadVr. Or if anyone has any suggestion on something better to use?
if (srcHeight < 361) and (deintFps < 31) "Flash"
elseif (srcHeight < 405) and (deintFps < 31) "<SD 30fps"
elseif (srcHeight < 481) and (deintFps < 31) "SD 30fps"
elseif (srcHeight < 714) and (deintFps > 59) "720p60 (cropped)"
elseif (srcHeight < 714) and (srcWidth > 1279) "720p24 (cropped)"
elseif (srcHeight < 541) and (deintFps < 26) "1/2 HD"
elseif (srcHeight < 541) and (deintFps < 31) "1/2 HD 30fps"
elseif (srcHeight < 721) and (deintFps < 26) "720p24"
elseif (srcHeight < 721) and (deintFps < 31) "720p30"
elseif (srcHeight < 721) and (deintFps < 51) "720p50"
elseif (srcHeight < 721) and (deintFps > 51) "720p60"
elseif (srcHeight < 1040) and (srcWidth > 1919) "1080p24 (cropped)"
elseif (deintFps < 26) "1080p24"
else "1080i30"
You need to use the Script Chain and within it use the Conditional function :
http://reho.st/self/7df07f301f0b39b05a76d1a0bb447df405ce1ae1.png
antonyfrn
5th September 2015, 12:16
You need to use the Script Chain and within it use the Conditional function :
When i go to create one of these scripts i get the follow error.
Error in render script ('Conditional'):
Expected ')'
Any idea?
If SourceSize.Width >=1400 and SourceSize.Height >=1080, use 'Script Chain'
If SourceSize.Width <1400 and SourceSize.Height <1080 and SourceSize.Width >=920 and SourceSize.Height >=720, use 'Script Chain'
If SourceSize.Width < 920 and SourceSize.Height <720, use 'Script Chain'
aufkrawall
5th September 2015, 14:23
Maybe it will be more obvious what is wrong if you copy&paste the real render script.
antonyfrn
5th September 2015, 14:59
Here you go.
<ListOfPreset xmlns:yaxlib="http://www.sinairv.com/yaxlib/">
<Preset Name="Script Chain" Guid="8e0703a7-8d8d-4c31-9d6b-b03074c22cc7">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.ScriptChain.ScriptChainScript">
<Settings>
<Options>
<Preset Name="High" Guid="d1e0f2be-2263-45c4-bd0a-014814d55401">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.Conditional.ConditionalUi">
<Settings>
<Condition />
<Preset />
</Settings>
</Script>
</Preset>
<Preset Name="Medium" Guid="7353c2f3-74ae-4bb0-b75d-daed30b0d070">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.Conditional.ConditionalUi">
<Settings>
<Condition />
<Preset />
</Settings>
</Script>
</Preset>
<Preset Name="Low" Guid="ed168d4e-50e0-44c7-802b-e74a7099d9dc">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.Conditional.ConditionalUi">
<Settings>
<Condition />
<Preset />
</Settings>
</Script>
</Preset>
</Options>
</Settings>
</Script>
</Preset>
</ListOfPreset>
aufkrawall
5th September 2015, 19:20
Did you put something by mistake in the conditional language box that doesn't belong there, like "if" etc.?
eX``
5th September 2015, 21:01
Hello everyone,
First post despite a close follow-up =)
What kind of crazy service is this? :D
But somehow it still refuses with this error :confused: :
http://abload.de/img/erroru5suh.jpg (http://abload.de/image.php?img=erroru5suh.jpg)
Deleting MPDN's config doesn't help.
I'd like to bump this message, because since the 2.40 I can't launch MPDN with extensions without going through this message.
In other words, no extensions gives a message "You are missing a lot of features not using the super mega great extensions, click here etc etc...". When I have the extensions folder filled, I have the error message.
Besides, I tried with .exe MPDN + .exe extensions (both x86 & x64), standalone x64 both, anyCPU + extensions, I even tried standalone + source. Always trying 2-3 times each, always cleaning (uninstall, ccleaner, reg, ...) inbetween, but nothing seem to be working and I cannot figure out where the problem stands.
If you have any idea what could be the problem, I am all ears =)
FYI, I repaired .net 4 and nothing changed. Then reinstalled, same issue. I am running win7 x64. The only thing I did not do because I never encountered any error is repairing rundll32.
Thank you very much and see you around :thanks:
aufkrawall
5th September 2015, 21:26
IF MPDN itself is running, there probably hardly is any problem with any Windows/.NET component.
By cleaning, you also mean deleting the MPDN config folder @user\appdata\local?
eX``
5th September 2015, 21:57
Yup, un-installing, cleaning reg, sweeping local, going ccleaner.
Zachs
6th September 2015, 01:23
Yup, un-installing, cleaning reg, sweeping local, going ccleaner.
Can you enable debug dialog and give me the stack trace please?
eX``
6th September 2015, 10:07
This is the sort version, let me know if you need more details (I'll edit)
TITLE: CSScriptLibrary Error
------------------------------
An unexpected error 'csscript.CompilerException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
(0,0): error CS2007: Unrecognized option: '/highentropyva'
(CSScriptLibrary)
------------------------------
BUTTONS:
&Ignore
&Abort
------------------------------
Zachs
7th September 2015, 00:48
This is the sort version, let me know if you need more details (I'll edit)
OK I know what's causing the problem. Cudafy (included recently in the extensions for audio scripts) drags in Mono.CSharp which takes over Microsoft.CSharp when compiling the scripts. I've made the script compiler compatible with Mono for the next release. And the reason it happens on some machines but not others is because it depends on the order the extensions are loaded (i.e. if audio scripts are loaded last, it'll be fine).
aufkrawall
7th September 2015, 01:06
Did you also have time to look into the downscaling issue? :)
elraffa
7th September 2015, 01:08
Hi zachs.. could you include Nvidia's Dynamic Super Resolution (DSR) feature in MPDN? It force to resize the video to very high resolutions (like 4K) even if you have a lower resolution monitor (1920x1080).
aufkrawall
7th September 2015, 01:12
MPDN can already do this, best done with NNEDI3 or Super-xbr.
DSR has very poor downscaling quality.
Zachs
7th September 2015, 01:15
Looking into the downscaling issue. I've found several oddities with it so far. One involves using the wrong shader altogether which may have caused the problem. Not 100% sure yet.
aufkrawall
7th September 2015, 01:18
Thanks, glad it isn't something weirdly hidden.
elraffa
7th September 2015, 01:24
MPDN can already do this, best done with NNEDI3 or Super-xbr.
DSR has very poor downscaling quality.
could you give me a script' example to do this?
aufkrawall
7th September 2015, 01:38
When you run NNEDI3 or super-xbr, the resolution is always doubled and then downscaled, if necessary.
You can run it in a row to quadruple etc. resolution.
However, it doesn't really make sense to scale to a much higher resolution than the display resolution is, because
1. the scaling is expensive
2. more scaling artifacts are introduced.
May I ask what effect of DSR you like it has on video?
If it's the blur, there might be a simple shader that achieves the same result.
Zachs
7th September 2015, 01:47
I tested again 1080p30 -> 50%, this time without DXVA2 CB (seems to have a little overhead on GPU load).
With madVR, GPU usage drops from 28% to 18% when switching from lanczos4 to NN.
With MPDN, there is again that strange behavior that there is almost no difference between lanczos4 and NN, both are around ~26%.
Probably this is already a symptom by the same bug that's to blame for the high GPU load when downscaling from very high resolution.
But since it's hardly noticeable (at least with fast GPUs), maybe it's really better to focus on that 4k 60fps video, which is much more performance critical.
I tried 1080p24 -> 50% but I see an increase in GPU load from 33% to 59% going from Bilinear to Lanczos4. Can you do a screen shot with debug OSD?
The problem I mentioned earlier was actually a separate bug and has been fixed for the next release.
Shiandow
7th September 2015, 01:51
Hi zachs.. could you include Nvidia's Dynamic Super Resolution (DSR) feature in MPDN? It force to resize the video to very high resolutions (like 4K) even if you have a lower resolution monitor (1920x1080).
That feature makes zero sense when rendering videos. With videos the difficult part is that you start at a low resolution and need to end at a possibly higher resolution (or lower but that's easier). With games you start at a theoretically infinite resolution but you need to lower this to a finite resolution, since it would take infinitely long to render otherwise.
These processes are completely different.
You can force MPDN to upscale to a resolution which is far too high, and then scale it all down again, but there's no point in doing so. With some algorithms like NNEDI3 you're forced to scale the image slightly too much, but it would have been better if that wasn't the case. It makes no sense to force this behaviour.
elraffa
7th September 2015, 01:52
When you run NNEDI3 or super-xbr, the resolution is always doubled and then downscaled, if necessary.
You can run it in a row to quadruple etc. resolution.
However, it doesn't really make sense to scale to a much higher resolution than the display resolution is, because
1. the scaling is expensive
2. more scaling artifacts are introduced.
May I ask what effect of DSR you like it has on video?
If it's the blur, there might be a simple shader that achieves the same result.
I change the resolution in nvidia control panel to 4k in my 1080p screen and the image is more clear, when I apply adaptive sharpen, the image has less artifacts and noise..
aufkrawall
7th September 2015, 03:05
I tried 1080p24 -> 50% but I see an increase in GPU load from 33% to 59% going from Bilinear to Lanczos4. Can you do a screen shot with debug OSD?
NN downscaling:
http://www.ld-host.de/uploads/thumbnails/d430387adb24a10ba9f710c8c5a10035.png (http://www.ld-host.de/show/d430387adb24a10ba9f710c8c5a10035.png)
Lanczos 4:
http://www.ld-host.de/uploads/thumbnails/63d1509c20b21263319920b1a48d5c75.png (http://www.ld-host.de/show/63d1509c20b21263319920b1a48d5c75.png)
FM and dithering are enabled, but that didn't make any difference in the past examples.
Zachs
7th September 2015, 03:49
I can't seem to be able to replicate the issue. I'm still seeing a massive difference between Lanczos4 and bilinear / nearest.
Have you got an Intel GPU to test? I'd be interested to see if it happens there as well. I get consistently lower usage on both the Intel and NVIDIA GPUs I've tested.
Just to be thorough, could you perhaps clear your app settings, replicate the issue, and then send me the config files?
I'll try to replicate it on all the GPUs I have access to (I have 8 that I usually test on).
foxyshadis
7th September 2015, 09:18
Time flies and it's been a year since MPDN was first released. Happy Birthday MPDN!
Just wanted to take the opportunity to thank all the hard work from the devs and all the testers in helping to make MPDN a great media player that it is today. Thank you!
MPDN v2.42.0 has been released with two key features you've been asking for: Custom chroma scaler in NNEDI3 (both shader and OpenCL) and Dynamic Range Compressor AudioScript.
It remains our top priority to bring you the following features:
Chaining of AudioScripts
NNEDI3 Chroma Scaler
Cheers!
Missed this last week; congrats on making it so far. It's gone from a bit of a joke at first (a new barebones player? really?) to my only player. Looking forward to the next year!
The new DRC is welcome, this finally makes playing comfortable whether it's quiet or really noisy out. Reading ReplayGain tags would be a great integration, as well as having the volume control be able to boost well beyond 100% in order to take maximum advantage of compression/limiting. I wonder if lowering attack/decay the more volume is boosted makes sense, turning it more into a limiter the louder it gets.
Zachs
7th September 2015, 12:39
Just a quick heads up. There's a bug in the release where audio scripts won't run for some reason - it's complaining that Cudafy.NET cannot be resolved. It's late here so I'll try to fix it some other time. In short, you can't use audio scripts yet.
MPDN Extensions 1.18.1 should have this fixed.
Zachs
7th September 2015, 12:44
Missed this last week; congrats on making it so far. It's gone from a bit of a joke at first (a new barebones player? really?) to my only player. Looking forward to the next year!
The new DRC is welcome, this finally makes playing comfortable whether it's quiet or really noisy out. Reading ReplayGain tags would be a great integration, as well as having the volume control be able to boost well beyond 100% in order to take maximum advantage of compression/limiting. I wonder if lowering attack/decay the more volume is boosted makes sense, turning it more into a limiter the louder it gets.
Thanks! :) This is a great forum to make something magical happen.
The default settings isn't the best - I actually use a 0.1ms/0.2ms attack/decay myself. Anyway if more users could play around and recommend better defaults, I'm open to changing it.
As for ReplayGain tags, care to explain a little more?
Not sure how we'd be able to boost beyond 100% though?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.