View Full Version : Media Player .NET (MPDN) - D3D HQ GPU Video Renderer [v2.49.0/v1.31.0 27 Dec 2018]
Zachs
19th May 2015, 02:08
This player gives "failed to render file" out of the box. That gives a very bad impression to new users. Make it standalone in some way if you want it to ever take off.
You mean when you don't have the pre-requisites installed?
Magik Mark
19th May 2015, 05:41
I'm having problem with bit streaming. No audio for movies. Ok if TV.
No Problem if bitstreaming is off for both formats.
Does it have something to do if its DD or DTS?
No problem at all under MPC BE. Both Bitstreaming & pcm ok
burfadel
19th May 2015, 06:10
I just tried the latest 3089 test build (MediaPlayerDotNet_x64_2_26_0_3089.zip), it doesn't work! To be more precise, it does work, but the extensions don't. If I just use the base MPDN 3089, it loads and works fine.
With the latest extension pack, I get the following:
TITLE: Error
------------------------------
An unexpected error 'Mpdn.CriticalException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
One or more extensions failed to load
------------------------------
n:\MPDN\Extensions\Framework\Filter.Sources.cs(195,66): error CS0246: The type or namespace name 'ITexture3D' could not be found (are you missing a using directive or an assembly reference?)
n:\MPDN\Extensions\Framework\Filter.Sources.cs(197,26): error CS0246: The type or namespace name 'ITexture3D' could not be found (are you missing a using directive or an assembly reference?)
n:\MPDN\Extensions\Framework\Filter.Sources.cs(200,38): error CS0246: The type or namespace name 'ITexture3D' could not be found (are you missing a using directive or an assembly reference?)
n:\MPDN\Extensions\Framework\Filter.Sources.cs(206,25): error CS0246: The type or namespace name 'ITexture3D' could not be found (are you missing a using directive or an assembly reference?)
n:\MPDN\Extensions\RenderScripts\Mpdn.Lut3D.cs(71,21): error CS0246: The type or namespace name 'ITexture3D' could not be found (are you missing a using directive or an assembly reference?)
(CSScriptLibrary)
------------------------------
BUTTONS:
&Abort
------------------------------
This is with a completely clean folder. I even extracted them to a different location, as seen in the text above, and it still showed that message. The latest extensions work fine in the latest release 3085 build.
Damn, and I wanted to try out that new 'Improve Chroma Reconstruction' render option :).
Magik Mark
19th May 2015, 06:20
I'm having problem with bit streaming. No audio for movies. Ok if TV.
No Problem if bitstreaming is off for both formats.
Does it have something to do if its DD or DTS?
No problem at all under MPC BE. Both Bitstreaming & pcm ok
I think I found the culprit. When playing bitstreaming, make sure audio is set to "Default Direct Sound Device"
Is wasapi available?
Zachs
19th May 2015, 06:22
I just tried the latest 3089 test build (MediaPlayerDotNet_x64_2_26_0_3089.zip), it doesn't work! To be more precise, it does work, but the extensions don't. If I just use the base MPDN 3089, it loads and works fine.
With the latest extension pack, I get the following:
This is with a completely clean folder. I even extracted them to a different location, as seen in the text above, and it still showed that message.
Build 3089 is a test build for Shiandow. Of course it doesn't work with the extensions on github!
EDIT: v2.26 is now officially released. GitHub scripts have also been updated. Please note that the files in the test build folder is meant for devs only and *usually* won't work with the GitHub scripts.
Zachs
19th May 2015, 06:23
I think I found the culprit. When playing bitstreaming, make sure audio is set to "Default Direct Sound Device"
Is wasapi available?
You can use mpc-hc's wasapi audio renderer. It'll work just fine with MPDN.
Zachs
19th May 2015, 07:59
Crashes are back (they never went away to begin with, using the latest version now).
This time, instead of just these 2 errors https://i.imgur.com/Odv9Wl8.png , I also got:
Hmm, mmc.exe is the Microsoft Management Console executable. If that crashes too, there's something that's rather seriously wrong with your machine...
Zachs
19th May 2015, 08:04
Hey guys, assuming I have a container with one audio and 2 video streams, how do I switch the video stream?
v2.26 now supports video track switching.
burfadel
19th May 2015, 09:44
Build 3089 is a test build for Shiandow. Of course it doesn't work with the extensions on github!
EDIT: v2.26 is now officially released. GitHub scripts have also been updated. Please note that the files in the test build folder is meant for devs only and *usually* won't work with the GitHub scripts.
Ah, that makes sense then! :)
Magik Mark
19th May 2015, 10:46
You can use mpc-hc's wasapi audio renderer. It'll work just fine with MPDN.
How do I get this? Do I have to download mph hc just to get this?
ryrynz
19th May 2015, 11:14
How do I get this? Do I have to download mph hc just to get this?
It's MPC-BE's wasapi renderer you want (MPC audio renderer)
Download teh standalone filter package you want (x86 or x64) here (https://sourceforge.net/projects/mpcbe/files/MPC-BE/Nightly%20Builds%20%28from%20svn%20trunk%29/MPC-BE%20v1.4.5%20%28build%20364%29%20beta/)
Register it with regsvr32 and you'll be able to use it within MPDN.
ryrynz
19th May 2015, 11:18
Hey Garteal, any chance you could merge your playlist changes to the main repo?
We haven't quite finished up there yet.. his development cycles come in dribs and drabs :)
I'd say we'd be done the next time he gets in some dev time.
Can you give us some info the the chroma reconstruction option? It reconstructs some interesting details on my HD4000 with a blu-ray rip :)
Other sources have no issues, seems like a fairly minor tweak, the differences in most cases wouldn't be noticeable but I'll take anything that's
subjectively "improving" quality. I'd be interested in knowing what's actually going on here.
Zachs
19th May 2015, 13:12
That option is not enabled by default because some sources aren't compatible with it (chroma has "invalid" values). With compatible sources, it should give you more details on your chroma. It's quite hard to see though as the human eyes aren't particularly sensitive to chroma. It doesn't cost too much GPU to enable but on weaker GPUs you'll see a difference of a couple of percent points.
Magik Mark
19th May 2015, 13:22
It's MPC-BE's wasapi renderer you want (MPC audio renderer)
Download teh standalone filter package you want (x86 or x64) here (https://sourceforge.net/projects/mpcbe/files/MPC-BE/Nightly%20Builds%20%28from%20svn%20trunk%29/MPC-BE%20v1.4.5%20%28build%20364%29%20beta/)
Register it with regsvr32 and you'll be able to use it within MPDN.
Thank you very much. Forgive my ignorance, can you please give me instructions on how to register it? I'm getting error
ryrynz
19th May 2015, 13:35
Thank you very much. Forgive my ignorance, can you please give me instructions on how to register it? I'm getting error
Sent you a PM.
That option is not enabled by default because some sources aren't compatible with it (chroma has "invalid" values). With compatible sources, it should give you more details on your chroma. It's quite hard to see though as the human eyes aren't particularly sensitive to chroma. It doesn't cost too much GPU to enable but on weaker GPUs you'll see a difference of a couple of percent points.
Yeah I checked the cost and TBH I'd think I'd enable it if it "worked" on all sources.
Zachs
19th May 2015, 13:38
Perhaps post the instructions on regsvr32 here as well? I'm sure other users would find it handy.
RGB48 is not supported and lavfilter send 8 bit RGB24/32 which is a huge problem for 10 bit output testing.
Y416 works fine
Zachs
19th May 2015, 14:12
Yeah RGB48 isn't supported because I haven't found a source with that format yet. You can use any of the 16bit YUV formats though which should do the job just as well.
burfadel
19th May 2015, 14:14
The semi random greyscale noise shader I mentioned in an earlier post that didn't work now works :). I like to have the strength around 1.0 in the file, it adds a very subtle yet nice fine random noise that helps to hide artifacts whilst at the same time bringing out fine details :).
Thanks for looking into that!
Yeah RGB48 isn't supported because I haven't found a source with that format yet. You can use any of the 16bit YUV formats though which should do the job just as well.
here have a source: http://www.bealecorner.org/red/test-patterns/Gradient-16bit.png
the real problem is lavfilter is outputting such a source as 8 bit to your renderer not as as 16 bit YCbCr. so i have to block RGB24/32
Hmm, mmc.exe is the Microsoft Management Console executable. If that crashes too, there's something that's rather seriously wrong with your machine...
It has only crashed once, out of roughly 10 times, when MPDN crashed. It's a fresh install, so I doubt it.
Zachs
19th May 2015, 14:24
The semi random greyscale noise shader I mentioned in an earlier post that didn't work now works :). I like to have the strength around 1.0 in the file, it adds a very subtle yet nice fine random noise that helps to hide artifacts whilst at the same time bringing out fine details :).
Thanks for looking into that!
Does it look very different to MPDN's random dithering with higher noise strength?
Zachs
19th May 2015, 14:26
here have a source: http://www.bealecorner.org/red/test-patterns/Gradient-16bit.png
the real problem is lavfilter is outputting such a source as 8 bit to your renderer not as as 16 bit YCbCr. so i have to block RGB24/32
I meant it's not worth spending time on implementing it for merely testing purposes when there are no actual video sources with that format. Not to mention that LAV should really be putting the 16bit format ahead of any 8bit ones in terms of precedence by default too.
Zachs
19th May 2015, 14:30
It has only crashed once, out of roughly 10 times, when MPDN crashed. It's a fresh install, so I doubt it.
Still, it should never crash, not even once. Fresh install doesn't rule out problems related to your hardware like system memory errors, which MPDN would be particularly sensitive to with it being written in .net.
burfadel
19th May 2015, 14:30
I forgot to add to my last post, there seems to be a bug with the 'Script chain' script.
If you add any items to the script chain, it works. However, if you close off the program and restart it, not matter what is in the script chain (even if it is one item), it comes up 'Object reference not set to an instance of an object'.
Now, the shaders work when you set them up, but when you close off MPDN and load it back up again, they don't work. Everything plays fine etc, just the shaders aren't applied and you get that message when you try to configure the shader chain.
I did delete the MediaPlayerDotNet folder from appdata and reset everything back up, it didn't work. Also, this error was BEFORE I tried the shader as mentioned in my previous post. So, currently if I close off the player I have to go to the appdata folder, delete the RenderScripts.64 folder from the MediaPlayerDotNet folder, and then reset the script chain up again before playing the files!
Shiandow
19th May 2015, 14:53
Found the problem with Script Chain. Some of the recent changes caused it to destroy its settings before saving them... Should be fixed now.
tobindac
19th May 2015, 15:42
You mean when you don't have the pre-requisites installed?
Are you being sarcastic? Because that's exactly what I said. People expect it to work.
The download section is extremely non-intuitive that it has prerequisites.
If you don't believe me put a 3rd party to review that for you.
PS. The main problem is LAV. Most people nowadays do not have it installed (mpc-hc has a very up to date version built in). At the same time this program does not even report it missing.
burfadel
19th May 2015, 15:42
Found the problem with Script Chain. Some of the recent changes caused it to destroy its settings before saving them... Should be fixed now.
Thanks! Works perfectly now :).
Anime Viewer
19th May 2015, 16:23
EDIT: v2.26 is now officially released.
I was hoping the new "use debug dialog for error messages" option might generate something with regards to screen freezing/MPDN not responding/having to sign out/restart windows when trying to use full screen exclusive mode with Direct3D 11, or Direct3D 10.1 as the presentation API with Optimus systems, but I'm guessing that only works with plugins and scripts.
http://forum.doom9.org/showthread.php?p=1705322#post1705322
I'm not sure how madVR's use of DX11 and exclusive mode differs from MPDN's use of DX11 and exclusive mode, but for some reason madVR/MPC-HC doesn't have the same problem(s) when "Direct3D 11 for presentation" and "full screen exclusive mode" are both used in it. Maybe there is a way around the problem other than waiting for a driver to fix the problem (which will probably never come). Don't know if madshi would be willing to explain how madVR's uses DX11 (perhaps in a more limited way than MPDN), or if he encountered bugs/freezing with madVR+Dx11+FSE during his testing that he found a work around for...
On another note checking the "Improve Chroma Reconstruction" box doesn't appear to have taxed my system any further. The ms render times appear to have remained the same, or at most increased by maybe 1ms. I suspect the "may not be compatible with all sources" may be why I don't see a difference. What type of sources/videos/files does it tend to take effect on?
Shiandow
19th May 2015, 16:41
On another note checking the "Improve Chroma Reconstruction" box doesn't appear to have taxed my system any further. The ms render times appear to have remained the same, or at most increased by maybe 1ms. I suspect the "may not be compatible with all sources" may be why I don't see a difference. What type of sources/videos/files does it tend to take effect on?
It takes effect on all sources, but it can give weird results in some cases.
The problem it tries to fix is that limiting RGB to values between 0 and 1 can change the corresponding YUV values. The default method just picks the closest possible RGB value, but the "improved" method tries to keep the luma values correct. This seems like it should be better in most cases, but some sources seem to contain errors that can cause this to look worse.
I'm not yet sure if these errors are intentional or if they are simply not detected because the method most renderers use tends to hide them.
Magik Mark
19th May 2015, 21:16
I'm getting this error when trying to configure script chain:
"Object reference not set to an instance of an object"
Any thoughts?
Shiandow
19th May 2015, 22:27
Could you try updating the renderscripts and deleting the Script Chain config file? There was a bug in the previous renderscripts that deleted the settings before saving them, this made the settings invalid.
Zachs
19th May 2015, 23:49
Are you being sarcastic? Because that's exactly what I said. People expect it to work.
The download section is extremely non-intuitive that it has prerequisites.
If you don't believe me put a 3rd party to review that for you.
PS. The main problem is LAV. Most people nowadays do not have it installed (mpc-hc has a very up to date version built in). At the same time this program does not even report it missing.
No, but I'm sorry if it sounded like it was a sarcasm. I was just trying to be sure it's not a bug or something else that you needed to fix before it would run. You didn't mention anything about prerequisites in your post.
I'm aware of that issue but it's a project that we do on our free time and at the moment it's really missing an installer. At the end of the day there's only so much time we could spend on it. Belphemur was going to do an installer for MPDN but he's got other things he's working on as well.
Magik Mark
20th May 2015, 00:05
Could you try updating the renderscripts and deleting the Script Chain config file? There was a bug in the previous renderscripts that deleted the settings before saving them, this made the settings invalid.
How do I do that?
Anime Viewer
20th May 2015, 00:21
How do I do that?
Delete and recopy the extensions folder from where you have MPDN installed to make sure your renderscripts are up-to-date.
Change the driver letter and "yourname" in the example below to match where your profile.
C:\Users\YourName\AppData\Local\MediaPlayerDotNet\
Delete the Mpdn.ScriptChain file in that directory.
Magik Mark
20th May 2015, 00:43
Delete and recopy the extensions folder from where you have MPDN installed to make sure your renderscripts are up-to-date.
Change the driver letter and "yourname" in the example below to match where your profile.
C:\Users\YourName\AppData\Local\MediaPlayerDotNet\
Delete the Mpdn.ScriptChain file in that directory.
Thank you that did it!
Zachs
20th May 2015, 02:56
@animeviewer I'll try to create a debug version of some sort so you could find out what was causing the hang. Maybe I could build the feature in there such that it detects lockups even in release builds. I'll see what I can do.
tobindac
20th May 2015, 14:26
No, but I'm sorry if it sounded like it was a sarcasm. I was just trying to be sure it's not a bug or something else that you needed to fix before it would run. You didn't mention anything about prerequisites in your post.
I'm aware of that issue but it's a project that we do on our free time and at the moment it's really missing an installer. At the end of the day there's only so much time we could spend on it. Belphemur was going to do an installer for MPDN but he's got other things he's working on as well.
Oh sorry then if I were too "premptive". I'd probably just do a small check before rendering and report "LAV not found", that should give a hint to anyone even barely familiar with video players.
If it's hard to detect LAV's presence, fine. I do not know much about coding for video players.
ryrynz
20th May 2015, 14:48
I'd probably just do a small check before rendering and report "LAV not found", that should give a hint to anyone even barely familiar with video players.
If it's hard to detect LAV's presence, fine. I do not know much about coding for video players.
This has been brought up a couple of times, It has caught me out on one occasion but figured it out quickly enough, and there is always "read the OP"
Zachs
20th May 2015, 15:09
Oh sorry then if I were too "premptive". I'd probably just do a small check before rendering and report "LAV not found", that should give a hint to anyone even barely familiar with video players.
If it's hard to detect LAV's presence, fine. I do not know much about coding for video players.
Doesn't it show the error that goes like this?
Load source failed
Hint:
Make sure LAV filters are installed
Belphemur
20th May 2015, 16:13
As Zach said, I decide to take on creating an installer for MPDN that bundles LAV, XySubFilter, the github extensions and of course the player.
I made a first version that is in BETA, only tested on X64 (but should work on x86). : http://mpdn.zachsaw.com/Installer/MediaPlayerDotNet_Installer.exe
It contains the last version of MPDN (v2.26.0) and the version of today Player Extensions.
The installer detect automatically what is your architecture and if you chose to install XySubFilter, it will also register the right version for the player.
The Installer of LAV Filter is embedded into it, if you choose to install it, it will launch LAV Filter installer.
I still have to do more testing when upgrading from one version to the other, especially with the Extensions.
Any feedback is welcome.
pirlouy
20th May 2015, 19:57
I continued my comparison (http://forum.doom9.org/showthread.php?p=1721840#post1721840) with madVR (+MPC-HC).
I don't know if you like this kind of post, and if it upsets you, tell me, but I though it would be interesting to compare this player with a known alternative.
With my ATI 5770, I told you CPU was higher with MPDN.
With the same config, except using integrated Intel GPU (HD 2000) instead of ATI card (unplugged), MPDN still uses a bit more CPU, but is is less pronounced, and it uses less GPU.
That lets me think GPU cards have an incidence on differences of performance between madVR and MPDN. I remember my ATI 5770 is known to have bad performances in some area (Madshi had released a little tool to measure differences between cards). It looks like you don't use the same way to "speak" to system to have the final image.
I also tried on another system, and with a NVidia GT 430, MPDN had slightly better results (CPU & GPU).
For the startup, I don't know if you can do something or it's just DotNet stuff, but MPDN takes several seconds (depending on system but still second is the right unit) more to start the video than MPH-HC.
Another thing I've noticed is MPDN statistics OSD cost CPU whereas madVR OSD uses 0 resources.
And an anomaly to finish this boring post: dropped frames are not reported on FullScreen Exclusive (I use D3D9).
Hope you won't take it the wrong way and it was just a try to help you improve this player.
ryrynz
21st May 2015, 01:15
Another thing I've noticed is MPDN statistics OSD cost CPU whereas madVR OSD uses 0 resources.
Could be in part related to the fact that MPDN's OSD updates at least five times faster than madVR's.
Magik Mark
21st May 2015, 03:33
Hey Zach,
Do you mind sharing the ff:
1. The hierarchy of your render scripts. Which comes first, middle & last as well as their respective settings
2. Your chroma & Luma scaler & down scaler preferences
It would be awesome to see how experts like you are setted up
Thanks a lot
Anime Viewer
21st May 2015, 04:09
With my ATI 5770, I told you CPU was higher with MPDN.
With the same config, except using integrated Intel GPU (HD 2000) instead of ATI card (unplugged), MPDN still uses a bit more CPU, but is is less pronounced, and it uses less GPU.
That lets me think GPU cards have an incidence on differences of performance between madVR and MPDN.
I also tried on another system, and with a NVidia GT 430, MPDN had slightly better results (CPU & GPU).
Unless its using up CPU/GPU to the point of causing resource problems on your system (where you can't do other tasks or watch video on your system successfully) I don't see why that is a problem. If the GPU and CPU aren't being used that could mean that their workload may be getting dumped off to slower parts of the system for handling (like system memory - which can be slower than video memory, or the disk drive - which can be slower than memory - SSD can be excluded from this occasionally).
For the startup, I don't know if you can do something or it's just DotNet stuff, but MPDN takes several seconds (depending on system but still second is the right unit) more to start the video than MPH-HC.
Are you talking about when it says: "optimizing extensions", or are you talking about something else? You could always turn off extensions (and delete that directory to speed things up), but then you'd loose out on features.
Another thing I've noticed is MPDN statistics OSD cost CPU whereas madVR OSD uses 0 resources.
Do you plan on watching entire videos on a regular basis with with OSD on the entire time? I doubt it, so what does it matter if OSD uses a few resources when you aren't going to have that active normally?
And an anomaly to finish this boring post: dropped frames are not reported on FullScreen Exclusive (I use D3D9).
Are you saying your system is dropping frames (where you notice on screen problems)? If not what is the problem? If its not dropping frames that is a good thing.
Not all settings can be configured identical for both, so they can't be compared apples to apples.
I think you're getting too wrapped up in insignificant things. The most important things is: Which is giving you better image quality? Which has the features you want to use?
As they both stand I feel MPDN is currently providing the superior video picture on my system, and is why that is my default video program.
Zachs
21st May 2015, 08:01
Hey Zach,
Do you mind sharing the ff:
1. The hierarchy of your render scripts. Which comes first, middle & last as well as their respective settings
2. Your chroma & Luma scaler & down scaler preferences
It would be awesome to see how experts like you are setted up
Thanks a lot
I'm probably not the best to ask since I'm still running an older version of MPDN on my HTPC (hence an older version of scripts too) - been spending way too much time developing MPDN it's getting in the way of my enjoyment of my own creation!
I'll say this though, it's really up to you and the contents you view, as well as how much your GPU can take (or GPU fan noise you are willing to put up with).
I was hoping the new "use debug dialog for error messages" option might generate something with regards to screen freezing/MPDN not responding/having to sign out/restart windows when trying to use full screen exclusive mode with Direct3D 11, or Direct3D 10.1 as the presentation API with Optimus systems, but I'm guessing that only works with plugins and scripts.
I've just released 2.26.1, specifically targeting this problem (app hang). It *should* detect the situation where MPDN becomes unresponsive and causes a crash on purpose (after several seconds). You'll get a crash dump file in %localappdata%\MediaPlayerDotNet.exe.dump.
p.s. Thanks for helping out in the forum!
Zachs
21st May 2015, 08:22
Ah found a bug with the latest version. It'll crash when it exits. I'll fix it in the next release.
EDIT: Fixed. v2.26.2.
Magik Mark
21st May 2015, 09:24
Which hardware decoder works best? cuvid or dxva2?
Magik Mark
21st May 2015, 09:32
Is it possible to have 16bit in windows mode? I'm only getting 16bit in FSE
nevcairiel
21st May 2015, 09:33
Is it possible to have 16bit in windows mode? I'm only getting 16bit in FSE
No, anything above 8-bit requires FSE.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.