View Full Version : Media Player .NET (MPDN) - D3D HQ GPU Video Renderer [v2.49.0/v1.31.0 27 Dec 2018]
Zachs
19th January 2015, 22:18
Actually it should stick to the desktop edge, but only when you release the mouse button.
ryrynz
19th January 2015, 22:38
Actually it should stick to the desktop edge, but only when you release the mouse button.
It's a lot easier to do this with the top part of the window than either the bottom or sides..
The top actually repositions itself to stick. I can't seem get that happening with the bottom or sides.
XRyche
20th January 2015, 01:24
In the most recent release I can't add .vob files to a playlist. The individual files play fine on there own but don't appear in the playlist box even when you add them to it.
mrcorbo
20th January 2015, 01:54
In the most recent release I can't add .vob files to a playlist. The individual files play fine on there own but don't appear in the playlist box even when you add them to it.
Open up the file PlaylistForm.cs in the PlayerExtensions folder in a text editor and do a find on "List<string> validfiles = new List<string>()" in the text. When you find this line there will be a list of file extensions at the end of it. You can add .vob (and any other file extension you wish) to this list and save the file. That will fix it.
XRyche
20th January 2015, 02:47
Open up the file PlaylistForm.cs in the PlayerExtensions folder in a text editor and do a find on "List<string> validfiles = new List<string>()" in the text. When you find this line there will be a list of file extensions at the end of it. You can add .vob (and any other file extension you wish) to this list and save the file. That will fix it.
Ah, thank you very much mrcorbo. On another note, I have another issue with the same dvd. There are 2 separate subtitle tracks. The issue is when I try to change subtitle tracks I can only choose the first track or "no subtitles". I can't chose the second subtitle track. This is using the latest build of Xysubfilter and it happens whether I'm using keyboard shortcuts or changing them manually using the subtitle menu. I have played the same dvd using MPC-HC+madVR+Xysubfilter(same build) without this issue.
Zachs
20th January 2015, 03:49
Does MPDN show two subtitle tracks on the list?
XRyche
20th January 2015, 04:43
Does MPDN show two subtitle tracks on the list?
Yes, it does. It shows 2 separate entries that say "vobsub" and then a 3rd entry that says "no subtitle", in that order.
DeadlyEmbrace
20th January 2015, 06:37
Zachs, I have encountered two error in the Extension framework.
1 - When using m_PlayerControl.ShowOsdText() the timeout doesn't seem to work so the text simply stays on the UI until I call m_PlayerControl.HideOsdText()
2 - When using m_PlayerControl.StopMedia() followed by m_PlayerControl.PlayMedia(false) it seems to get stuck at the current location with a white screen.
You can easily confirm the second one by using the remote. For the first one simply disable the hideTimer in the remote, connect and the next time it displays it should be stuck.
Zachs
20th January 2015, 07:48
Well try to fix them as soon as I can!
DeadlyEmbrace
20th January 2015, 17:37
No worries.
In the meantime I have create a release of the Remote as the three main issues are now solved. It can be found here:https://github.com/DeadlyEmbrace/MPDN_RemoteControl/releases/download/v1.0.0/MPDN_RemoteControl_v1.0.0.zip or downloaded from the GitHub release section here:https://github.com/DeadlyEmbrace/MPDN_RemoteControl/releases
Before the new remote can be used the update for the extensions will need to be pulled into the main branch (I have already created the pull request)
Zachs
20th January 2015, 22:58
No worries.
In the meantime I have create a release of the Remote as the three main issues are now solved. It can be found here:https://github.com/DeadlyEmbrace/MPDN_RemoteControl/releases/download/v1.0.0/MPDN_RemoteControl_v1.0.0.zip or downloaded from the GitHub release section here:https://github.com/DeadlyEmbrace/MPDN_RemoteControl/releases
Before the new remote can be used the update for the extensions will need to be pulled into the main branch (I have already created the pull request)
Good stuff mate!
OP links updated.
Zachs
20th January 2015, 23:12
Yes, it does. It shows 2 separate entries that say "vobsub" and then a 3rd entry that says "no subtitle", in that order.
Does MPC-HC show the same entries? I suspect I know what the problem is but just need to be sure...
Zachs
20th January 2015, 23:24
Not as far as I know (if any of the apps I have running affect snapping, it isn't an advertised feature of them and certainly not why I am running them). What I will have to do is to run the same test with all the background apps on my system shutdown (well, as many of them as is possible anyway) and see if I get the same result.
Just to be sure, you did enable the "Snap to screen edges" option, didn't you?
Zachs
20th January 2015, 23:45
Zachs, I have encountered two error in the Extension framework.
1 - When using m_PlayerControl.ShowOsdText() the timeout doesn't seem to work so the text simply stays on the UI until I call m_PlayerControl.HideOsdText()
2 - When using m_PlayerControl.StopMedia() followed by m_PlayerControl.PlayMedia(false) it seems to get stuck at the current location with a white screen.
You can easily confirm the second one by using the remote. For the first one simply disable the hideTimer in the remote, connect and the next time it displays it should be stuck.
#2 Replicated and fixed in next release.
#1 There's no ShowOsdText in the current remote you checked in? However, I suspect it's because you're calling it from a foreign thread. I tried the following using the HelloWorld.cs example and it worked fine:
private void HelloWorldClick()
{
m_PlayerControl.ShowOsdText("Hello world", 2000);
}
Ensuring thread-safety is quite easy - just call it via BeginInvoke.
m_PlayerControl.VideoPanel.BeginInvoke(
(MethodInvoker) (() => m_PlayerControl.ShowOsdText("Hello world", 2000)));
I should've written some documentation but anyhow, here goes :)
All methods in m_PlayerControl's should only be called from the GUI thread, as they are not thread-safe. It should be treated similarly to how .NET UI controls are accessed.
Cheers.
XRyche
21st January 2015, 00:48
Does MPC-HC show the same entries? I suspect I know what the problem is but just need to be sure...
On MPC-HC it says "enable DVD subtitles" then has a separator, than has 2 separate entries that say "english". The 1st "english" entry is for signage only and the 2nd entry is for signage and dialogue. It has no "no subtitle" entry.
romulous
21st January 2015, 02:01
Just to be sure, you did enable the "Snap to screen edges" option, didn't you?
Oops, no - I thought it was meant to be default enabled. Anyway, just enabled it, but it makes no difference at all.
Zachs
21st January 2015, 02:24
Oops, no - I thought it was meant to be default enabled. Anyway, just enabled it, but it makes no difference at all.
Make sure you release the window within 25 pixels of your screen edges. If you keep holding it, it will *not* snap. It does so only when you release the mouse button.
mrcorbo
21st January 2015, 02:33
I found a file that instantly crashes MPDN on my system. In looking at the file properties, the only odd thing I noticed was that the file was encoded at 1920X1088 resolution. So, I re-encoded a small video clip to 1920 X 1088 and tried to play that and, sure enough, that crashed MPDN too.
The error message is An unhandled exception of type 'System.AccessViolationException' occurred in Mpdn.D3D9VideoRenderer
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
The address listed on the disassembly is - Mpdn.D3D9VideoRenderer.VideoRenderer.UpdateFrameBuffer(System.IntPtr)
The crash happens with all 3 Presentation APIs.
Zachs
21st January 2015, 02:45
I found a file that instantly crashes MPDN on my system. In looking at the file properties, the only odd thing I noticed was that the file was encoded at 1920X1088 resolution. So, I re-encoded a small video clip to 1920 X 1088 and tried to play that and, sure enough, that crashed MPDN too.
The error message is An unhandled exception of type 'System.AccessViolationException' occurred in Mpdn.D3D9VideoRenderer
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
The address listed on the disassembly is - Mpdn.D3D9VideoRenderer.VideoRenderer.UpdateFrameBuffer(System.IntPtr)
The crash happens with all 3 Presentation APIs.
Can you upload the file sample somewhere so I could quickly fix the problem?
EDIT: Nevermind, replicated the issue.
EDIT2: Fixed in next release. For some reason, LAV Video Decoder changes the resolution to 1920x1080 even when the source is clearly 1920x1088... Why? Something to do with height being divisible by 16... but again why the need to enforce that?
romulous
21st January 2015, 02:57
Make sure you release the window within 25 pixels of your screen edges. If you keep holding it, it will *not* snap. It does so only when you release the mouse button.
Ok, got it - it's just a really really weird implementation of snapping.
romulous
Zachs
21st January 2015, 04:30
On MPC-HC it says "enable DVD subtitles" then has a separator, than has 2 separate entries that say "english". The 1st "english" entry is for signage only and the 2nd entry is for signage and dialogue. It has no "no subtitle" entry.
Ah both have the same text. I fixed an issue in regards to the subtitle tracks having the same text in the next release, hopefully that's the same bug that you're seeing.
Zachs
21st January 2015, 06:46
Zachs, I have encountered two error in the Extension framework.
1 - When using m_PlayerControl.ShowOsdText() the timeout doesn't seem to work so the text simply stays on the UI until I call m_PlayerControl.HideOsdText()
2 - When using m_PlayerControl.StopMedia() followed by m_PlayerControl.PlayMedia(false) it seems to get stuck at the current location with a white screen.
You can easily confirm the second one by using the remote. For the first one simply disable the hideTimer in the remote, connect and the next time it displays it should be stuck.
#2 has been fixed in v2.18.5.
Just wondering if you'd be so kind as to make us an Android remote client? :P
DeadlyEmbrace
21st January 2015, 06:51
#2 has been fixed in v2.18.5.
Just wondering if you'd be so kind as to make us an Android remote client? :P
I am thinking of getting around to that at some point or another, probably once all of the main remote functions have been added to the extension. :)
It seems you simply closed my pull request without merging it, is there something I need to change?
Zachs
21st January 2015, 07:07
I am thinking of getting around to that at some point or another, probably once all of the main remote functions have been added to the extension. :)
It seems you simply closed my pull request without merging it, is there something I need to change?
Uh did I? Hmm can you do another one? I might have inadvertently done that. Sorry!
DeadlyEmbrace
21st January 2015, 07:19
No worries, I'll submit a new request in a bit.
madshi
21st January 2015, 10:02
For some reason, LAV Video Decoder changes the resolution to 1920x1080 even when the source is clearly 1920x1088... Why? Something to do with height being divisible by 16... but again why the need to enforce that?
The encoders can't encode 1080, they can just do 1088. They can use "cropping" in the bitstream to get to 1080, and they usually do that, but sometimes the cropping bitstream element is missing.
All displays out there are 1920x1080, and the remaining 8 lines in a 1920x1088 video bitstream are usually "garbage". Because of that it makes a lot of sense to forcefully cut 1920x1088 down to 1920x1080. Otherwise those 8 garbage lines would be visible, and furthermore they would also result in scaling becoming active when rendering on 1920x1080 display which really doesn't make any sense.
romulous
21st January 2015, 10:42
Thanks, the new snapping in .5 is much better - it works as expected now.
Zachs
21st January 2015, 11:57
SVP + MPDN, relying on frame rate decimation feature by Blackfyre (http://www.zachsaw.com/downloads/MediaPlayerDotNet/svp_article.pdf)
* Post will be updated as more users contribute articles about MPDN
Zachs
21st January 2015, 12:14
No worries, I'll submit a new request in a bit.
Done. Oh BTW can you do a quick merge from my branch? Basically it's a simple change to make it use .net 4.0 methods only. Hopefully that will make it possible to auto merge.
DeadlyEmbrace
21st January 2015, 17:58
Done. Oh BTW can you do a quick merge from my branch? Basically it's a simple change to make it use .net 4.0 methods only. Hopefully that will make it possible to auto merge.
Done. Sorry for not replying earlier, access to Doom9 is blocked on my work PC when I'm on the VPN.
Thanks for fixing the Stop/Play issue, it now works perfectly. (Just checked it out)
I have found a strange issue when using fullscreen on my primary monitor (I have 3 panels)
When I go fullscreen on the main panel the two side panels flash black as the switch occurs. If I then click in one of the side panels it flashes black again and then goes on like normal. This happens every time I click inside the player and then outside or vice versa. The issue doesn't occur when I make it fullscreen on one of the secondary displays.
XRyche
21st January 2015, 21:20
Ah both have the same text. I fixed an issue in regards to the subtitle tracks having the same text in the next release, hopefully that's the same bug that you're seeing.
Didn't work. DVD vobsubs still only let me choose the 1st or last entry. I checked out if .ass did the same thing. They do not. .ass seems to work as expected.
Zachs
21st January 2015, 23:04
Done. Sorry for not replying earlier, access to Doom9 is blocked on my work PC when I'm on the VPN.
Thanks for fixing the Stop/Play issue, it now works perfectly. (Just checked it out)
I have found a strange issue when using fullscreen on my primary monitor (I have 3 panels)
When I go fullscreen on the main panel the two side panels flash black as the switch occurs. If I then click in one of the side panels it flashes black again and then goes on like normal. This happens every time I click inside the player and then outside or vice versa. The issue doesn't occur when I make it fullscreen on one of the secondary displays.
This is fullscreen exclusive mode we're talking about isn't it? Exclusive mode seems to be very dependent on the GPU drivers and it behaves very differently from Dx9 to 11. On my Windows 7 setup, Dx10 causes all the screens to go black except the one playing the video, while Dx11 works like 9 where all screens continue to work just fine. I'm afraid there's not much I could do about that.
Didn't work. DVD vobsubs still only let me choose the 1st or last entry. I checked out if .ass did the same thing. They do not. .ass seems to work as expected.
It's going to be quite hard to figure out what is going on without having the actual samples to test... It's been a long time since I even had a DVD at home, so I'm not sure how to make a sample out of it but perhaps someone could help...
ryrynz
22nd January 2015, 04:17
v2.18.6 Changelog:
Implemented seamless subtitle track changes (when the decoder queue is long enough to cover for the delay)
Mother of god, it works. No drop in audio on subtitle selection..
Zachs
22nd January 2015, 04:21
Didn't work. DVD vobsubs still only let me choose the 1st or last entry. I checked out if .ass did the same thing. They do not. .ass seems to work as expected.
Should be fixed now.
Mother of god, it works. No drop in audio on subtitle selection..
:D
And if your decoder queue is long enough or your machine fast enough, you won't even get so much as a stutter in video.
Zachs
22nd January 2015, 04:28
The encoders can't encode 1080, they can just do 1088. They can use "cropping" in the bitstream to get to 1080, and they usually do that, but sometimes the cropping bitstream element is missing.
All displays out there are 1920x1080, and the remaining 8 lines in a 1920x1088 video bitstream are usually "garbage". Because of that it makes a lot of sense to forcefully cut 1920x1088 down to 1920x1080. Otherwise those 8 garbage lines would be visible, and furthermore they would also result in scaling becoming active when rendering on 1920x1080 display which really doesn't make any sense.
Doesn't make much sense then to say the bitstream is 1920x1088 to begin with and then decide later that it should be 1920x1080. Anyway I tested with a PNG file - and those 8 lines you spoke about aren't garbage for sure!
ryrynz
22nd January 2015, 04:30
And if your decoder queue is long enough or your machine fast enough, you won't even get so much as a stutter in video.
For my queue is long and my machine is fast, I shall see no delay. :devil:
Zachs
22nd January 2015, 04:36
For my queue is long and my machine is fast, I shall see no delay. :devil:
As long as you don't exhaust your decoder queue (e.g. changing subtitle tracks over and over).
EDIT: Ah found it to skip one frame when the crossover happens. Fixed in next release...
EDIT2: Found a bug where it would lock up if subtitle changes occur too fast. (Fixed)
XRyche
22nd January 2015, 05:30
DVD vobsubs appear to be being selected correctly now as well as the GUI show the selection correctly as well. Still have the problem of the subtitles not displaying at seemingly random times. This behavior is apparent in what we discussed earlier. Thanks for fixing the GUI issue.
Zachs
22nd January 2015, 05:32
DVD vobsubs appear to be being selected correctly now as well as the GUI show the selection correctly as well. Still have the problem of the subtitles not displaying at seemingly random times. This behavior is apparent in what we discussed earlier. Thanks for fixing the GUI issue.
Do you get similar behaviour with DirectVobSub vs XySubFilter?
When you say random times, do you mean going back to the same playback position the subs will appear at times but not others?
XRyche
22nd January 2015, 05:53
I just have XySubfilter installed on my system as of right now. I'll install DirectVobSub and let you know. What I mean by "seemingly random" is that sometimes the dialogue subs don't appear sometimes the signage subs don't appear. I'll try going back and forth to specific positions and see if that has any bearing on whether they appear or not.
XRyche
22nd January 2015, 06:21
The behavior is the same for both subtitle renderers as well as going back the same time/position as the subtitle not appearing. The subtitle dosen't appear in the same time/position every time.
Zachs
22nd January 2015, 06:27
The behavior is the same for both subtitle renderers as well as going back the same time/position as the subtitle not appearing. The subtitle dosen't appear in the same time/position every time.
If the behaviour is the same with both subtitle renderers, there's not much I could do about that, seeing that DirectVobSub gives me the frame as an image - MPDN simply presents it to the screen.
Does it behave differently with MPC-HC?
XRyche
22nd January 2015, 06:32
It hasn't that i can recall, but I will double check again to make sure.
Anima123
22nd January 2015, 06:33
Cannot download the 64-bit version of v2.18.8 correctly. Would you guys please double-check it?
XRyche
22nd January 2015, 06:37
I am very very sorry. It does appear to exhibit the exact same behavior in MPC-HC. I'm now 90% sure it displayed the vobsubs correctly the last time I watched this particular DVD, which in all honesty was probably well over a year ago. Sorry about making you run circles.
Zachs
22nd January 2015, 06:49
Hey guys, don't download v2.18.8 yet!
I'm fixing the broken build right now -- will re-upload in a minute!
EDIT: Fixed. Those of you who've downloaded v2.18.8 before, you'll need to download again.
These are the md5 sums in case your browser still keeps a cache of the broken build.
x64 md5: 494eb6452eb198c873f4403d57eef304
x86 md5: 40a64f7f7176fbade19e695b9ceb1651
AnyCPU md5: 3c7e8175fac88e146c19cf2a57013058
Anime Viewer
22nd January 2015, 07:56
Hey guys, don't download v2.18.8 yet!
I'm fixing the broken build right now -- will re-upload in a minute!
EDIT: Fixed. Those of you who've downloaded v2.18.8 before, you'll need to download again.
These are the md5 sums in case your browser still keeps a cache of the broken build.
x64 md5: 494eb6452eb198c873f4403d57eef304
x86 md5: 40a64f7f7176fbade19e695b9ceb1651
AnyCPU md5: 3c7e8175fac88e146c19cf2a57013058
Woops too late, I'd already downloaded it. Are Optimus users still reporting the ms increasing problem when watching long videos? I just tested the same video that I had the issue with before, and didn't encounter it this time (through 30 minutes of the video it had remained at 12ms). I don't know if that should be attributed to recent updates to the MPDN program, having it use "Graphics Adapter ID*" 1, or maybe the fluke of running a broken cache version. (Previously I'd always left it to use Graphics Adapter ID* on 0, but I think 0 might be the Intel, and 1 might be the Nvidia. I could probably confirm it by running GPU-Z at the same time).
I'll test out the new build, and see if it has any problems in order to rule out/in the broken cache as having an effect.
edit: The new build worked fine, so the broken cache doesn't seem to have been a factor.
madshi
22nd January 2015, 08:33
Doesn't make much sense then to say the bitstream is 1920x1088 to begin with and then decide later that it should be 1920x1080. Anyway I tested with a PNG file - and those 8 lines you spoke about aren't garbage for sure!
Well, you could ask nevcairiel to not report 1088 to start with, that might make sense if he always cuts the resolution down to 1080 later, anyway.
Do you really want a PNG image with 1920x1088 to be displayed as 1920x1088 in MPDN? This would result in scaling becoming active for every user on the planet earth, when most users have 1920x1080 displays and as a result wouldn't need scaling with a 1920x1080 image. Of course it's a good argument to say that a PNG should not be touched. But then, where does a 1920x1088 PNG image likely come from? It's probably a screenshot from a movie, and as such it's likely to be 1920x1080. But even if it is true 1088 lines, isn't it still better to show it unscaled then to activate X+Y scaling just for 8 lines?
Zachs
22nd January 2015, 08:40
If it came from a movie screen shot wouldn't it be 1920x1080 to begin with since like you said 8 lines are garbage and trimmed?
Also the question was why pull the rug from under the player when it knew 1920x1088 was always going to be 1920x1080 in the first place, since by your argument it always is even for PNG?
Anima123
22nd January 2015, 08:53
Thanks for the new version. Using the arrow key to adjust volume seems not working anymore when playing a video in FSE.
madshi
22nd January 2015, 09:02
If it came from a movie screen shot wouldn't it be 1920x1080 to begin with since like you said 8 lines are garbage and trimmed?
Also the question was why pull the rug from under the player when it knew 1920x1088 was always going to be 1920x1080 in the first place, since by your argument it always is even for PNG?
Some decoders & players don't force 1088 down to 1080, so the screenshot could have come from such a player/decoder.
DirectShow allows resolution changes like that. It can happen in the middle of a stream, too. Of course it would be nicer if it didn't happen. Sometimes the container reports one resolution and the video bitstream decodes to a different resolution. Sometimes aspect ratio handling can result in two different resolutions, depending on whether you round up or down etc. Sometimes [...]. Of course in an ideal world the resolution would be known right at the start and never change again. Anyway. Just trying to explain some of the possible reasons for such resolution changes. I'm not in a position to change any of that, anyway, so I guess I should stop arguing at this point. You asked why, I tried to explain. If you're not happy with the way things are, you can always contact nevcairiel about it. He's the one who can change things.
Anima123
22nd January 2015, 09:04
Are Optimus users still reporting the ms increasing problem when watching long videos?
Unfortunately the problem still there with the latest version. You will need to use SuperRes with NEDI enabled to trigger it though.
Zachs
22nd January 2015, 09:12
Some decoders & players don't force 1088 down to 1080, so the screenshot could have come from such a player/decoder.
DirectShow allows resolution changes like that. It can happen in the middle of a stream, too. Of course it would be nicer if it didn't happen. Sometimes the container reports one resolution and the video bitstream decodes to a different resolution. Sometimes aspect ratio handling can result in two different resolutions, depending on whether you round up or down etc. Sometimes [...]. Of course in an ideal world the resolution would be known right at the start and never change again. Anyway. Just trying to explain some of the possible reasons for such resolution changes. I'm not in a position to change any of that, anyway, so I guess I should stop arguing at this point. You asked why, I tried to explain. If you're not happy with the way things are, you can always contact nevcairiel about it. He's the one who can change things.
Just trying to make some sense out of why it was even reporting 1088 to the player when it knew what the actual size was in the first place and had no intention of supplying the stream in 1088 either.
Edit: appreciate your explanation, but the above still doesn't quite get explained... Anyway, it's fixed so not too bothered by it. Just curious what the rationale might be behind such an implementation.
Zachs
22nd January 2015, 09:13
Unfortunately the problem still there with the latest version. You will need to use SuperRes with NEDI enabled to trigger it though.
Nekromantik tried it on his Optimus system and reported no such issues a couple of pages back.
Zachs
22nd January 2015, 09:16
Thanks for the new version. Using the arrow key to adjust volume seems not working anymore when playing a video in FSE.
Will have a look later.
EDIT: Fixed in next release - apparently all shortcut keys with Shift+Right/Left were not processed in fullscreen mode.
nevcairiel
22nd January 2015, 09:20
Also the question was why pull the rug from under the player when it knew 1920x1088 was always going to be 1920x1080 in the first place, since by your argument it always is even for PNG?
Consider it a test if resolution changes work in the renderer. It did find a bug, didn't it? :p
As madshi already mentioned, actual 1920x1088 content which is intentionally this resolution is practically non-existent, and the only content i've ever seen to use this resolution is 1080p content with missing cropping information.
That it doesn't also change this in the initial media type immediately is mostly an oversight, but a change in resolution doesn't hurt anyone, it can happen with every video for various reasons, so I'm not worried.
Anima123
22nd January 2015, 09:26
Nekromantik tried it on his Optimus system and reported no such issues a couple of pages back.
Nekromantik, could you please share with us how you do the rendering time increasing test, including player configurations, hardware, driver version and the info of the video you're doing testing?
I have tested this on two of my laptops with Optimus, both had exactly the same problem. It should not be a false alarm.
Besides, can anyone with Optimus system confirm this problem? Or better, prove me wrong with your whole configurations so I can solve the problem by just use the proper driver version and maybe the proper configurations?
snowpiercer
22nd January 2015, 16:37
Hello Zachs, hello everyone else, this is my first post here at the forums. I'm actually following these forums and MPDN for quite some time but never got around to actually post something. I'm quite excited to finally say hello and make a first post here!
First of all, i love the MPDN player. I'm a long time fan of the MPC-HC + madVR combi and this is usually my default player, but when the FluidMotion feature was introduced it convinced me to give MPDN a try and so far it's looking really good and promising.
However, the reason i post here for the first time is that i did encounter some bugs and errors:
First, in DX9 and DX10 (and probably DX11 too) when i play audio only (f.e. .flac) in the player and switch to fullscreen, the following error msg pops up: "HRESULT: 0x8876086C, Module SHARPDX.Direct3d9, APICODE D3DERR_invalidcall, message: unknown".
The next bug happens in DX11, after exiting fse (switching back to windowed mode) i got a similar msg, this time: HRESULT 0x887A0005 Module SHARPDX.DXGI. DXGI_ERROR_DEVICE_REMOVED. Afterthis, the MPDN shows only two red lines and won't exit anymore, instead when trying to exit showing "Back buffer has not been created". The audio weirdly still continues to play, but when trying to skip ahead another msg comes up: "Object reference not set to an instance of an object". After a while it just crashes then. It doesn't occur always, but i can reproduce this most of the time. Usually when switching back and forth to fullscreen and windowed multiple times it eventually shows up.
In DX9 and DX10 everything else plays fine (no bugs except full screen with audio only).
Lastly, yesterday i had a really strange bug that might not have to do with MPDN, but it never happened to me in any other player before. All of a sudden, some ~twenty minutes into a video, the sound constantly got extremely scratchy and noisy, louder than the whole audio mix. I had to stop MPDN and unplug/replug my USB soundinterface. I'm using DirectSound in MPDN, same as with MPC-HC.
I don't know if this was just a bad coincidence, because i can't reproduce it right now, but i also never had this happen in MPC-HC before. It also wasn't the video that produced this, so there's probably nothing you can do, but if i encounter this again i'll let you know about it again.
My configuration: MPDN x64 latest (..18.8), latest MPDN plugins, latest official nvidia drivers (not beta drivers).
Hopefully you can look into these errors that have to do with DX11 and fullscreen audio only. So far i really like the player and i'm sure it will only keep getting better and better. Looking forward to watching more content with MPDN, thanks Zachs and everyone else involved!
DeadlyEmbrace
22nd January 2015, 18:46
This is fullscreen exclusive mode we're talking about isn't it? Exclusive mode seems to be very dependent on the GPU drivers and it behaves very differently from Dx9 to 11. On my Windows 7 setup, Dx10 causes all the screens to go black except the one playing the video, while Dx11 works like 9 where all screens continue to work just fine. I'm afraid there's not much I could do about that.
No worries, was just curious. Yes, it was indeed fullscreen exclusive mode. Removing FSE solves the problem. :)
Could you add events for volume change and mute for the extensions? At current the remote has no way to know if the volume was changed directly in MPDN or via another remote.
Zachs
23rd January 2015, 03:16
First, in DX9 and DX10 (and probably DX11 too) when i play audio only (f.e. .flac) in the player and switch to fullscreen, the following error msg pops up: "HRESULT: 0x8876086C, Module SHARPDX.Direct3d9, APICODE D3DERR_invalidcall, message: unknown".
The next bug happens in DX11, after exiting fse (switching back to windowed mode) i got a similar msg, this time: HRESULT 0x887A0005 Module SHARPDX.DXGI. DXGI_ERROR_DEVICE_REMOVED. Afterthis, the MPDN shows only two red lines and won't exit anymore, instead when trying to exit showing "Back buffer has not been created". The audio weirdly still continues to play, but when trying to skip ahead another msg comes up: "Object reference not set to an instance of an object". After a while it just crashes then. It doesn't occur always, but i can reproduce this most of the time. Usually when switching back and forth to fullscreen and windowed multiple times it eventually shows up.
In DX9 and DX10 everything else plays fine (no bugs except full screen with audio only).
Lastly, yesterday i had a really strange bug that might not have to do with MPDN, but it never happened to me in any other player before. All of a sudden, some ~twenty minutes into a video, the sound constantly got extremely scratchy and noisy, louder than the whole audio mix. I had to stop MPDN and unplug/replug my USB soundinterface. I'm using DirectSound in MPDN, same as with MPC-HC.
I don't know if this was just a bad coincidence, because i can't reproduce it right now, but i also never had this happen in MPC-HC before. It also wasn't the video that produced this, so there's probably nothing you can do, but if i encounter this again i'll let you know about it again.
My configuration: MPDN x64 latest (..18.8), latest MPDN plugins, latest official nvidia drivers (not beta drivers).
Hopefully you can look into these errors that have to do with DX11 and fullscreen audio only. So far i really like the player and i'm sure it will only keep getting better and better. Looking forward to watching more content with MPDN, thanks Zachs and everyone else involved!
The first one is fixed in the next release.
The one about Dx11 crashing going in and out of full screen exclusive mode is a driver bug. That said, I've made MPDN show the error and then terminate when the abort button is pressed. This will be how MPDN handles critical errors from now on.
The last one about your sound card shouldn't be due to MPDN since it does its the audio graph no differently to other DirectShow players now.
No worries, was just curious. Yes, it was indeed fullscreen exclusive mode. Removing FSE solves the problem. :)
Could you add events for volume change and mute for the extensions? At current the remote has no way to know if the volume was changed directly in MPDN or via another remote.
Done in v2.18.9.
Anime Viewer
23rd January 2015, 03:55
Options | General | Window. Uncheck resize window to fit when opening media.
Anyone else have their video open in extremely small windows (ex: 393x221 pixels)? I'm not sure why all videos seem to be opening in that shrunk size by default. If I go to View -> Fit to 100% video the video takes on its default size that it should have opened with (ex: 1280x720).
Anywhere in the configuration files I should look for this screwed up resolution that it seems to like opening files in if the "Resize window to fit when opening media" and "Reset window size when closing media" boxes are unchecked?
Zachs
23rd January 2015, 05:17
Anyone else have their video open in extremely small windows (ex: 393x221 pixels)? I'm not sure why all videos seem to be opening in that shrunk size by default. If I go to View -> Fit to 100% video the video takes on its default size that it should have opened with (ex: 1280x720).
Anywhere in the configuration files I should look for this screwed up resolution that it seems to like opening files in if the "Resize window to fit when opening media" and "Reset window size when closing media" boxes are unchecked?
Can't replicate your issue - when both of those are unchecked, window size doesn't change at all when opening / closing video files.
Zachs
23rd January 2015, 13:04
Attn: All PlayerExtension developers
There's an upcoming change that will affect all MPDN PlayerExtension developers. After discussing with Shiandow, it was decided that IPlayerControl should be accessible globally in the scripts for various reasons.
As such, you'll find the latest changes in my work branch on github as examples (EDIT: Shiandow will announce what you need to change in a little while, if any) - so if you could, please update your code (shouldn't take more than a few seconds). MPDN v2.19.0 test version is available for download here (http://zachsaw.com/downloads/mpdn_test/) (Developers only!!!).
Shiandow
23rd January 2015, 13:41
As such, you'll find the latest changes in my work branch on github as examples (EDIT: Shiandow will announce what you need to change in a little while, if any) - so if you could, please update your code (shouldn't take more than a few seconds). MPDN v2.19.0 test version is available for download here (http://zachsaw.com/downloads/mpdn_test/) (Developers only!!!).
Well I made the necessary changes in my work branch (https://github.com/Shiandow/PlayerExtensions/commits/Work), but if you don't like to merge with that (since you've made some other changes for instance) then you can easily do it yourself by replacing all "IPlayerControl" variables with the static PlayerControl, and removing the IPlayerControl argument from the IPlayerExtension.Initialize method (and maybe some other methods, but it should be relatively straightforward from there on).
DeadlyEmbrace
23rd January 2015, 17:02
Well I made the necessary changes in my work branch (https://github.com/Shiandow/PlayerExtensions/commits/Work), but if you don't like to merge with that (since you've made some other changes for instance) then you can easily do it yourself by replacing all "IPlayerControl" variables with the static PlayerControl, and removing the IPlayerControl argument from the IPlayerExtension.Initialize method (and maybe some other methods, but it should be relatively straightforward from there on).
Cool. I've merged your branch with mine and did some cleanup on my code. I've refactored some code in my brach so the merge ended up being a nightmare.
@Zachs Thanks for the events. :thanks:
Garteal
24th January 2015, 12:51
Thanks for the heads-up. I thought it was kinda a strange approach having to do it the initial way. Glad to see the concept (design) improve. Will be updating and continuing work on the extension.
Zachs
24th January 2015, 13:06
@AnimeViewer
I've just implemented multi-subpic support for XySubFilter, along with some optimizations on how the frame is delivered to the renderer for v2.19.0.
Happy to say on my system, the queue only goes down by 3 frames from maximum at most with that test clip you uploaded.
DeadlyEmbrace
24th January 2015, 13:40
More event requests. :)
Could you please add an event for when the selected active subtitle is changed and a similar one for when the active audio track is changed?
Zachs
24th January 2015, 13:43
More event requests. :)
Could you please add an event for when the selected active subtitle is changed and a similar one for when the active audio track is changed?
LOL I figured - just saw your commits. :)
Will do that for the next release.
Can you compile a list of events you think would be useful so I could do them all in one go?
DeadlyEmbrace
24th January 2015, 13:59
LOL I figured - just saw your commits. :)
Will do that for the next release.
Can you compile a list of events you think would be useful so I could do them all in one go?
Awesome, thanks.
I'll give it some thought. From a quick look over it seems those are the only ones atm though.
Zachs
24th January 2015, 14:01
Yeah I had a quick look myself and it seems to be the only ones missing. I'll add those and release a .1 in a while - since ryrynz also found FSE re-enter delay not working.
Done. v2.19.1 released.
DeadlyEmbrace
24th January 2015, 20:01
Hi everyone
New version of the MPDN Remote is available (v1.1.0)
- Display and select audio track(s)
- Display and select subtitle track(s)
- Display and select chapter(s)
- Adjusting of volume
- Mute/unmute
- Bugfixes
The new remote will work with the current extension, but most of the features won't be available. As soon as the updated extension is merged with the current PlayerExtensions all functionality will be available.
Available here: https://github.com/DeadlyEmbrace/MPDN_RemoteControl/releases/download/v1.1.0/MPDN_RemoteControl_v1.1.0.zip
Zachs
24th January 2015, 23:19
I've just merged Deadly's new remote code so all functionalities should now work if you re-download player extensions.
Will update OP later with remote client v1.1.0.
Thanks so much deadly!
Anime Viewer
25th January 2015, 03:04
@AnimeViewer
I've just implemented multi-subpic support for XySubFilter, along with some optimizations on how the frame is delivered to the renderer for v2.19.0.
Happy to say on my system, the queue only goes down by 3 frames from maximum at most with that test clip you uploaded.
Happy to say my queues stay nice and high (not dropping at all until the video is over from what I noticed) with that test video. Nice Job on making a fix for that Subtitle issue!
On a not so good note. I'm now noticing a "Sequence contains no elements" error when I open a video, maximize the window, or shrink it back to its default size. Any suggestions for trouble shooting?
After I copied the new player, new scripts, and new player extensions I got a couple of other error (shown in the attached picture). The one on the far left occurred when opening files. The top right one occurred when trying to close files (the only way to close it was by ending the task in task manager). Both of those were solved by recopying the render-script files again. The only remaining error is the "sequence" one.
http://oi60.tinypic.com/vfv8ua.jpg
Edit: I have both the 64-bit and 32-bit versions installed, and the 32-bit doesn't generate the error. Only the 64-bit appears to generate the error.
Edit: I've done some searching, and it appears the sequence error may be related to coding and a SingleOrDefault entry:
http://stackoverflow.com/questions/1324199/sequence-contains-no-elements
https://social.msdn.microsoft.com/Forums/en-US/527391ea-c0f4-488d-b0d2-94a11f483179/error-sequence-contains-no-elements?forum=linqprojectgeneral
romulous
25th January 2015, 03:21
I'm now noticing a "Sequence contains no elements" error when I open a video
Same. Play from Pause also triggers it.
Zachs
25th January 2015, 04:46
Replicated the problem and fixed in next release.
EDIT: Fixed and released v2.19.2.
Dazog
25th January 2015, 20:19
Could we get a "On Top while playing video" option?
Meaning when we pause the video, the player won't be on top of all other open windows.
Also In Minimalist mode, we don't have a way to tell how far we are into a video. No time displayed. Can we can option for that?
Thank you again, for all the hard work. Awesome player.
SamuelMaki
26th January 2015, 02:44
Started to crash when opening files with ffdshow post processing enabled again. Here is the windows crash message:
Ongelman tunniste:
Ongelmatapahtuman nimi: APPCRASH
Sovelluksen nimi: MediaPlayerDotNet.exe
Sovelluksen versio: 2.19.2.2937
Sovelluksen aikaleima: 54c467f6
Vikamoduulin nimi: StackHash_0a9e
Vikamoduulin versio: 0.0.0.0
Vikamoduulin aikaleima: 00000000
Poikkeuskoodi: c0000005
Poikkeuksen poikkeama: 00000000
Käyttöjärjestelmän versio: 6.1.7601.2.1.0.256.1
Aluekohtaisten asetusten tunnus: 1035
Lisätietoja 1: 0a9e
Lisätietoja 2: 0a9e372d3b4ad19135b953a78882e789
Lisätietoja 3: 0a9e
Lisätietoja 4: 0a9e372d3b4ad19135b953a78882e789
Hopefully that is MPDN bug and not ffdshow one? (Since it is dead project) Sorry for the Finnish gibberish, hopefully you make some sense out of it.
EDIT: Actually this was some sort of bug since reinstalling ffdshow and avisyth.dll fixed it (I did lack the .dll on syswow64 after updating MPDN for some reason unknown to me...). Seems to happen with every update as far as I can tell. Are you sure MPDN is not touching any avisynth related files? Though now I know which file to put in which folder I can happily just copy paste it after every update anyway.
Shiandow
26th January 2015, 11:49
Just a heads up, I pushed an update to the renderscripts that improved the speed of the debanding algorithm quite a bit. In theory this change could change the image quality slightly but as far as I can tell this effect is not noticeable.
Edit: And some tweaks to the SuperRes / SuperChromaRes algorithms.
Zachs
27th January 2015, 04:22
Could we get a "On Top while playing video" option?
Meaning when we pause the video, the player won't be on top of all other open windows.
Also In Minimalist mode, we don't have a way to tell how far we are into a video. No time displayed. Can we can option for that?
Thank you again, for all the hard work. Awesome player.
You can always choose to show status bar even in minimalist mode.
Always on top only when playing option would be a good feature to add.
Started to crash when opening files with ffdshow post processing enabled again. Here is the windows crash message:
Hopefully that is MPDN bug and not ffdshow one? (Since it is dead project) Sorry for the Finnish gibberish, hopefully you make some sense out of it.
EDIT: Actually this was some sort of bug since reinstalling ffdshow and avisyth.dll fixed it (I did lack the .dll on syswow64 after updating MPDN for some reason unknown to me...). Seems to happen with every update as far as I can tell. Are you sure MPDN is not touching any avisynth related files? Though now I know which file to put in which folder I can happily just copy paste it after every update anyway.
MPDN doesn't know you've updated it, or that you're even using Avisynth with it... So no, it has nothing to do with MPDN I'm afraid.
Blackfyre
27th January 2015, 07:49
Just a heads up, I pushed an update to the renderscripts that improved the speed of the debanding algorithm quite a bit. In theory this change could change the image quality slightly but as far as I can tell this effect is not noticeable.
Edit: And some tweaks to the SuperRes / SuperChromaRes algorithms.
Great job man, thanks. Testing with SVP now, it seems much less intensive than before, worked flawlessly so far, but need to do more testing before I update the article.
Anima123
27th January 2015, 21:36
Shiandow,
Mind if you can share with us how's the CalculateSize() supposed to work. I am a little bit confused what it will act if after the 1st round using NEDI, the currentSize already bigger than the targetSize.
I will try the new algorithm later today, with NEDI enabled, to see how it performed. Looks like you already changed how NEDI is utilized in SuperRes to limit it to only the first round.
Shiandow
27th January 2015, 22:03
Shiandow,
Mind if you can share with us how's the CalculateSize() supposed to work. I am a little bit confused what it will act if after the 1st round using NEDI, the currentSize already bigger than the targetSize.
What CalculateSize() tries to do is to cut the scaling process into equally sized pieces, making sure that the amount it needs to scale is within certain limits (or as close as it can get). The sizes it picks don't change if NEDI has been used, and in most cases it will simply downscale NEDI to what it thinks is the right size. If there's only one pass then it might decide to upscale, and I just realised that this causes an error if you scale exactly 200%. I should probably fix that.
I will try the new algorithm later today, with NEDI enabled, to see how it performed. Looks like you already changed how NEDI is utilized in SuperRes to limit it to only the first round.
That's always been how it worked, the main difference is that NEDI is now done in the L*a*b colourspace, which might improve quality a bit. Anyway, let me know what you think, it's very hard to estimate how all the small changes impact each other.
Edit: Bug should be fixed now.
Anima123
27th January 2015, 23:26
In the previous version of SuperRes, the image quality reached its max until round 6. I have tried 8 rounds and 10 rounds, it only makes the quality worse. 4-5 seemed a reasonable choice with the previous version.
I will check the latest version, with respect to the image quality, later today.
Blackfyre
28th January 2015, 00:29
I'd like to make a suggestion - multiple chain scripts... is it possible?
For me; with my chain script, adding SuperRes to it with 2 Passes & NEDI disabled in SuperRes configuration works fine with 24FPS and 25FPS files + SVP (can't do more than 2 passes). But 30FPS videos cannot be done, not even with 1 Pass. My videocard can't handle it (HD7970). So it would be great if for example I can tap numpad 1 and switch to chainscript 1 (when watching 24fps and 25fps videos) and tap numpad 2 to switch to chainscript 2 which doesn't have SuperRes added with the rest of my scripts.
Shiandow
28th January 2015, 00:43
I'd like to make a suggestion - multiple chain scripts... is it possible?
For me; with my chain script, adding SuperRes to it with 2 Passes & NEDI disabled in SuperRes configuration works fine with 24FPS and 25FPS files + SVP (can't do more than 2 passes). But 30FPS videos cannot be done, not even with 1 Pass. My videocard can't handle it (HD7970). So it would be great if for example I can tap numpad 1 and switch to chainscript 1 (when watching 24fps and 25fps videos) and tap numpad 2 to switch to chainscript 2 which doesn't have SuperRes added with the rest of my scripts.
If you go to the playerextensions there is a player extension called "Renderscript presets" that allows you to configure multiple script chains, you can then switch between them by selecting the one you want. Unfortunately there's no hotkey for switching presets yet, the whole system still needs some work. You may also need to select the "Preset" renderscript for this to work, this should be done automatically but I noticed it doesn't always do so.
Edit: you could also do it all automatically using a custom render script, but that's still a bit complicated.
Blackfyre
28th January 2015, 00:55
If you go to the playerextensions there is a player extension called "Renderscript presets" that allows you to configure multiple script chains, you can then switch between them by selecting the one you want. Unfortunately there's no hotkey for switching presets yet, the whole system still needs some work. You may also need to select the "Preset" renderscript for this to work, this should be done automatically but I noticed it doesn't always do so.
Edit: you could also do it all automatically using a custom render script, but that's still a bit complicated.
Thanks for the info... I just noticed that it doesn't work with 25fps and 30fps... only 24fps @ 1080p movies (which have the black bars at the top and bottom, aka 1920x800). Which are being scaled up to my monitor resolution 1440p.
720p @ 24fps wasn't even possible. My videocard isn't strong enough I guess anyway. So I disabled it. I'll just add SuperRes to the chain script when I watch a video that should work with it and remove it when it's not needed.
Anima123
28th January 2015, 01:57
Shiandow, a pm for you has been sent.
Zachs
28th January 2015, 03:43
Thanks for the info... I just noticed that it doesn't work with 25fps and 30fps... only 24fps @ 1080p movies (which have the black bars at the top and bottom, aka 1920x800). Which are being scaled up to my monitor resolution 1440p.
720p @ 24fps wasn't even possible. My videocard isn't strong enough I guess anyway. So I disabled it. I'll just add SuperRes to the chain script when I watch a video that should work with it and remove it when it's not needed.
When you said it doesn't work with 25fps and 30fps, do you mean the preset not working or you encounter frame drops because your GPU isn't fast enough?
Anima123
28th January 2015, 04:49
Just tested the new SuperRes a little bit, this time even without NEDI enabled, the rendering time increasing really fast.
Shiandow, would you please revisit this issue if you have time to do that?
Edit: Quite weird. To playback a 720x404 29.976 file, the rendering time increased quite fast. However, when playback a 576p file, it's steady.
shaolin95
28th January 2015, 05:27
Guys what am I doing wrong?
I am using the latest x86_2_19_4_2940 with the RenderScripts (MPDN v2.19.0 and above) but it does not work. When I open the player I get this error I attached.
With my other versions I never got that error so not sure what I am missing.
Zachs
28th January 2015, 05:29
Can't see your PNG attachment - pending approval.
What error is it?
EDIT: Make sure you download both Render Scripts and Player Extensions from the OP download section, and no the separate release from GitHub as they no longer work separately. At some stage, we'll be looking to move Render Scripts into the Player Extensions branch on GitHub to prevent confusions.
Anima123
28th January 2015, 07:03
Error like the following:
[code]TITLE: SharpDX Error
------------------------------
An unexpected error 'SharpDX.SharpDXException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
HRESULT: [0x887A0005], Module: [SharpDX.DXGI], ApiCode: [DXGI_ERROR_DEVICE_REMOVED/DeviceRemoved], Message: The GPU device instance has been suspended. Use GetDeviceRemovedReason to determine the appropriate action.
(SharpDX)
------------------------------
BUTTONS:
&Abort
------------------------------
[/doe]
with version 2.19.4.
Besides, playing back with the latest version, the player will get out of FSE mode when trying to seek the video. This does not occur with 2.19.2.
Zachs
28th January 2015, 07:57
Yeah I think it was introduced in 2.19.3. Will get it fixed.
Zachs
28th January 2015, 11:33
Should be fixed now with v2.19.5.
Just for the record, DXGI_ERROR_DEVICE_REMOVED means MPDN has run into a driver bug and there's not much that could be done.
Shiandow
28th January 2015, 14:21
Just tested the new SuperRes a little bit, this time even without NEDI enabled, the rendering time increasing really fast.
Shiandow, would you please revisit this issue if you have time to do that?
Edit: Quite weird. To playback a 720x404 29.976 file, the rendering time increased quite fast. However, when playback a 576p file, it's steady.
That suggests that the problem is caused by allocating too much textures, the new CalculateSize() will allocate a few more textures for larger scaling factors. Perhaps I should add an option to disable that part.
Edit: Does it get even worse when you add debanding?
Anima123
28th January 2015, 21:42
That suggests that the problem is caused by allocating too much textures, the new CalculateSize() will allocate a few more textures for larger scaling factors. Perhaps I should add an option to disable that part.
Found a guy who has similar problems of Optimus + nVidia 880M system, which was also related to texture usage.
http://us.battle.net/heroes/en/forum/topic/13733923564
It seems that it's the drivers fault, am I right? We will just have to wait until nVidia give us a 'perfect' driver version.
Edit: Does it get even worse when you add debanding?
I will test if debanding has any affect on rendering time later today. From my experience, the new debanding code is much more faster than previous version.
Blackfyre
28th January 2015, 21:58
Yeah I agree new debanding is much faster... Also it's not like AMD release perfect drivers. Both AMD & nVidia have been having driver issues.
Edit: Also on a side note, is it possible to add streaming support? for example I have a program called SopCast, in the settings for SopCast I select an external media player, and choose MPC. This allows me to stream a tv channel using Madvr, but I can't set MPDN, it won't run every time. It doesn't have the ability to run a url?
Zachs
28th January 2015, 23:19
Yeah I agree new debanding is much faster... Also it's not like AMD release perfect drivers. Both AMD & nVidia have been having driver issues.
Edit: Also on a side note, is it possible to add streaming support? for example I have a program called SopCast, in the settings for SopCast I select an external media player, and choose MPC. This allows me to stream a tv channel using Madvr, but I can't set MPDN, it won't run every time. It doesn't have the ability to run a url?
No streaming support - No plans for MPDN to support streaming at the moment either. Not even sure if LAV splitter does streaming...
ryrynz
28th January 2015, 23:26
Found a guy who has similar problems of Optimus + nVidia 880M system, which was also related to texture usage.
http://us.battle.net/heroes/en/forum/topic/13733923564
It seems that it's the drivers fault, am I right? We will just have to wait until nVidia give us a 'perfect' driver version.
I wouldn't just wait. Have you posted your issue in the nVidia forums or provided feedback? (http://www.nvidia.com/object/driverqualityassurance.html)
Zachs
28th January 2015, 23:28
Found a guy who has similar problems of Optimus + nVidia 880M system, which was also related to texture usage.
http://us.battle.net/heroes/en/forum/topic/13733923564
It seems that it's the drivers fault, am I right? We will just have to wait until nVidia give us a 'perfect' driver version.
I will test if debanding has any affect on rendering time later today. From my experience, the new debanding code is much more faster than previous version.
You could also add a few Resizers that resizes to different sizes in the chain to see if it worsens the problem as that forces the chain to create more textures (you'll probably get garbage output but image quality is not the purpose of the test).
Would be good if more people with Optimus could try to replicate the issue as well.
Zachs
28th January 2015, 23:29
I wouldn't just wait. Have you posted your issue in the nVidia forums or provided feedback? (http://www.nvidia.com/object/driverqualityassurance.html)
You have access to an Optimus setup haven't you? Perhaps you could help test and see if you could replicate the problem before reporting the bug to nvidia collectively.
ryrynz
28th January 2015, 23:39
You have access to an Optimus setup haven't you? Perhaps you could help test and see if you could replicate the problem before reporting the bug to nvidia collectively.
Yeah, I'll have a play on it see what happens.
Zachs
28th January 2015, 23:52
Yeah, I'll have a play on it see what happens.
Great! :)
I think the settings to replicate the issue were as follows.
SuperChromaRes -> SuperRes with NEDI + 5 passes
Optionally:
Add deband
Resize to 150%
ImageProcessor - LumaSharpen
Resize to 200%
ImageProcessor - LumaSharpen
Resize to 50%
ImageProcessor - LumaSharpen
...
Resize to 100%
@Anima123 is that right?
Anima123
29th January 2015, 00:12
It's quite easy to trigger the problem now, you just use the new SuperRes and playback a video file with lower resolution like 720x404 toward a target 1080p resolution.
Zachs
29th January 2015, 03:29
Starting v2.20, MPDN's extensions (PlayerExtensions, RenderScripts and CustomLinearScalers) will be merged into one repository and one folder called "Extensions".
Within it, you will still have the three separate extension folders but they are no longer loaded independently - and all scripts will be recursively loaded from the "Extensions" folder. This change is necessary seeing as how much code duplicates are starting to occur between PlayerExtensions and RenderScripts. With that, we can now move the common code into a subfolder, reduce code duplicates, and generally have better synergy between the various scripts.
The interfaces (IPlayerExtension, IRenderScript, ICustomLinearScaler) remain mostly the same with some minor changes.
Also note that we have merged RenderScripts and PlayerExtensions repositories into MPDN_Extensions (https://github.com/zachsaw/MPDN_Extensions) on GitHub. Please make sure you switch to this repository for any further works.
Cheers,
Zachs
Blackfyre
29th January 2015, 05:00
Thanks for the heads up. Really appreciate the hard work. Well done mate. Hopefully it's a smooth transition to version 2.20 (whenever it's released).
Edit: It's released, we'll test soon.
Zachs
29th January 2015, 05:07
v2.20.0 released.
Note for all users.
All scripts have now been combined into one zip file (link in OP) and from now on that is the link to use to download the latest scripts. Note that the scripts will be updated from time to time that is outside of MPDN's release cycle, so to get the latest updates, make sure you download the scripts whenever there's an announcement from the developers.
To find out when the extension scripts was last updated, see MPDN_Extensions page on GitHub (https://github.com/zachsaw/MPDN_Extensions/) (e.g. "... authored X minutes/hours/days ago").
Anime Viewer
29th January 2015, 07:36
v2.20.0 released.
All scripts have now been combined into one zip file (link in OP) and from now on that is the link to use to download the latest scripts. Note that the scripts will be updated from time to time that is outside of MPDN's release cycle, so to get the latest updates, make sure you download the scripts whenever there's an announcement from the developers.
I've only tested a handful of files so far, but so far 2.20 (and the extensions) seems to extract and work fine.
Zachs
29th January 2015, 11:54
All developers,
I've just cleaned up the merged repository. I'd appreciate it if you could all do a merge from the latest revision.
Cheers!
DeadlyEmbrace
29th January 2015, 17:58
Ok, I've switched to the new repository and fixed the Remote Control extension. It seems the old one sneaked in somehow.
Anima123
29th January 2015, 20:24
Shiandow,
I have get through your algorithm of CalculateSize() and found it doesn't work as expected. For 576p -> 1080p upscaling, there's no intermediate resizing steps, the first pass just push the currentSize direct to 1080p. No wonder it does not suffer from rendering time increasing for 576p video, and that might also explain why the NEDI might not working if MaxScale set >= 2.0.
Another question, does SuperRes shader do upscaling of diff itself with bilinear, if useBilinear is 'true'?
Shiandow
29th January 2015, 21:04
Shiandow,
I have get through your algorithm of CalculateSize() and found it doesn't work as expected. For 576p -> 1080p upscaling, there's no intermediate resizing steps, the first pass just push the currentSize direct to 1080p. No wonder it does not suffer from rendering time increasing for 576p video, and that might also explain why the NEDI might not working if MaxScale set >= 2.0.
That is expected behaviour, doing 576 -> 1080p in more than 1 step would require at least one step with a scaling factor less than or equal to sqrt(1.875) which is slightly lower than the minimum allowed scaling factor sqrt(1.9). Also that comment about NEDI not working no longer applies, that bug was fixed recently. For technical reasons NEDI had problems with scaling factors of exactly 2.0.
Another question, does SuperRes shader do upscaling of diff itself with bilinear, if useBilinear is 'true'?
Yes it simply turn hardware bilinear interpolation for the SuperRes shader on, that way the input is automatically interpolated. This costs less memory and seems to be at least as fast as doing it manually.
Anima123
30th January 2015, 00:19
Siandow,
Read from http://forum.doom9.org/showthread.php?p=1703811#post1703811, you mentioned that in MPDN, the new texture is used to avoid unnecessary computing of NEDI. I wonder if you can add an option for the user to choose if new texture be used.
Since current Optimus drivers have bug in terms of texture, I wonder if this bug can be avoided somehow by invoke NEDI in a 'traditional, unoptimized' way.
Another simple quick question: Scaler.Bicubic(1.0f, false) or Scaler.Bicubic(0.0f, false), which one is equivalent to Catmull-Rom?
Anime Viewer
30th January 2015, 02:48
Since current Optimus drivers have bug in terms of texture, I wonder if this bug can be avoided somehow by invoke NEDI in a 'traditional, unoptimized' way.
What bug are you referring to (is it a 800/900 series bug)? I haven't noticed any texture problem(s) with my 680m GTX Optimus system.
Anima123
30th January 2015, 02:52
What bug are you referring to (is it a 800/900 series bug)? I haven't noticed any texture problem(s) with my 680m GTX Optimus system.
Mine is 880M. As I reported in this thread, it will cause rendering time increase gradually when using SuperRes with NEDI enabled.
Zachs
30th January 2015, 05:15
*Devs only*
I've added support for .resx (XML) and .resources (compiled resource) file. Here's the guideline to use them correctly with MPDN.
Resource files needs an identifier allocated for it to be accessible in your code and this identifier is generally created automatically when the IDE invokes the compiler, based on the information it gathers from csproj file.
Since there's no csproj file requirement for MPDN's scripts to function, this identifier cannot be automatically generated. As such, you'll need to rename the .resx / .resources file such that the name itself is the identifier.
For example, PlaylistForm.resx would be dependent upon PlaylistForm.cs. Since the PlaylistForm class has a full type name of Mpdn.PlayerExtensions.GitHub.PlaylistForm, you'll need to name the resx file to Mpdn.PlayerExtensions.GitHub.PlaylistForm.resx (or if you pre-ResGen the .resx file, you'll need to name it Mpdn.PlayerExtensions.GitHub.PlaylistForm.resources). As you could see in the following code which is inserted by the designer (in PlaylistForm.Designer.cs), typeof(PlaylistForm) is the reason for naming our resource files the way that was described.
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PlaylistForm));
I've updated the PlaylistForm to use an external .resx file to serve as an example.
In conclusion, this change should make it easier for devs who need to embed icons/images in a resource file - all you need to do is rename the file from the IDE generated name to the type's full name (+.resx) before pushing it to GitHub; or you could simply add a postbuild event that ResGen a .resources file with the type's full name, whichever way you feel is easier.
nekromantik
30th January 2015, 07:58
I reported before on my 860M there is no bug with render time increases.
Watched a 45 min video with SuperRES NNDI enabled and no bug present. Might be a Keplar bug as my 860M is Maxwell.
Garteal
30th January 2015, 10:52
Awesome Zachs, thanks for the quick responses and implementation. Will start updating things here in a bit.
poorplayer
30th January 2015, 20:08
No streaming support - No plans for MPDN to support streaming at the moment either. Not even sure if LAV splitter does streaming...
Not sure if it counts as streaming, but MPDN doesn't work for me with SVPtube. It does work with MPC-HC using LAV.
ryrynz
31st January 2015, 00:29
I reported before on my 860M there is no bug with render time increases.
Watched a 45 min video with SuperRES NNDI enabled and no bug present. Might be a Keplar bug as my 860M is Maxwell.
Same here. Can't duplicate any render time increases both full screen and windowed. Nvidia 850 gtx gpu confirmed used in an hp optimus notebook. NNEDI3 5 pass on 640 video latest drivers win 8.1
Zachs
31st January 2015, 04:47
@Anima123
Maybe you should upload the clip so we could all test with the same settings and media, as no one else seems to be able to replicate the problem.
Anima123
31st January 2015, 07:07
Do you guys has some video clips that has a scale factor more than 2.0 when playing in the native resolution, such as 720 x 404 to 1920 x 1080? The latest SuperRes suffers from that by introducing 'slowly increasing the size each pass' feature, which is easier to trigger.
For 720p to 1080p, I can playback it very fluently with no rendering time increase if NEDI not enabled, and the quality is quite nice to me.
Zachs
31st January 2015, 07:22
So with NEDI enabled even 720p to 1080p will trigger the problem?
In that case, all the other people with Optimus have tested and found no such problem...
Anima123
31st January 2015, 07:38
So with NEDI enabled even 720p to 1080p will trigger the problem?
In that case, all the other people with Optimus have tested and found no such problem...
Actually I took ryrynz's advice via PM and tried the 'high performance' status of my 880M, and the rendering time increase still there with 720p -> 1080p, SuperRes with NEDI enabled. The increase is gradually and slowly though.
Now the only way using SuperRes and didn't suffer this is plain SuperRes.
And I also found, for low-resolution videos, SuperChromRes + SuperRes will suffer the creepy rendering time increase, while the same configuration for 720p videos not.
ryrynz
31st January 2015, 07:55
Upload your video to a file sharing site and send me a PM, I'll test it with SuperChromaRes enabled as well with and without NEDI.
What are your rendering times like at start? and as it creeps up, what does it stop at if anything? I was running latest drivers for the GTX 850m, make sure you are also.
Shiandow
1st February 2015, 03:34
The latest extensions now have a renderscript called "Preset Group" which makes it possible define several different configurations and then switch between them using a hotkey. It's also possible to use such a Preset Group as part of another Preset Group or a Script Chain, that way you can have multiple hotkeys to control different parts of the processing.
Edit: Oh and I made a small change to the debanding script, it should now preserve colours a bit better.
Zachs
1st February 2015, 03:41
The latest extensions now have a renderscript called "Preset Group" which makes it possible define several different configurations and then switch between them using a hotkey. It's also possible to use such a Preset Group as part of another Preset Group or a Script Chain, that way you can have multiple hotkeys to control different parts of the processing.
Edit: Oh and I made a small change to the debanding script, it should now preserve colours a bit better.
Great stuff!!
Those who've requested switching between multiple render chains via shortcut keys, your wish has come true!
Thank you do much Shiandow!
Blackfyre
1st February 2015, 05:28
Shiandow & Zachs
Thanks guys. Glad my request for switching between multiple render chains via shortcuts was added :) I shall do some testing.
Edit: I probably need instructions, because I can't see how to configure it.
nekromantik
1st February 2015, 17:49
How do I know if NNDI is actually working?
Also is SuperChromaRes meant to go first then SuperRes?
Shiandow
1st February 2015, 18:46
Shiandow & Zachs
Edit: I probably need instructions, because I can't see how to configure it.
You can add renderscripts to a Preset Group by selecting a renderscript type at the bottom, and then clicking add. You can then configure this renderscript by double clicking it, or selecting it and clicking configure. You can give a Preset Group it's own name by filling in a name at the top left, and you can give it a hotkey by typing in a hotkey in the top right.
How do I know if NNDI is actually working?
Also is SuperChromaRes meant to go first then SuperRes?
Well if NEDI is working then the corners of the image should move slightly, although if that's the only way you can notice a difference then it might not be worth it. It might be easier to see if you configure a Preset Group, adding one preset with NEDI and another one without, then you can turn NEDI on or off with a hotkey.
And yes, SuperChromaRes should be used before SuperRes. In almost all cases it should be the very first in the script chain.
nekromantik
1st February 2015, 19:09
You can add renderscripts to a Preset Group by selecting a renderscript type at the bottom, and then clicking add. You can then configure this renderscript by double clicking it, or selecting it and clicking configure. You can give a Preset Group it's own name by filling in a name at the top left, and you can give it a hotkey by typing in a hotkey in the top right.
Well if NEDI is working then the corners of the image should move slightly, although if that's the only way you can notice a difference then it might not be worth it. It might be easier to see if you configure a Preset Group, adding one preset with NEDI and another one without, then you can turn NEDI on or off with a hotkey.
And yes, SuperChromaRes should be used before SuperRes. In almost all cases it should be the very first in the script chain.
Thanks
Reason I asked was my render times was only 23 with 3 runs of NEDI and super res. Im on a optimus laptop so should be higher.
Shiandow
1st February 2015, 21:13
Thanks
Reason I asked was my render times was only 23 with 3 runs of NEDI and super res. Im on a optimus laptop so should be higher.
Does it increase when you enable NEDI?
nekromantik
1st February 2015, 21:39
Does it increase when you enable NEDI?
Nope no render time difference but if I change the SuperRes passes from 3 to 6 there is a small 5 - 8 ms difference.
Looks like NEDI is not being applied as off and on no difference.
Shiandow
1st February 2015, 22:05
Nope no render time difference but if I change the SuperRes passes from 3 to 6 there is a small 5 - 8 ms difference.
Looks like NEDI is not being applied as off and on no difference.
Just to be sure, you're actually enabling NEDI in the SuperRes settings, not just adding copies of the NEDI script after the SuperRes script?
nekromantik
1st February 2015, 22:09
Just to be sure, you're actually enabling NEDI in the SuperRes settings, not just adding copies of the NEDI script after the SuperRes script?
I just installed the latest version of player and scripts and now it works.
I get increased render time a bit when NEDI is ticked in SuperRes.
And Yes I was using it in SuperRes.
Thanks for help.
One more thing, the resize script, do you still need it if you watching on 4k tv? Or will SuperRes upscale auto to output res?
Shiandow
1st February 2015, 22:12
I just installed the latest version of player and scripts and now it works.
I get increased render time a bit when NEDI is ticked in SuperRes.
And Yes I was using it in SuperRes.
Thanks for help.
One more thing, the resize script, do you still need it if you watching on 4k tv? Or will SuperRes upscale auto to output res?
SuperRes will scale directly to the output resolution, but even if it didn't MDPN always resizes the final output to the correct size.
nekromantik
1st February 2015, 22:22
SuperRes will scale directly to the output resolution, but even if it didn't MDPN always resizes the final output to the correct size.
Thanks
I will probably make a script chain group for anything less then 4k with SuperChroma and SuperRes and then for 4k no chain.
Zachs
1st February 2015, 22:59
Nope no render time difference but if I change the SuperRes passes from 3 to 6 there is a small 5 - 8 ms difference.
Looks like NEDI is not being applied as off and on no difference.
Just another thing to add. Render time isn't a true indication of the amount of work the GPU was doing - it's merely the time it took to do the work it was given. This time could be lower even when it's working harder, simply because GPU clock rates have been increased (automatically by the driver/hardware).
The GPU load (via GPU-Z) is a better indicator. Render time is only useful for finding out if your GPU is fast enough to run an algo/render chain - it doesn't tell you how much headroom the GPU has.
Garteal
2nd February 2015, 00:27
I've been working on extending the playlist of Mpdn into something I've personally been looking for for a while. As a bonus I've also tried to make it look a little more attractive.
http://abload.de/img/mpdn-playlistekuol.png
This will probably be mostly useful for people who watch anime with chapters and want to watch a bunch in one seating.
Simply key in all the chapters you want to skip, where it should skip to the next video on the playlist, sit back on your chair/couch and enjoy the show.
Everything should be pretty straight-forward.
The new features added are:
skipping chapters you don't want to see
skip to the next video or end the video when it reaches a certain chapter
This allows you to skip the openings and end at the ending songs for example.
Seeing as I got some positive feedback on the idea and first implementation, I've decided to share it. Hope someone else finds it useful other than me.
nekromantik
2nd February 2015, 00:50
Just another thing to add. Render time isn't a true indication of the amount of work the GPU was doing - it's merely the time it took to do the work it was given. This time could be lower even when it's working harder, simply because GPU clock rates have been increased (automatically by the driver/hardware).
The GPU load (via GPU-Z) is a better indicator. Render time is only useful for finding out if your GPU is fast enough to run an algo/render chain - it doesn't tell you how much headroom the GPU has.
Makes sense :)
Zachs
2nd February 2015, 03:02
I've been working on extending the playlist of Mpdn into something I've personally been looking for for a while. As a bonus I've also tried to make it look a little more attractive.
http://abload.de/img/mpdn-playlistekuol.png
This will probably be mostly useful for people who watch anime with chapters and want to watch a bunch in one seating.
Simply key in all the chapters you want to skip, where it should skip to the next video on the playlist, sit back on your chair/couch and enjoy the show.
Everything should be pretty straight-forward.
The new features added are:
skipping chapters you don't want to see
skip to the next video or end the video when it reaches a certain chapter
This allows you to skip the openings and end at the ending songs for example.
Seeing as I got some positive feedback on the idea and first implementation, I've decided to share it. Hope someone else finds it useful other than me.
Thank you so much Gartael!
I've added files drag-drop back to playlist as well as auto-play on open play list. Only thing missing is reodering through drag-drop. :)
Also made the playlist form following MPDN main form when it gets moved around.
Dark Eiri
2nd February 2015, 07:00
Do you pretent to add filetype associations to MPDN in the future? If you'd like to, I'd be happy to give you this icon-set I made for personal use (I use them with MPC-HC at the moment).
http://i61.tinypic.com/2mdmkjr.png
ryrynz
2nd February 2015, 07:07
Do you pretent to add filetype associations to MPDN in the future? If you'd like to, I'd be happy to give you this icon-set I made for personal use (I use them with MPC-HC at the moment).
Fit's in with the "theme" of MPDN nicely I think, very clean.
Blackfyre
2nd February 2015, 07:28
Do you pretent to add filetype associations to MPDN in the future? If you'd like to, I'd be happy to give you this icon-set I made for personal use (I use them with MPC-HC at the moment).
http://i61.tinypic.com/2mdmkjr.png
Love this and love the idea! File association + those icons would be a great add-on.
Zachs
2nd February 2015, 07:35
Player extension for file association anyone?
Edit: thanks Dark Eiri!
Garteal
2nd February 2015, 16:41
Thank you so much Gartael!
I've added files drag-drop back to playlist as well as auto-play on open play list. Only thing missing is reodering through drag-drop. :)
Also made the playlist form following MPDN main form when it gets moved around.
I did some work on the drag and drop and reordering them, but it looks like you already did that so I'll rebase and add on to that later.
Saw your other commits on it as well. Thanks for the improvements!
Do you have an issue tracker for Mpdn? And if not, why not set up one? Might be handier.
Zachs
3rd February 2015, 01:58
Don't have an issue tracker yet but for the open source extensions, GitHub has one that we could use.
Zachs
3rd February 2015, 04:20
I've added some RenderScript examples in GitHub, so if anyone's interested to try them out, just copy the contents in Examples\RenderScripts into the Extensions\RenderScripts folder. These only serve as examples of how to do various things with render scripts, so you wouldn't want to use them in your daily video playback.
The examples are,
1) Shader Model 3.0 Script example (RenderScript (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Example.Basic.cs) - hlsl (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Examples/BlueTintSm3.hlsl))
A basic render script example using shader model 3.0 - this example simply adds a blue tint to your image and forms the basis of the next two examples.
2) Shader Model 5.0 script example (RenderScript (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Example.Sm5.cs) - hlsl (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Examples/BlueTintSm5.hlsl))
Instead of the usual constants, SM5.0 requires constant buffers - it is quite a minor change from SM3.0.
3) DirectCompute script example (RenderScript (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Example.DirectCompute.cs) - hlsl (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Examples/BlueTintDirectCompute.hlsl))
This example shows how the sample script above can be done in DirectCompute. It is way more powerful than basic pixel shaders as you can process any arbitrary pixels in any order (per thread group). Note that this script and the one above require Dx11 GPUs. If you don't have one, you'll get blank screen when these scripts are selected.
4) Custom Textures script example (RenderScript (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Example.CustomTextures.cs) - hlsl (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Examples/CustomTextures.hlsl))
So far this feature hasn't been used in any render scripts, so just thought it'd be a good idea to have an example for it in case anyone finds the need to say, draw fishes swimming on top of your video footage. Joking aside, this feature is very useful for implementing lookups (point and linearly filtered). Currently RenderScript only supports 2D textures - 3D texture support will be added in the future (this is the missing link for 3dlut implementation in RenderScript).
Cheers.
ryrynz
3rd February 2015, 09:31
Some playlist extension requests.
Ability to remove currently playing file from the playlist (stops the video)
Right click context menu for the playlist (nice but no big deal, we have buttons)
Docking between MPDN and playlist (Not required? visual thing really which brings me to it's right angled edges vs MPDN's rounded edges)
Remembering previous size & window position
On file open add that file to the playlist
Option to remember previous played file and display in playlist
Bout it for now, cheers.
Small cosmetic issue.
Resizing the playlist window I can have the 'End chapter' just say 'End' and I have to manually resize that field to display it all.
I think the playlist buttons loook quite nice, thoughts on having the MPDN icons that match them? The playlist could ditch the button look and go with a highlight like the video window.
Garteal
3rd February 2015, 12:00
Don't have an issue tracker yet but for the open source extensions, GitHub has one that we could use.
One for the main application itself. I'll edit or reply my findings in a bit.
Edit: scratch that. You've fixed them and I'm certain that for one the actual issue is the video file itself. MPC plays it fine though for some reason.
I've added some RenderScript examples in GitHub, so if anyone's interested to try them out, just copy the contents in Examples\RenderScripts into the Extensions\RenderScripts folder. These only serve as examples of how to do various things with render scripts, so you wouldn't want to use them in your daily video playback.
Cheers.
Awesome. Everything works fine here. I'll have to take some time to play with these.
Some playlist extension requests.
Ability to remove currently playing file from the playlist (stops the video)
Sure, can be done.
Right click context menu for the playlist (nice but no big deal, we have buttons)
I'll add this to the to-do list. Don't mind having it for completion sake.
Docking between MPDN and playlist (Not required? visual thing really which brings me to it's right angled edges vs MPDN's rounded edges)
Hmm I'll take a look at this.
Remembering previous size & window position
This is already done per instance, so I'm guessing you mean permanently saving these? If so, will take a look at it.
On file open add that file to the playlist
So an option (in the menu) to add that file to the playlist or adding any file (in any possible manner) should open it via the playlist?
Option to remember previous played file and display in playlist
Playlist file or the actual media?
Resizing the playlist window I can have the 'End chapter' just say 'End' and I have to manually resize that field to display it all.
Resizing the window really small doesn't and shouldn't make it that small. I see "End chap" minimum here. I did notice some things that have to be fixed though, so thanks for the heads-up.
I think the playlist buttons loook quite nice, thoughts on having the MPDN icons that match them? The playlist could ditch the button look and go with a highlight like the video window.
Could be an idea, will see how it'll look.
DeadlyEmbrace
3rd February 2015, 21:12
I've been working on extending the playlist of Mpdn into something I've personally been looking for for a while.
Awesome, I love what you did with it: :thanks: Going to integrate Remote capabilities with the playlist at some point in the future so might mess around with it a little. :p
Dark Eiri - Those are the most awesome icons ever! I love them! :)
Zachs - Don't have time atm, but if no one snatches it up I might work on file association somewhere in the future, no promises though. :P
beastbg8
4th February 2015, 02:03
Can you please add frame-by-frame seeking?
ryrynz
4th February 2015, 02:30
This is already done per instance, so I'm guessing you mean permanently saving these? If so, will take a look at it.
Yup.
So an option (in the menu) to add that file to the playlist or adding any file (in any possible manner) should open it via the playlist?
You got it.
Playlist file or the actual media?
Actual media.
Resizing the window really small doesn't and shouldn't make it that small. I see "End chap" minimum here. I did notice some things that have to be fixed though, so thanks for the heads-up.
You're welcome.
Can you please add frame-by-frame seeking?
Would be great to have the frame number show in the OSD, I would no longer need ffdshow raw for that anymore, that would make MPDN a screenshot champ.
Shiandow
4th February 2015, 09:08
Can you please add frame-by-frame seeking?
Do Ctrl+Left, Ctrl+Right not work?
ryrynz
4th February 2015, 09:26
Do Ctrl+Left, Ctrl+Right not work?
works fine for me, he probably didn't know about that key combination.
Zachs
4th February 2015, 12:06
I've updated the Navigation extension on github to use the latest MPDN extensions API (v2.20.6) for frame stepping. It provides a much smoother stepping behaviour - i.e. try holding Ctrl+Right. Note that frame stepping is only available for forward stepping.
Zachs
4th February 2015, 12:27
Zachs - Don't have time atm, but if no one snatches it up I might work on file association somewhere in the future, no promises though. :P
Some research I've done thus far (for anyone else who might be interested as well):
Code reference for file association - http://www.codeproject.com/Articles/17023/System-File-Association?fid=373202&fr=26#xx0xx
You'll need to do what MPC-HC does which is run a separate exe that has admin privileges. This separate exe should be the one doing the file association, as it requires registry write access to HKEY_CLASSES_ROOT. This seems to be where MPC-HC writes its file associations as well.
Zachs
4th February 2015, 12:29
BTW, does anyone know if there's a problem with NVIDIA drivers with regards to DirectCompute? For some reason everything seems to work fine under my Intel GPU but not on NVIDIA. I get sudden render time spikes and image glitches with NVIDIA.
Blackfyre
4th February 2015, 14:04
BTW, does anyone know if there's a problem with NVIDIA drivers with regards to DirectCompute? For some reason everything seems to work fine under my Intel GPU but not on NVIDIA. I get sudden render time spikes and image glitches with NVIDIA.
I don't know Zachs, I wanted to try the examples you posted, I don't know where to add them? As image processors? when I done that, MPDN Crashed upon starting a video. So I just removed it from image processor.
Anime Viewer
4th February 2015, 14:26
BTW, does anyone know if there's a problem with NVIDIA drivers with regards to DirectCompute? For some reason everything seems to work fine under my Intel GPU but not on NVIDIA. I get sudden render time spikes and image glitches with NVIDIA.
madVR uses DirectCompute for some things, and while I remember madshi making patches and workaround for different things to get it working for different systems (notably ATI equipped systems) I don't recall it having problems with Nvidia gpu when he first enabled it. That being said what madVR uses DirectCompute to do, and what you are trying to have MPDN do may be two very different things.
Let me know what type of file(s) you are having the problem with, as well as when the problem (time-wise) starts to occur and I'll test it on my system.
One thing I have noticed in recent versions of MPDN is video and audio getting out of sync and scenes where panning scenes were slow and clippy (almost slideshow like) after playing for awhile. At first I thought it might be fluid motion related, but after disabling fluid motion and restarting the player/videos the out of sync problem still occurs.
My current thought is it might be render script related (SuperChromaRes -> SuperRes) related, but I haven't had a chance to test that theory yet.
Shiandow what are the default settings for SuperChromaRes and SuperRes? I've done so much troubleshooting using other people's settings that I've lost track of what is recommended and default to those scripts.
Anyone else notice video and audio loosing sync (mouths moving, but audio not coming until later) playing videos?
Shiandow
4th February 2015, 14:36
My current thought is it might be render script related (SuperChromaRes -> SuperRes) related, but I haven't had a chance to test that theory yet.
Shiandow what are the default settings for SuperChromaRes and SuperRes? I've so much troubleshooting using other peoples settings that I've lost track of what is recommended and default to those scripts.
Anyone else notice video and audio loosing sync playing videos?
When you add a new SuperRes of SuperChromaRes script to a script chain or preset group then they should have the default settings. Defaults for SuperRes are something like 3 passses, strength 3/4, sharpness 1/2, anti-aliasing 1/4, anti-ringing 3/4. And SuperChromaRes something similar but with less sharpness and only 2 passes.
I can't think of a reason that those scripts themselves would cause problems with smooth playback, unless the increased load on the GPU is causing issues. Although for whatever reason I also haven't been able to get playback with MPDN as smooth as with MadVR.
Anime Viewer
4th February 2015, 15:03
When you add a new SuperRes of SuperChromaRes script to a script chain or preset group then they should have the default settings. Defaults for SuperRes are something like 3 passses, strength 3/4, sharpness 1/2, anti-aliasing 1/4, anti-ringing 3/4. And SuperChromaRes something similar but with less sharpness and only 2 passes.
SuperChromaRes appears to have all the settings you noted except Sharpness is set to 0.15 instead of the 0.50 you noted. (Did you change it in a recent script update? I'll go update my scripts now to see if it changes that setting).
SuperRes settings are: passes 2, strength 0.80, sharpness 0.50, anti aliasing 1.00, and anti ringing 0.80 with use NEDI checked so those after being freshly added differ as well. (Going to update MPDN and script versions to most current now...)
Edit: after copying over the new version of MPDN and Extensions SuperRes now reads: Passes 3, Strength 0.75, Sharpness 0.50, Anti Aliasing 0.25, and Anti Ringing 0.75, so that did the trick to reset them. Sharpness still reads 0.15 in SuperChromaRes, so I'm guessing that is the default instead of 0.50 unless the default number is set to the wrong number.
Edit:
Zachs, etc: After copying the latest extensions folder from within the master folder on top of the latest version of MPDN 64-bit I get the following error message on launch. (I'll try recoping the extension folder again, but I'm not expecting different results).
TITLE: Error
------------------------------
An unexpected error 'Mpdn.CriticalException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
One or more extensions failed to load
------------------------------
e:\Program Files\MediaPlayerDotNet\Extensions\PlayerExtensions\PlayerExtension.cs(45,27): error CS0101: The namespace 'Mpdn.PlayerExtensions' already contains a definition for 'PlayerExtension'
e:\Program Files\MediaPlayerDotNet\Extensions\PlayerExtensions\PlayerExtension.cs(47,27): error CS0101: The namespace 'Mpdn.PlayerExtensions' already contains a definition for 'PlayerExtension'
e:\Program Files\MediaPlayerDotNet\Extensions\PlayerExtensions\PlayerExtension.cs(51,27): error CS0101: The namespace 'Mpdn.PlayerExtensions' already contains a definition for 'PlayerExtension'
(CSScriptLibrary)
------------------------------
BUTTONS:
&Abort
------------------------------
edit: no change after recopy. This brings up a suggestion. How about adding a way (or instructions if there is already a way) to launch in an application safe mode type state where extensions and scripts are disabled. In this launch condition all that can be done is abort, and have MPDN close. We can't get into a setting area to change possible settings. Granted people could just delete the extensions directory, and that would get them in.
Edit #2: Resolved the problem. I had to delete the old extensions directory before copying the new one over...feel like I read that before, but forgot about that step.
Shiandow
4th February 2015, 15:12
Some versions of script chain didn't load the default settings, so it might be that.
Anime Viewer
4th February 2015, 15:46
I can't think of a reason that those scripts themselves would cause problems with smooth playback, unless the increased load on the GPU is causing issues. Although for whatever reason I also haven't been able to get playback with MPDN as smooth as with MadVR.
The panning issue appears connected to the scripts/settings as I'm seeing it when SuperChromaRes and SuperRes (with NEDI enabled) are active. I wouldn't think GPU load is the issue (GPU-Z reports 9-11% load with them removed, and 44%-46% with them enabled using the Nvidia GPU). I wouldn't think that would be a high enough load to cause problems...
I'm going to try without NEDI checked, and see if that makes a difference next.
Edit: It happens without NEDI active, so NEDI doesn't appear related. I confirmed its not load related as I could run it with only SuperChromaRes running (with GPU-Z reporting 13% load), and it still had slight panning issues. However it doesn't appear to be specifically related to SuperChromaRes, as I can run with only SuperRes running by itself in the chain and it still occurs.
Edit #2: Oddly while the panning shuddering occurs every time one of those scripts is active when I'm continually dragging the progress bar back to the same area to watch a scene over and over again where there are noticeable panning problems occasional the render queue will drop to 1/12 (which of course leads to other things like dropped frames, delayed frames, etc). Odd thing is the queue doesn't always drop, and the slideshow effect during panning occurs even if the queue is 12/12. I've ruled out subtitles being related as with subtitles disabled queues still (occasionally) drop to 1/12 when repeating the same scene over and over. With the scripts disabled the queues have yet to drop that low. I've ran with just NEDI script enabled, and it doesn't seem to have the panning issue nor the queue drop issue (that I've noticed yet).
GREG1292
4th February 2015, 18:10
No problems with GTX-770 2GB with everything maxed out very smooth playback with Nvidia.
Garteal
4th February 2015, 18:34
BTW, does anyone know if there's a problem with NVIDIA drivers with regards to DirectCompute? For some reason everything seems to work fine under my Intel GPU but not on NVIDIA. I get sudden render time spikes and image glitches with NVIDIA.
Can confirm. Played a 720p video and I noticed my render time increase randomly from 6ms to 12ms. This is on a GTX970.
I don't know Zachs, I wanted to try the examples you posted, I don't know where to add them? As image processors? when I done that, MPDN Crashed upon starting a video. So I just removed it from image processor.
Do you have the latest Mpdn? Download the latest MPDN_Extensions and after you unzipped the Extensions folder to the right place (where Mpdn.exe is), unzip the Examples/RenderScripts folder (from the zip) to the Extensions/RenderScripts folder (from Mpdn).
ryrynz
4th February 2015, 23:08
One thing I have noticed in recent versions of MPDN is video and audio getting out of sync and scenes where panning scenes were slow and clippy (almost slideshow like) after playing for awhile. At first I thought it might be fluid motion related, but after disabling fluid motion and restarting the player/videos the out of sync problem still occurs.
Anyone else notice video and audio loosing sync (mouths moving, but audio not coming until later) playing videos?
Yup I noticed the de-sync and PM'd Zach about it, he's fixed it in 2.20.6.
I also mentioned the panning issue to him earlier and that problem is still there, and generally is more noticeable with fluid motion active.
Re-watching the same scene I'll find sometimes it's choppy & sometimes it's smooth, it occurs on all output modes and nothing I've changed seems to affect it in any way. My Intel HD 4000, behaves a lot better for some reason.
The panning issue appears connected to the scripts/settings as I'm seeing it when SuperChromaRes and SuperRes (with NEDI enabled) are active.
If you're experiencing the same issue I am then it's not related to the scripts at all, I set bicubic resizing on luma and chroma and it still occurs. It would seem to be a presentation issue, which I've mentioned to Zach a couple of times already.
Zachs
5th February 2015, 02:03
While I found a couple of issues that could affect smoothness in some situations, I'm not sure if it is related to what you are experiencing. Have you tried DX9Ex presenter? Using new render path instead of old / vice versa? Changing back buffer sizes?
That said, I'll be releasing a new version with the bugs I discovered. With any luck, you may find that it fixes the problem you're seeing as well!
ryrynz
5th February 2015, 02:38
While I found a couple of issues that could affect smoothness in some situations, I'm not sure if it is related to what you are experiencing. Have you tried DX9Ex presenter? Using new render path instead of old / vice versa? Changing back buffer sizes?
That said, I'll be releasing a new version with the bugs I discovered. With any luck, you may find that it fixes the problem you're seeing as well!
Yup, I tried everything. Will give .7 a shot.
Shiandow
5th February 2015, 02:52
While I found a couple of issues that could affect smoothness in some situations, I'm not sure if it is related to what you are experiencing. Have you tried DX9Ex presenter? Using new render path instead of old / vice versa? Changing back buffer sizes?
That said, I'll be releasing a new version with the bugs I discovered. With any luck, you may find that it fixes the problem you're seeing as well!
I think that did the trick :thanks:
Playback seems perfectly smooth so far using Dx9Ex in windowed mode (exclusive mode doesn't seem to make much of a difference in my case).
ryrynz
5th February 2015, 02:56
I think that did the trick :thanks:
Playback seems perfectly smooth so far using Dx9Ex in windowed mode (exclusive mode doesn't seem to make much of a difference in my case).
Agreed, I can't duplicate the same behavior anymore, have tested on all output API's and depths.
Zach could you improve windowed to FSE transitions? If I start playing back before it switches to FSE, it stutters. I'd like to see frames delivered only when they can be played back smoothly. If you need some usage examples let me know.
Real pleased to see those bugs fixed in .6 & .7, nice job!
Zachs
5th February 2015, 03:05
It's not possible to know when they can be played back smoothly - it varies from system to system (a combo of driver version, vendor, monitor/TV, etc.).
BTW, could you all help and test with GPU Priority = -7 (this is essentially the renderer priority, not the presenter which is always at max) and see if that improves fluidity further?
On my systems, I found that setting it to -7 fixes a lot of the stuttering problems. Setting it too high will always fill the render queue but starve the presenter causing dropped frames when render queue is still full).
EDIT: I should mention that this only has any effect when your GPU usage is over 75%.
EDIT2: Found a couple more bugs. One is quite critical - switching in/out of FSE mode could cause back buffer not created error. The other is minor - there's one more place I needed to detect delayed frame.
ryrynz
5th February 2015, 03:27
Still getting a stutter or two here, the largest of which happens straight after doing a seek backwards regardless of presentation mode and window mode. Will play with buffers and render priority a bit and see what happens.
Zachs
5th February 2015, 03:30
Did you get delayed/dropped frames when stutter occurs? If so then it's normal (from MPDN's viewpoint) - something external is causing the delay.
ryrynz
5th February 2015, 04:00
Did you get delayed/dropped frames when stutter occurs? If so then it's normal (from MPDN's viewpoint) - something external is causing the delay.
Nope nothing shows on the OSD.
Tried changing everything, buffers, queues, DX output modes, render priority etc and nothing changes the stuttering. I almost thought the old windowed mode had no issues as at first it seemed smoother, but I had a stutter there too, I'm just using the left and right arrows to seek.
I have two panning scenes one almost right after the other so it's fairly easy to replicate, I might cut a sample and you can take a look and see if you can't spot the problem. Sometimes it's perfect and other times you get some small stutters or a group of medium sized ones. It's definitely better now after the latest release.
Whatever it is doesn't affect MPC-BE/madVR. I think I'll check fluid motion off and have another go.
Zachs
5th February 2015, 04:04
What happens if you back up much further back and see if it still stutters?
DirectShow adjusts the reference clock by a large amount when you start playing, which will cause stuttering and it's normal - just trying to rule out that possibility.
ryrynz
5th February 2015, 04:42
DirectShow adjusts the reference clock by a large amount when you start playing, which will cause stuttering and it's normal - just trying to rule out that possibility.
I think you may have hit the nail on the head there. It only happens within some five odd seconds of having done a seek. If that stuttering is considered normal I have to wonder how MadVR seems to get around it.
At least with Smooth Motion on, it delivers consistent results.
Zachs
5th February 2015, 04:48
Can you give .8 a go and see if it makes anything worse (especially playback smoothness)?
That race condition fixed should at least see going in/out of FSE mode more stable in Dx11...
ryrynz
5th February 2015, 05:07
Can you give .8 a go and see if it makes anything worse (especially playback smoothness)?
That race condition fixed should at least see going in/out of FSE mode more stable in Dx11...
Nothing is worse, there's still some stuttering at times after seeking and also upon initial playback as well.
Thought it might be related to the network location so tried it directly off the SSD and had a similar issue.
I'll see if I can get it happening again, I didn't check if it showed delayed/dropped frames.
Changing from windowed mode to FSE is pretty awesome now.
Could be imagining it, but video seems a little bit smoother.
Zachs
5th February 2015, 05:17
Can't replicate the problem - which audio renderer are you using?
ryrynz
5th February 2015, 05:33
Can't replicate the problem - which audio renderer are you using?
I'll let you know if it happens again and I'll look into it, just using default Directsound.
Found a bug, bring up any of the filter options from the context menu and the video will pause.
Anime Viewer
5th February 2015, 05:36
It's not possible to know when they can be played back smoothly - it varies from system to system (a combo of driver version, vendor, monitor/TV, etc.).
BTW, could you all help and test with GPU Priority = -7 (this is essentially the renderer priority, not the presenter which is always at max) and see if that improves fluidity further?
On my systems, I found that setting it to -7 fixes a lot of the stuttering problems. Setting it too high will always fill the render queue but starve the presenter causing dropped frames when render queue is still full).
EDIT: I should mention that this only has any effect when your GPU usage is over 75%.
EDIT2: Found a couple more bugs. One is quite critical - switching in/out of FSE mode could cause back buffer not created error. The other is minor - there's one more place I needed to detect delayed frame.
My system seems to have the smoothest playback when I don't have scripts running. (NEDI doesn't seem to be a problem, and there may be others that work fine. I haven't done any extensive testing with most of the scripts.)
I've set GPU priority to -7, but I doubt it will make any difference since I never get above 47% usage.
I was watching a video, paused it near the end, went to my play list and clicked on the next episode/video in the playlist. First I got a report that the Nvidia driver crashed and recovered itself, and then I got a report that MPDN (.7 version) had stopped responding. I'm guessing its more related to the playlist and its connection to MPDN, but it could also be possible GPU priority maybe tied into it as well.
Zachs
5th February 2015, 06:24
GPU driver crashing will most likely crash MPDN as well since many of the DLLs it uses are directly tied to the driver.
Can you try the latest MPDN to see if it helps make playback smoother?
EDIT: I fixed a problem (workaround to be more precise) in v2.20.9 where playback seems to judder when fluid motion is enabled with render scripts being used (at least ones that shows non-negligible GPU load). This problem doesn't affect Intel GPUs. Intel seem to provide very high quality drivers these days!
Anime Viewer
5th February 2015, 15:33
Can you give .8 a go and see if it makes anything worse (especially playback smoothness)?
First I watched a video with Mpc-hc/madVR where I noticed some non-smoothness with the panning issues. Then I watched the same video in MPDN .8 (with NEDI and Fluid Motion both set *edit - CTRL+J showed that fluid motion was active watching this video*) and didn't notice any smoothness problems.
EDIT: I fixed a problem (workaround to be more precise) in v2.20.9 where playback seems to judder when fluid motion is enabled with render scripts being used (at least ones that shows non-negligible GPU load). This problem doesn't affect Intel GPUs. Intel seem to provide very high quality drivers these days!
Now that you've done that I'm re-enable the SuperChormaRes -> SuperRes and Fluid Motion combo, and watch the same video to see if I notice anything. *edit - I noticed less smoothness with this setting, but I think it maybe smoother than the previous versions with the same combination of settings. Turning off Fluid motion and leaving the Super chain in place made little if any difference. Re-enabling Fluid, removing the Supers, and adding in NEDI seemed to provide a pretty smooth playback, so my jerky playback (if no one else's) seem to in some way relate to having one or more of the Super render scripts active...
Zachs
6th February 2015, 04:29
.9 is actually a bit of an experimental build - I simply disabled v-sync to see if the problem is related to that (which it is for people with conventional GPU setup). So at least I can confirm what you're experiencing is a totally different problem - one I can't solve unfortunately as I can't replicate the problem without an Optimus laptop. In fact it would appear that different generations of Optimus hardware would have different subtle behavioural differences, but looks like most are affected by the use of SuperChromaRes/SuperRes (??)
Anyway .10 now has proper fix for those with fluid motion judder (NVIDIA / AMD card owners). Intel drivers have much better tolerances.
Blackfyre
6th February 2015, 06:51
Just a heads up, I doubt this is placebo but the latest version 2.20.10 (haven't updated for over a week), seems to have even less motion artifacts with SVP and DX11. So if anything, for me, the new implementations you made for DX11 Stability and decreasing motion judder issues with Fluid Motion have actually increased performance and decreased artifacts with SVP. Great job again with the last few updates.
Zachs
6th February 2015, 07:28
Does anyone have a sample 3dLUT file I could play with?
Anime Viewer
6th February 2015, 07:41
In fact it would appear that different generations of Optimus hardware would have different subtle behavioural differences, but looks like most are affected by the use of SuperChromaRes/SuperRes (??)
Upon further testing it appears its likely related to SuperRes as opposed to SuperChromaRes. With SuperRes render queue keeps dropping to 1/12 (using version .10 right now).
I'm going to increase the render queue to higher than 12, and see if that helps any.
Edit: Increasing the render queue does appear to have worked. With render queue set to the max 32 during testing it only seems to drop to 29 (3 points?) during panning scene testing (so far), where as having it set to 12 it dropped to 1 (11 points?) I'll leave it at this setting for awhile, and see if it continues to hold up.
Edit 2: correction render queue continues to drop to 1 again, but it seems it may only be happening after switching between Full Screen (Windowed) and Windowed (Default size). The queue only drops when SuperRes is active. None of the other scripts seem to drop the queue into the 1/0 range.
Blackfyre
6th February 2015, 10:35
Upon further testing it appears its likely related to SuperRes as opposed to SuperChromaRes. With SuperRes render queue keeps dropping to 1/12 (using version .10 right now).
I'm going to increase the render queue to higher than 12, and see if that helps any.
Edit: Increasing the render queue does appear to have worked. With render queue set to the max 32 during testing it only seems to drop to 29 (3 points?) during panning scene testing (so far), where as having it set to 12 it dropped to 1 (11 points?) I'll leave it at this setting for awhile, and see if it continues to hold up.
Edit 2: correction render queue continues to drop to 1 again, but it seems it may only be happening after switching between Full Screen (Windowed) and Windowed (Default size). The queue only drops when SuperRes is active. None of the other scripts seem to drop the queue into the 1/0 range.
+1 I can confirm this too. I assumed this was a videocard issue or driver issue. SuperRes would run fine for a while then all of a sudden drop slowly towards 1, delay a few frames (between 1 and 100) then rise back up towards set value (be it 4, 8, 12, 16, or 32).
Then I assumed it was GPU throttling. But after monitoring them with MSI Afterburner turns out it's not a throttling or over-heating issue.
GPU usage does decrease by 5% from around 80% to around 75% and increase back to 80% when the delayed frames issue occurs and when render queue goes down to 1 and rise again.
Edit: I have to mention this ONLY occurs with SVP Enabled - by default SuperRes doesn't cause a decrease to 1. It remains constant at whatever value is set. BUT there is apparent stuttering in the videos. SVP smoothes the video out but the render queue has the aforementioned issue as a result.
Zachs
6th February 2015, 12:05
When you resize the target, render queue has to be flushed. The same applies going in and out of FSE mode as well.
Blackfyre
6th February 2015, 12:13
When you resize the target, render queue has to be flushed. The same applies going in and out of FSE mode as well.
Yeah but it happens to me while in FSE mode, like once every 5 minutes or so it would slowly start dropping towards 1, hits 1, then a few delayed frames happen, then it slowly rises back up towards the set value. Then it happens again 4 or 5 minutes after. It's probably an issue caused by me, but it does happen only with SuperRes.
Zachs
6th February 2015, 12:18
I was replying to Anime Viewer's post about render queue going to 0/1 after going in / out of full screen windowed mode. When render queue gets flushed, it needs to be refilled. The slower the algo, the slower the refill is going to be, which could explain why you're seeing low render queues for a second (or did it remain there for more than that?).
As with your problem, are you sure your card wasn't throttling performance due to thermal / power draw limits?
Blackfyre
6th February 2015, 12:51
As with your problem, are you sure your card wasn't throttling performance due to thermal / power draw limits?
http://i.imgur.com/WaWHhXh.png
Have a look at the image above.
Number 2 - Memory and Core Clock Speeds - Shows that throttling isn't occurring.
Number 1 - Shows where I believe the frame delays are occurring, not 100% sure that's exactly where they occurred but I think it correlates with GPU usage. Also this shows there is headroom with the GPU, it's not being stressed to the highest level (70% to 80% GPU Usage), if I increase SuperRes frames from 1 to 4 for example, GPU usage increases to around 99%+ and delayed frames increase like crazy.
This is all of-course with SVP enabled.
Number 3 - Shows GPU Memory usage, which is around 1.4GB out of my GPU's 3.0GB.
I was wondering is there a way to increase GPU Memory Usage? and Isn't VRAM faster than RAM, I wonder if we could use it or utilize it to hold the next few frames, rather than RAM for the decoder? Or it doesn't work that way? (Just a theory).
Zachs
6th February 2015, 13:08
Not sure what the problem is then. If it only happens once every 5 minutes, chances are it's external to MPDN since it does the same thing over and over. Does the decoder queue reduce to near zero as well when that happens? Does your render time increase all of a sudden that causes the queue to drop to zero?
Blackfyre
6th February 2015, 13:44
Not sure what the problem is then. If it only happens once every 5 minutes, chances are it's external to MPDN since it does the same thing over and over. Does the decoder queue reduce to near zero as well when that happens? Does your render time increase all of a sudden that causes the queue to drop to zero?
I have to pay attention to render time, I don't recall whether or not it was increasing. But I do recall decoder queue decreasing from 60 to around 50 or 40 something simultaneously with render queue. Doesn't the decoder queue dictate how much is saved in the RAM, can we increase it to 256 like Madvr? I remember it helped with MPC+Madvr
Edit: Correction Madvr Decoder goes up to 128 not 256.
Anime Viewer
6th February 2015, 14:27
Edit: I have to mention this ONLY occurs with SVP Enabled - by default SuperRes doesn't cause a decrease to 1. It remains constant at whatever value is set. BUT there is apparent stuttering in the videos. SVP smoothes the video out but the render queue has the aforementioned issue as a result.
I don't use SVP, so it has nothing to do with SVP when it occurs on my system.
I was replying to Anime Viewer's post about render queue going to 0/1 after going in / out of full screen windowed mode. When render queue gets flushed, it needs to be refilled. The slower the algo, the slower the refill is going to be, which could explain why you're seeing low render queues for a second (or did it remain there for more than that?).
It does indeed occur for more than a second. It occurs indefinitely once it starts. There are only two ways to get it to stop. First is to close MPDN, and after reopening it things work fine again until the problem is triggered again with the Windowed switching from Full Screen (windowed) to Windowed (windowed). The other is to switch to a different, or no script however the second the script is switched backed to SuperRes it immediately drops to 0/1 on the render queue again.
I'm going to test with FSE to windowed original size switching, and see if it occurs switching from those modes as well.
Edit: When opening in FSE render queues start at around 20/32 and maintain that number unless you switch out to Windowed Mode and back to FSE (or the process bar is moved to jump to another part of the video) again at which time the Render queue now displays at a lower constant (example: 20/32, or 4/32) remaining there until the progress bar is clicked to move to another part of the video (in this case to repeat the scene), or the window/full screen mode is switched by double-clicking on the video. The constant lower than full render queue is unique to FSE, and in Windowed mode it is either at 32/32 or rapidly dropped down to 1/32. Windowed mode does not run at fill rates other than full (ex: 32/32) or empty (ex:1/32). Render speeds in FSE tend to be around 32ms when things are stable.
In fullscreen windowed mode the same scenes can play anywhere from 14-20ms. When the render queue is taxed (in the 0-1 area obviously dropped frames and render times rapidly increase to higher numbers).
These tests were done in Direct3D 11 API mode. When I changed to DX9E mode, and then closed/launched the player again I got the following error message (when switching from windowed mode to FSE. It happens regardless of whether queues are set to 60/32 or 16/12. The error message only occurs when maximizing from Windowed to FSE, and not when Windowed to Windowed Full Screen). Render times are much higher in DX9e mode (30-67ms?!?):
TITLE: Mpdn.VideoFrameServices Error
------------------------------
An unexpected error 'SharpDX.SharpDXException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
HRESULT: [0x8007000E], Module: [General], ApiCode: [E_OUTOFMEMORY/Out of memory], Message: Not enough storage is available to complete this operation.
(Mpdn.VideoFrameServices)
------------------------------
BUTTONS:
&Abort
------------------------------
Direct3D 10.1 API does not generate an error like 11 does when switching to FSE.
Edit: in Direct3D 10.1 API mode it doesn't look like you have to switch from Windowed to Full Screen (any form) to get the queues to drop from full to partial or decreasing states. Clicking back on the progress bar seems to make it occur. Some times it takes a couple repetitions for it to happen. It seems to occur sooner if you have the video running and jump to a different part of the video. If you pause the video, jump, and then resume it seems to take more repetitions for it to occur.
Milardo
6th February 2015, 22:11
Hi is fluid motion the same as what svp can do or dmitrirender? Is it limited in anyway, or is limited by gpu? IF one uses it in combination with svp or dmitrirender, does that produce a better frame interpolation look to a video?
Zachs
6th February 2015, 22:21
I have to pay attention to render time, I don't recall whether or not it was increasing. But I do recall decoder queue decreasing from 60 to around 50 or 40 something simultaneously with render queue. Doesn't the decoder queue dictate how much is saved in the RAM, can we increase it to 256 like Madvr? I remember it helped with MPC+Madvr
Edit: Correction Madvr Decoder goes up to 128 not 256.
If render time remained the same when the queue dropped then it would appear that you've run out of system memory bandwidth. That's backed up by the fact that your decide queue also dropped at the same time.
Zachs
6th February 2015, 22:25
@AnimeViewer
I have tried replicating your issue in my 560gtx but have been unsuccessful. Tried on all the systems I have access to, which covers all 3 GPU vendors, except Optimus. It does feel like an Optimus specific problem.
Zachs
6th February 2015, 22:28
Hi is fluid motion the same as what svp can do or dmitrirender? Is it limited in anyway, or is limited by gpu? IF one uses it in combination with svp or dmitrirender, does that produce a better frame interpolation look to a video?
Fluid motion is blend FRC, except it uses extremely precise timing to get the best blends. SVP does more than that but does not use precise actual refresh rate timing. They can't be used together.
Milardo
7th February 2015, 01:06
So it doesn't matter about gpu? I thought it was amd tech-amd fluid motion? Does the fluid motion present in mediaplayer.net, does it make video look like its live? like your watching a real presentation?
Zachs
7th February 2015, 01:09
MPDN fluid motion uses the GPU for blend FRC. I'm aware AMD has their own hardware implementation but this isn't related to MPDN's fluid motion.
Milardo
7th February 2015, 01:16
Ok, but what is "blend frc"? How does it impact visuals on video playback?
Zachs
7th February 2015, 01:19
It's similar to avisynth's blend mode fps conversion, except it uses precise display refresh rate instead of a constant predefined fps.
Edit: essentially you should get more fluid playback for videos that don't match you display refresh rate.
river1
7th February 2015, 01:25
MPDN fluid motion uses the GPU for blend FRC. I'm aware AMD has their own hardware implementation but this isn't related to MPDN's fluid motion.
So is it possible to use AMD fluid motion video in MPDN?
Zachs
7th February 2015, 02:42
Nope.
nekromantik
8th February 2015, 01:13
Is it normal for black levels to be better with MPDN set to output Full range RBG even if TV and LAV is set to limited?
Also render times for 720 > 2160 is higher then 480 > 2160.
That cant be right can it? More work does need to be done on a SD video to upscale to 4k then a 720P video.
Shiandow
8th February 2015, 01:21
Is it normal for black levels to be better with MPDN set to output Full range RBG even if TV and LAV is set to limited?
Also render times for 720 > 2160 is higher then 480 > 2160.
That cant be right can it? More work does need to be done on a SD video to upscale to 4k then a 720P video.
No idea about the black levels but scaling 720 -> 2160 and 480 -> 2160 takes about the same amount of work (or at least computations).
nekromantik
8th February 2015, 01:40
No idea about the black levels but scaling 720 -> 2160 and 480 -> 2160 takes about the same amount of work (or at least computations).
Any idea why there is a big render time difference?
For 480 im getting 20 - 25 render time but with 720P im getting 50 - 55.
Edit:
Im using SuperChromaRes + SuperRES NNDI 3 passes.
Zachs
8th February 2015, 01:58
When you set MPDN to display full range but not have a corresponding display, you're essentially getting blacks and whites crushed. I.e. your TV displays 16-235 but MPDN has sent it 0-255. So anything below 16 becomes black, making it appear like it had better black levels. IOW you lose some bits per channel.
LAV tv output has no effect unless it's the one converting from YUV to RGB - MPDN does it in GPU.
Shiandow
8th February 2015, 02:03
Any idea why there is a big render time difference?
For 480 im getting 20 - 25 render time but with 720P im getting 50 - 55.
Edit:
Im using SuperChromaRes + SuperRES NNDI 3 passes.
Well chroma scaling would take up some time. But the biggest difference is probably with SuperRes (which behaves differently from other scaling algorithms). One of the more recent changes makes it such that rendering with large scaling factors is done in multiple steps, I think 720p -> 2160p is done in 3 steps but 480p -> 2160p is done in about 4, anyway the result of this is that the processing for 480p -> 2160p is done at a lower resolution. This might seem like a disadvantage but it's actually necessary since SuperRes doesn't work well when you scale too much in one go. It's also faster, as you've noticed. With the old version of SuperRes scaling 480p -> 2160p might take up much longer, even longer than 720p -> 2160p currently does.
@all:
The newest MPDN Extensions include a small change to the default settings for debanding, the value of "margin" is changed from 1.00 to 0.25, this value will be used from now on unless you've enabled the advanced settings. This change should preserve more detail while (hopefully) still removing all banding. Feedback on this setting would be appreciated; I'm not 100% sure if this is the lowest possible setting that still removes all banding, or if this new value is already too low. If you think it's too low do keep in mind that the "Debanding" is only supposed to remove banding, not blocking or noise, you're free to use it for that purpose but those kind of settings aren't useful as a default.
nekromantik
8th February 2015, 02:20
Thanks guys.
@Zachs if I select limited in MPDN and have limited set on my TV I still get the blacks that turn grey issue. Is this a problem with the TV?
Zachs
8th February 2015, 02:31
If that's the case your graphics card drivers may be doing the conversion to limited range before sending it out. There's a registry hack to disable that.
Otherwise you could just use full range and have the driver convert it back to limited range again.
nekromantik
8th February 2015, 02:46
If that's the case your graphics card drivers may be doing the conversion to limited range before sending it out. There's a registry hack to disable that.
Otherwise you could just use full range and have the driver convert it back to limited range again.
OK thanks
Anima123
8th February 2015, 06:47
Shiandow, does deband has different behavior for different video resolutions?
When I played 576p files with deband -> SuperRes chain, there's no problem at all, no rendering time increasing, however, when playing a lower resolution file 640x480, the same render chain will causes the familiar rendering time increasing, at least to me.
The nVidia driver is the latest, setting to prefer performance.
Edit: BTW, I already set the NoIntermediates to True.
Zachs
8th February 2015, 10:55
Finally managed to have a play with an Optimus 750m system today (at a friend's place). Surely nVidia must've tested the product before they sold it!? Within 5 minutes, I found so many bugs with the driver that got me absolutely gobsmacked. There's even a setup that causes it to think it's running perfectly fine when in reality it's playing video as slide show (not more than 1 fps)! It sounds great in theory, until you get into the nitty gritty of what is really needed to make it work (i.e. it's nigh impossible for nVidia to get it fully working). If anyone's looking to buy a new laptop, my advise is avoid Optimus like the plague!
TheBean
8th February 2015, 11:31
Just signed up to say thanks for MPDN, it's great and will probably be my primary video player now.
There's a lot of customization available with the renderscripts so I'm a bit confused -- what settings have people found that the best IQ?
The content I primarily watch is live action (no anime), 720p with a pretty decent bitrate (usually x264 @ 4000kb/s+). I've been using VLC for the past couple of years with a small amount of film grain + sharpen and full debanding and this has given me pretty good IQ.
Thanks again.
Zachs
8th February 2015, 11:46
Depends on whether your GPU is fast enough but the following would give you very good IQ for upscaling.
SuperChromaRes
Debanding
SuperRes (NEDI enabled)
SuperRes is sharp enough so I wouldn't think you'd need more sharpening, but if you do, you could always throw an ImageProcessor with LumaSharpen (or fine sharp) in there after SuperRes.
Cheers.
Blackfyre
8th February 2015, 14:33
Depends on whether your GPU is fast enough but the following would give you very good IQ for upscaling.
SuperChromaRes
Debanding
SuperRes (NEDI enabled)
SuperRes is sharp enough so I wouldn't think you'd need more sharpening, but if you do, you could always throw an ImageProcessor with LumaSharpen (or fine sharp) in there after SuperRes.
Cheers.
That depends on SVP also... If you're using SVP I'd assume it'll be very difficult to do that:
SuperChromaRes
Debanding
SuperRes (Nedi Enabled)
For example for me I do source multiplied by 4x, so if you're doing the above you're actually doing:
SuperChromaRes
Debanding
SuperRes (Nedi Enabled)
SuperChromaRes
Debanding
SuperRes (Nedi Enabled)
SuperChromaRes
Debanding
SuperRes (Nedi Enabled)
SuperChromaRes
Debanding
SuperRes (Nedi Enabled)
So I realized that's the reason why I can't handle it on my 7970. SuperChromaRes-->Debanding-->SuperRes is fine, if I'm doing them alone. But with SVP 4x Every Frame, everything is multiplied by four. But this needs to be explained...
Even though your GPU is working 4 times as much with SVP, it doesn't mean sharpening is being applied four times to the same frame, so if you have luma sharpen, it doesn't multiply by four when you run SVP@4x. But it's applying luma sharpen for every "fake" or extra frame it's making (thus multiplying gpu usage by 4x or thereof)... For example with Luma Sharpen alone GPU usage goes from 15% to 60% after enabling SVP@4xEveryFrame with my HD7970.
Shiandow
8th February 2015, 15:47
Shiandow, does deband has different behavior for different video resolutions?
When I played 576p files with deband -> SuperRes chain, there's no problem at all, no rendering time increasing, however, when playing a lower resolution file 640x480, the same render chain will causes the familiar rendering time increasing, at least to me.
The nVidia driver is the latest, setting to prefer performance.
Edit: BTW, I already set the NoIntermediates to True.
Deband doesn't really treat different resolutions differently, it just allocates differently sized textures. For 480p it should allocate smaller textures so I don't see why this would create a problem.
shaolin95
8th February 2015, 16:57
Depends on whether your GPU is fast enough but the following would give you very good IQ for upscaling.
SuperChromaRes
Debanding
SuperRes (NEDI enabled)
SuperRes is sharp enough so I wouldn't think you'd need more sharpening, but if you do, you could always throw an ImageProcessor with LumaSharpen (or fine sharp) in there after SuperRes.
Cheers.
To clarify, SuperREs (NEDI) does not kick in if you are doing 1080P bluray not scaling to anything, correct?
And Currently I am using SuperChroma Res, Debanding then LumaSharpen (tweaked to reduce the effect) and it looks great so your recommendation made me happy! :D
Blackfyre
8th February 2015, 17:09
To clarify, SuperREs (NEDI) does not kick in if you are doing 1080P bluray not scaling to anything, correct?
And Currently I am using SuperChroma Res, Debanding then LumaSharpen (tweaked to reduce the effect) and it looks great so your recommendation made me happy! :D
I scale up to 2560x1440, so I can't use SuperRes, it's too stressful in combination with SVP and my GPU (HD7970) can't handle it. So I use
SuperChromaRes (2 Frames)
Debanding (8 Bits)
FineSharp v1.11
+ SVP running @ 4 times source framerate:
Thus
24fps --> 96fps
25fps --> 100fps
30fps --> 120fps
60fps videos I turn off SVP which becomes redundant unless I get a 120Hz monitor and do 2x Source and run it at 120FPS.
Anima123
8th February 2015, 17:41
Finally managed to have a play with an Optimus 750m system today (at a friend's place). Surely nVidia must've tested the product before they sold it!? Within 5 minutes, I found so many bugs with the driver that got me absolutely gobsmacked. There's even a setup that causes it to think it's running perfectly fine when in reality it's playing video as slide show (not more than 1 fps)! It sounds great in theory, until you get into the nitty gritty of what is really needed to make it work (i.e. it's nigh impossible for nVidia to get it fully working). If anyone's looking to buy a new laptop, my advise is avoid Optimus like the plague!
Wish I knew before I bought this new laptop.
nekromantik
8th February 2015, 18:04
There are not many laptops without Optimus these days.
Mac's dont have optimus though.
Zachs
8th February 2015, 21:26
To clarify, SuperREs (NEDI) does not kick in if you are doing 1080P bluray not scaling to anything, correct?
And Currently I am using SuperChroma Res, Debanding then LumaSharpen (tweaked to reduce the effect) and it looks great so your recommendation made me happy! :D
That's correct.
ryrynz
8th February 2015, 23:53
Within 5 minutes, I found so many bugs with the driver that got me absolutely gobsmacked.
Hope you're submitting the bugs found to Nvidia, can't fix what they don't know is broke.
Zachs
9th February 2015, 00:05
Understanding the various technologies involved in making Optimus work, I can't imagine them being able to 'fix' it though. It's going to be a testing nightmare for them too seeing how reliant it is on Intel GPU drivers. Different versions of Nvidia / Intel driver combo yield different bugs.
From experience, it's hard enough to get just one driver to behave properly, let alone two from different companies who may or may not like each other.
Anime Viewer
9th February 2015, 02:10
Finally managed to have a play with an Optimus 750m system today (at a friend's place). Surely nVidia must've tested the product before they sold it!? Within 5 minutes, I found so many bugs with the driver that got me absolutely gobsmacked. There's even a setup that causes it to think it's running perfectly fine when in reality it's playing video as slide show (not more than 1 fps)! It sounds great in theory, until you get into the nitty gritty of what is really needed to make it work (i.e. it's nigh impossible for nVidia to get it fully working). If anyone's looking to buy a new laptop, my advise is avoid Optimus like the plague!
Question is: Did the experience give you any clues to working around some of the Optimus issues you saw, or did you find any setting changes that you'd recommend to Optimus users to get the best experience they can out of MPDN?
@AnimeViewer
I have tried replicating your issue in my 560gtx but have been unsuccessful. Tried on all the systems I have access to, which covers all 3 GPU vendors, except Optimus. It does feel like an Optimus specific problem.
Before reading your recent post I had planned to report my Nvidia/Intel settings, and see if you had any recommendations for settings to be altered in configuration/use with MPDN. I still think that's worth a look as some of the default settings, or options people may have elected to set on their systems may not be the best settings for the MPDN program. Its also a good starting point when trying to replicate issues.
Before I post the driver/Windows settings I'm using here is the combination of settings I'm using in MPDN:
DirectShow:
Subtitle: Load Subtitles checked, Subtitle Provider: XySubFilter (version 3.1.0.705), Reduce XySubFilter subtitles aliasing checked
Video Render:
General: Decoder Queue: 60 slots, Render Queue: 32 slots (normally I would run at the default settings, but I've been using these settings to test the render queue drain and see if more slots eliminated the problem or reduced the frequency of occurrence.
Presentation: Presentation API: Direct3D 10.1 (Previously I used Direct3D 11. After the recent tests 10.1 seems to have less problems than both 11 and 9Ex, so that is what I'm using right now). Graphics Adapter ID*: 0 (1 is also an option). Back Buffer Sizes: 16 (for both)
Composition: Automatic, Full, 10-bit
Render Script:
Script Chain: SuperChromRes (I may remove this since I'm no longer using SuperRes with it) -> Deband -> NEDI in that order. In the past (until I encountered the panning smoothness bug) I used SuperChromaRes -> SuperRes, but since since SuperRes seems to be related to the issue I've substituted NEDI for the time being.
Dithering: Ordered dithering
Fluid Motion: All boxes checked (but I'm still not sure about this - since a few people have reported smoother playback with Fluid Motion unchecked)
All scalers: set to Jinc 12 Taps, all with Activate anti-ringing filter unchecked.
Nvidia control panel Manage 3D settings settings set for the MPDN program:
preferred graphics processor: High-performanace NVIDIA processor
Anisotropic filtering: Use global setting (Application-controlled)
Antialiasing - FXAA: Use global setting (Off) (*experimented with forcing On)
Antialiasing - Gamma correction: Use global setting (On)
Antialiasing - Mode: Use global setting (Application-controlled)
Antialiasing - Transparency: Use global setting (Off)
CUDA - GPUs: Use global setting (All)
Maximum pre-rendered frames: Use global setting (Use the 3D application setting)
Mutli-display/mixed-GPU acceleration: Use global setting (Multiple display performance mode)
Power management mode: Use global setting (Adaptive)
Shader Cache: Use global setting (On)
Texture filtering - Anisotropic sample optimization: Use global setting (Off)
Texture filtering - Negative LOD bias: Use global setting (Allow)
Texture filtering - Quality: Use global setting (Quality)
Texture filtering - Trilinear optimization: Use global setting (On)
Threaded optimization: Use global setting (Auto)
Triple buffering: On (this is the only thing I normally force on for applications as it provides improvement for any programs that turn Vertical sync on, and it doesn't hurt to have it on when Vsync isn't being used)
Vertical sync: Use global setting (Use the 3D application settings) (I tried with this forced to Off after the recent post about that working well on non-Optimus Nvidia GPU, but I do not see a change with it forced off).
Virtual Reality pre-rendered frames: Use global setting (1)
PhysX processor: Auto-select (recommended) (I can never understand why that is the recommended settings as I'd think the GeForce GTX 680M physX processor should always be superior to the Intel CPU).
Intel settings:
Display:
Built in display: Display Settings: Advanced: (doesn't supported advanced, so no setting are set here)
Digital Television LG TV : Display Settings: Advanced: IT Content: Enabled (thinking about setting this to disabled since I never view my work on the TV display, and only use it when watching videos).
3D:
Application Optimal Mode: Enabled
General settings: Custom Settings:
Anti-Aliasing: Use Application Settings
Anisotropic Filtering: Application Settings
Vertical Sync: Driver Settings (debating changing this to Application Settings in case the driver settings might be over riding what is set in MPDN).
Video:
Basic:
Standard Color Correction: Application Settings
Input Range: Application Settings
Advanced:
Total Color Correction: Disabled
Power: Plugged In:
Graphics Power Plans:
Maximum Performance
In general I think choosing application settings when given the choice in Windows/Nvidia/Intel settings areas is usually the best as it minimizes the chance of the driver interfering or instituting bugs that may exist at the driver level.
Any thing you'd recommend changing from the above settings?
Zachs
9th February 2015, 02:57
The problem with Optimus is that it is too reliant on the various driver and hardware combo (nvidia GPU + intel GPU + nvidia driver + intel driver). We found that with certain drivers on the laptop I tested with, DX11 was unusable - everything gets played as slide show, regardless of what settings you use for MPDN. The permutation of hardware/driver for both nvidia and intel is massive and there's not a lot of correlation among them. This is why I said it's nigh impossible for nvidia to properly fix it, especially when they aren't in control of intel drivers.
Zachs
9th February 2015, 04:25
v2.21.0 has been released.
This adds RenderScript 3D texture support API. Using this new API, it is now possible to add 3DLUT support to MPDN.
In fact, I have added an example 3DLUT RenderScript (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Example.Lut3D.cs) to MPDN Extensions on GitHub (under Examples folder). This example does basic linear color swap (r ==> b, g ==> r, b ==> g) with values generated in the script itself. Again, not quite what you'd want to use for your daily playback but it does demonstrate a working 3DLUT.
With an open source implementation, anyone can add any 3dlut file format they need. That said, I'm looking to kick it off with support of a 3dlut format - does anyone have any preference? If so, point me to the format specs and I'll give it a go.
Lastly, if you use 3DLUT to calibrate the output you should also use deepcolor output for best image quality, so make sure you enable 10-bit or 16-bit output.
p.s. I don't have much experience in the actual usage of 3dlut, so if anyone could explain the following to me I'd appreciate it.
Do we need to have a different 3dlut for each input colorimetric (e.g. bt609/709/2020)?
Do we need to convert the pre-3dlut image to linear colour space before applying 3dlut?
I've read articles that say 65x65x65 LUT is more than enough for professional grade colour correction, why is madVR using 256x256x256?
My current thinking is 3dlut should only get applied at the end of render script chain (after resize / post processing), is that correct?
Blackfyre
9th February 2015, 19:05
For those of you with the older Intel CPU's... Sandy Bridge.
Key issues resolved with this driver:
VIDEO
Resolved content protection related issues when upgrading to Windows 8.1.
Resolved error, "Display driver stopped responding and has recovered", seen after closing and re-opening the laptop lid while playing video.
GAMES
CyberCIEGE* game: Some textures and objects are no longer missing.
Quake 4* game: Display no longer blanks during gameplay.
OTHER
3D screensaver such as “3D Text” no longer hangs after running for a long time.
Resolved error, “Display driver stopped responding and has recovered”, seen after unplugging a D-sub cable from a miniDisplayPort-VGA dongle while playing video.
Mouse cursor no longer disappears after the laptop lid is set to Sleep when closed, system restarted, then lid is opened.
Resolved no HDMI display (connected via a dock) seen when attempting to set Extended Display configuration.
Resolved issue where the Operating System Information in the Intel® Graphics Control Panel does not match the installed Operating System’s version.
Resolved issue where secondary display is inactive after changing the display resolution and refresh rate in Extended Display configuration.
Purpose This software driver package will install the Intel® HD Graphics Driver for:
2nd Generation Intel Core i3 Processor
2nd Generation Intel Core i5 Processor
2nd Generation Intel Core i5 vPro™ Processor
2nd Generation Intel Core i7 Processor
2nd Generation Intel Core i7 vPro™ Processor
Intel® Pentium Processor 900/B900/G600/G800 Series
Intel® Celeron Processor 700/800/B700/B800/G400/G500 Series
These drivers will not function with any other product. View the README file for installation information and the RELEASE NOTES for driver version details. This driver package contains version 15.28.23.4101 (9.17.10.4101) for Windows 7/8/8.1*.
See release notes for addition information on issues resolved and supported features.
http://www.guru3d.com/files-details/intel-hd-graphics-9-17-10-4101-driver-download.html
Asmodian
9th February 2015, 21:07
v2.21.0 has been released.
This adds RenderScript 3D texture support API. Using this new API, it is now possible to add 3DLUT support to MPDN.
Nice work!
With an open source implementation, anyone can add any 3dlut file format they need. That said, I'm looking to kick it off with support of a 3dlut format - does anyone have any preference? If so, point me to the format specs and I'll give it a go.
I strongly suggest the madVR 3DLUT format, it has already been implemented in a few major calibration packages such as Calman and Argyll. Argyll is open source (http://www.argyllcms.com/downloadsrc.html) so maybe it would be possible to understand its format from there?
Do we need to have a different 3dlut for each input colorimetric (e.g. bt609/709/2020)?
Need? No, but sometimes you want it.
Do we need to convert the pre-3dlut image to linear colour space before applying 3dlut?
This would depend on the LUT but I do not think so for madVR 3DLUTs.
I've read articles that say 65x65x65 LUT is more than enough for professional grade colour correction, why is madVR using 256x256x256?
I believe it is so you can simply use the LUT as a LUT, every possible input can be looked up without interpolation by madVR.
My current thinking is 3dlut should only get applied at the end of render script chain (after resize / post processing), is that correct?
Yes, that is correct.
Anima123
9th February 2015, 23:18
Quick seek a video file multiple times, MPDN may crash. As comparison, mpc-hc wouldn't crash on fast seek.
My best guess is that crash most like there's a problem in re-initialization of a queue after seek to a new position. Could the developers take a look at it?
Edit: To be more precise, it happened when seek to other position when the queues (don't know which, most likely the decoder queue?) are not ready yet.
Zachs
10th February 2015, 01:01
Quick seek a video file multiple times, MPDN may crash. As comparison, mpc-hc wouldn't crash on fast seek.
My best guess is that crash most like there's a problem in re-initialization of a queue after seek to a new position. Could the developers take a look at it?
Edit: To be more precise, it happened when seek to other position when the queues (don't know which, most likely the decoder queue?) are not ready yet.
What kind of crash is it?
Zachs
10th February 2015, 01:13
I strongly suggest the madVR 3DLUT format, it has already been implemented in a few major calibration packages such as Calman and Argyll. Argyll is open source (http://www.argyllcms.com/downloadsrc.html) so maybe it would be possible to understand its format from there?
<snip>
:thanks:
Sounds easy enough - that's exactly what the example render script does, except it doesn't load the values from a 3dlut file. Using a different 3dlut for each colorimetric is very easily implemented as well since the render script API already provides all the necessary info.
That said, I'll take a look at the argyllcms source to see if I can work out the file format.
nevcairiel
10th February 2015, 01:45
The madVR 3DLUT format is documented here:
http://sourceforge.net/projects/thr3dlut/files/doc/
Zachs
10th February 2015, 02:25
The madVR 3DLUT format is documented here:
http://sourceforge.net/projects/thr3dlut/files/doc/
Wow thanks! That'd save me a lot of time!
Zachs
10th February 2015, 05:11
Hi everyone,
I have tweaked the presentation algorithm further in v2.21.1 builds 2969, 2970 & 2971.
Can you test on your systems using Direct3D9 presenter only to see if it improves fluidity for fluid motion (state whether you're running windowed/exclusive, low/high GPU load (percentage), AMD/NVIDIA/Intel etc.) vs v2.21.0? Also which is better among the test builds?
In particular, I want to know if it makes anything worse in cases where there are no dropped / delayed frames / glitches reported. Make sure you wait until the display refresh rate (as seen in Ctrl+J screen) settles down before you do any testing.
Grab the test builds here (http://www.zachsaw.com/downloads/mpdn_test/).
Cheers.
Anime Viewer
10th February 2015, 06:06
Hi everyone,
I have tweaked the presentation algorithm further in v2.21.1.
Can you test on your systems using Direct3D9 presenter only to see if it improves fluidity for fluid motion (state whether you're running windowed/exclusive, low/high GPU load (percentage), AMD/NVIDIA/Intel etc.) vs v2.21.0?
In particular, I want to know if it makes anything worse in cases where there are no dropped / delayed frames / glitches reported. Make sure you wait until the display refresh rate (as seen in Ctrl+J screen) settles down before you do any testing.
Grab the test builds here (http://www.zachsaw.com/downloads/mpdn_test/).
Cheers.
I downloaded the AnyCPU build (which I've never used before, so it gave me completely fresh default settings). In its default settings things seemed to work fine, but the second I added in SuperRes script (in a chain that was SuperResChroma->Deband -> SuperRes) it immediately tanked with render queue dropping to 1/12, tons of dropped frames (no doubt caused by the queue), tons of delayed frames (no doubt caused by the queue), and high render times (77ms - again probably because of the queue going down). As you know my system is Optimus with Nvidia forced normally (however that was with it using the default Intel - since I hadn't added it to Nvidia control panel and forced the Nvidia GPU). When I forced the Nvidia GPU those same settings ran fine with 20-24ms render times. So far, so good it appears...I'll continue testing and see if the usual render queue drop when jumping to different parts of the video occurs.
For further reference it was a 848x480 video I had expanded to 1920x1080 Windowed full screen mode.
Edit: Repeating the same 1 minute scene over and over again by jumping back along the progress bar the render times continually increase until eventually dropped and delayed frames continually occur and render times are in the mid-30s. They might continue to go higher, but I stopped at that point. I'm not sure if the same occurs with the non-test previous build, but I'll do some testing to see.
Edit 2: Render time increases occur in the pretest build too, but take many more repetitions to appear. Other setting differences between the 64-bit pretest build and AnyCPU test build may be factors in the amount of repetitions it takes for dropped/delayed frames to occur, render queue to drop, and buildup rate of ms with each repeat.
Zachs
10th February 2015, 06:17
... and high render times (77ms - again probably because of the queue going down)
Actually it's the other way around - high render times causes queue to deplete.
Edit: Repeating the same 1 minute scene over and over again by jumping back along the progress bar the render times continually increase until eventually dropped and delayed frames continually occur and render times are in the mid-30s. They might continue to go higher, but I stopped at that point. I'm not sure if the same occurs with the non-test previous build, but I'll do some testing to see.
This might be the same Optimus bug Anima123 has encountered and that no one else seemed to be able to replicate. So for now, it would be good to side step this issue to concentrate on the intent of the test builds first.
Anima123
10th February 2015, 09:29
Hi everyone,
I have tweaked the presentation algorithm further in v2.21.1 builds 2969, 2970 & 2971.
Can you test on your systems using Direct3D9 presenter only to see if it improves fluidity for fluid motion (state whether you're running windowed/exclusive, low/high GPU load (percentage), AMD/NVIDIA/Intel etc.) vs v2.21.0? Also which is better among the test builds?
In particular, I want to know if it makes anything worse in cases where there are no dropped / delayed frames / glitches reported. Make sure you wait until the display refresh rate (as seen in Ctrl+J screen) settles down before you do any testing.
Grab the test builds here (http://www.zachsaw.com/downloads/mpdn_test/).
Cheers.
2969 works the best for me, almost no stutter. I am using full screen exclusive mode, with nVidia Optimus, with SuperRes, mild GPU usage, less than 40%. Also tried the other test versions, none can get comparative smoothness.
Anime Viewer
10th February 2015, 14:40
2969 works the best for me, almost no stutter.
Odd, that is the one I tested that had problems as soon as I set SuperRes. I haven't tried the other two builds, but I'll give them a try later.
Zachs
10th February 2015, 15:27
Intel GPU isn't fast enough for SuperRes. It has nothing to do with build.
Zachs
10th February 2015, 15:30
2969 works the best for me, almost no stutter. I am using full screen exclusive mode, with nVidia Optimus, with SuperRes, mild GPU usage, less than 40%. Also tried the other test versions, none can get comparative smoothness.
So far on all the non Optimus systems I have tested (all three vendors), 2971 is the smoothest in both FSE and windowed modes.
I'd appreciate if those with a more traditional setup could post their findings as well.
GREG1292
10th February 2015, 16:10
Zach ran the test build last night and was floored by the
improvements on my GTX-770. Everything seemed to work and the image was like looking through a picture window.
For me this build is exactly what my projector needed!
I wanted to add I am using Windows 10 latest preview.
Thanks
Anime Viewer
10th February 2015, 22:11
Intel GPU isn't fast enough for SuperRes. It has nothing to do with build.
I don't think I was fully awake when I made that post this morning. Otherwise I should have been able to rationalize that I had posted earlier about how the SuperRes instant playback problem was related to the Intel gpu being used instead of the Nvidia, and that the only Nvidia SuperRes problem is the playback jump issue.
So far on all the non Optimus systems I have tested (all three vendors), 2971 is the smoothest in both FSE and windowed modes.
2969 works the best for me, almost no stutter. I am using full screen exclusive mode, with nVidia Optimus, with SuperRes, mild GPU usage, less than 40%. Also tried the other test versions, none can get comparative smoothness.
Its difficult for me to tell if any one of the three works better for panning scenes in my test. When Fluid Motion is active for all three they all seemed to have some brief hiccup in panning during my test. With Fluid motion inactive/disabled it appeared that 2969 may have been slightly smoother (less hiccups) in my panning scene tests.
ryrynz
10th February 2015, 22:50
2969 works the best for me, almost no stutter.
69 seems better than 68 (2.21.0) to me. Comparing a rolling credits scene against MadVR, MPDN still has a ways to go with MadVR being completely smooth on my 750 Ti. On the Intel HD 4000 things are a lot closer, MadVR still winning by a hair, nowhere near the margin it does on the 750. Having a hard time seeing any differences between 69 & 70 on the Intel and I've noticed 71 is out so will give that a shot too.
Zachs
10th February 2015, 23:12
I'd appreciate it if you all could indicate whether it is in windowed or full screen exclusive mode you're testing. They have different code paths so I need to know the specifics.
Garteal
10th February 2015, 23:49
Some playlist extension requests.
I have pushed and implemented pretty much everything except for the docking. Go ahead and grab the latest MPDN_Extensions and test it and report if you're having issues or suggestions.
I have tweaked the presentation algorithm further in v2.21.1 builds 2969, 2970 & 2971.
Tested all test builds and all of them definitely look smoother than v2.21.0, none of (the test builds) them looks different than the other though to me. This is with FSE, getting around 30% GPU usage on a GTX970.
Video played back was 720x480(24fps) -> 1080p with SuperChroma -> Deband -> SuperRes (+NEDI enabled).
ryrynz
11th February 2015, 00:44
Are builds 69, 70 and 71 different tweaks? Or do they build upon each other?
Zachs
11th February 2015, 00:57
They're all different tweaks.
Zachs
11th February 2015, 06:01
Just a heads up. v2.21.1 is now properly released with code paths taken from build 2969.
ryrynz
11th February 2015, 09:53
I have pushed and implemented pretty much everything except for the docking.
I love it. Would be nice to have a settings cog icon to access the options, just cos going into the extension options feels a bit out of the way. I almost want it to be built in to MPDN rather than an extension..
I've found that ticking 'remember previous played file' is actually automatically making that file be played on start up. I guess that could be another option you could add.. I'd also like to see the ability for the playlist to be visible on start up too, thanks!
Just a heads up. v2.21.1 is now properly released with code paths taken from build 2969.
I could be wrong, but I think it's perfect now. I've never seen video delivered more smoothly, no stutters at all that I can see related to MPDN. MadVR has never been able to achieve that on my 750 Ti without Smooth Motion enabled, and although that works well enough it does add it's own jumpy artifacts visible with scrolling text (Fluid Motion that also.) As a result of having frames delivered so well I can now disable Fluid Motion and use the TVs own FRC instead which now gives me the feeling of watching true 60 fps content from just a 24 fps source, simply the best viewing experience I've had to date on PC.
Now if only it had NNEDI..
Zachs
11th February 2015, 10:46
Thanks ryrynz! You've been a great help in testing and reporting bugs! A software development team is never complete without its testers!
Zachs
11th February 2015, 10:50
Zach ran the test build last night and was floored by the
improvements on my GTX-770. Everything seemed to work and the image was like looking through a picture window.
For me this build is exactly what my projector needed!
I wanted to add I am using Windows 10 latest preview.
Thanks
Was that build 2969?
Blackfyre
12th February 2015, 00:45
Hi everyone,
I have tweaked the presentation algorithm further in v2.21.1 builds 2969, 2970 & 2971.
Can you test on your systems using Direct3D9 presenter only to see if it improves fluidity for fluid motion (state whether you're running windowed/exclusive, low/high GPU load (percentage), AMD/NVIDIA/Intel etc.) vs v2.21.0? Also which is better among the test builds?
Downloaded them yesterday when you posted the link all 3 builds, just done some testing today.
Direct 3D9 Presenter was used, upscaling from 1080p to 1440p, no full-screen-exclusive mode, as for some reason under DX9 when I go full-screen mode my picture freezes and sound keeps going (full-screen exclusive mode works with DX10.1 & 11 just fine)... so just full-screen but not exclusive mode is being used...
Under versions 69, 70, and 71... on my 7970... ALL 3 versions were tested under the same video, for the first 2 minutes and a half... GPU usage is exactly the same at 17% across all 3 versions, GPU Memory usage is also identical across all 3 versions... The only difference was perhaps in the CPU Usage across the 8 CPU cores, barely noticeable difference *(within 1 percentile)* between the 3 versions.
4790K (Hyper-Threading Enabled) running @ 4.2Ghz.
Zachs
12th February 2015, 00:51
A little late to the party - I've already released 2.21.2 based on build 2969 :)
EDIT: BTW, the test builds were meant to test smoothness of playback with and without fluid motion (without SVP). Did you notice any difference between the builds and vs the proper releases?
Blackfyre
12th February 2015, 02:36
A little late to the party - I've already released 2.21.2 based on build 2969 :)
EDIT: BTW, the test builds were meant to test smoothness of playback with and without fluid motion (without SVP). Did you notice any difference between the builds and vs the proper releases?
Always late to the party :( haha
The stats I provided above are all without SVP (thought you might be interested in them). With Fluid Motion enabled, 69 does "appear" to be smoother than 70 and 71 but this could very well be placebo because I have read the comments and I am assuming prior to doing the tests that 69 is the best version.
ryrynz
12th February 2015, 03:13
I love it. Would be nice to have a settings cog icon to access the options
I've found that ticking 'remember previous played file' is actually automatically making that file be played on start up. I guess that could be another option you could add.. I'd also like to see the ability for the playlist to be visible on start up too, thanks!
Nice to see these added so quickly. Is there any chance the settings icon could strip a couple of cogs? Six would be more fitting with the icon being that size.. But it's up to you.. :)
Oh and please sort the options list alphabetically. :3 'Autoplay' could be renamed to 'Automatically play on startup' it would then match the length of the other options and just sound cooler.
Is it possible to have the playlist background match MPDN's off white context menu? (253,253,253)
Hey Zach, if 'Remember previous played file' is ticked could MPDN then make the Play button active? Cheers!
Zachs
12th February 2015, 04:23
Is it possible to have the playlist background match MPDN's off white context menu? (253,253,253)
Hey Zach, if 'Remember previous played file' is ticked could MPDN then make the Play button active? Cheers!
I wouldn't set the background colour to a specific one as they default to your windows colour scheme. The context menu colour be completely different on different machines / OSes.
Making play button active could be done by calling PlayerControl.OpenMedia() followed by PlayerControl.Pause() and PlayerControl.SeekMedia(0). This essentially loads the media file making it ready for immediate playback once user clicks the Play button, which is a bonus in my opinion.
mrcorbo
12th February 2015, 06:25
There's been some nice progress on the player lately.
I like the new playlist in it's current form quite a bit. I did encounter one small issue with the auto-add of the currently playing item to the playlist, though.
When using the MouseControl extension the forward back behavior is determined by (in order) the presence of chapters in the currently playing file, the presence of multiple items in the playlist and finally the presence of multiple files in the folder of the currently playing file. The issue is: if I play a file in a folder with auto-add to playlist active and then advance to the next file in the folder it adds this file to the playlist creating a multi-file playlist and locking the forward back behavior to navigating the playlist instead of continuing to allow folder navigation.
Would it make sense to, specifically when there is only one item in the playlist, replace the existing playlist item with the newly played item instead of adding to it?
ryrynz
12th February 2015, 07:49
Related to mrcorobo's post above, file -> open and file -> quick open should start a new playlist.
Within MPDN adding file -> 'Add file to playlist' I think would be great for someone not wanting the playlist window open.
A couple more playlist requests, add next file in folder automatically would be great and also when MPDN is resized the playlist is resized automatically with it. Thanks.
Garteal
12th February 2015, 14:21
Looks like I have a lot to do lol.
Nice to see these added so quickly. Is there any chance the settings icon could strip a couple of cogs? Six would be more fitting with the icon being that size.. But it's up to you.. :)
Heh, you´re right. Didn´t pay too much attention to the details. If anyone wants to do it feel free to and PM me it so I can switch it up when I get home.
Oh and please sort the options list alphabetically. :3
Will do!
'Autoplay' could be renamed to 'Automatically play on startup' it would then match the length of the other options and just sound cooler.
¨Automatically play file on startup¨, maybe a bit more descriptive? Was just a temporary name, so will definitely change it.
Is it possible to have the playlist background match MPDN's off white context menu? (253,253,253)
I´ll see what I can do.
Hey Zach, if 'Remember previous played file' is ticked could MPDN then make the Play button active? Cheers!
Hmm must´ve slipped by, I´ll take a look at this!
When using the MouseControl extension the forward back behavior is determined by (in order) the presence of chapters in the currently playing file, the presence of multiple items in the playlist and finally the presence of multiple files in the folder of the currently playing file. The issue is: if I play a file in a folder with auto-add to playlist active and then advance to the next file in the folder it adds this file to the playlist creating a multi-file playlist and locking the forward back behavior to navigating the playlist instead of continuing to allow folder navigation.
Seems like it works as intended at the moment. What is focused when you try to go forward and backwards when you say it is ¨locked¨? The playlist is on-top of the player, so make sure the player has focus.
Would it make sense to, specifically when there is only one item in the playlist, replace the existing playlist item with the newly played item instead of adding to it?
I don´t know. Wouldn´t that defeat the purpose of the option?
Related to mrcorobo's post above, file -> open and file -> quick open should start a new playlist.
So those options shouldn´t add to the playlist, just start a new one?
WIthin MPDN adding file -> 'Add file to playlist' I think would be great for someone not wanting the playlist window open.
A separate option in the menu then. Hmm...
A couple more playlist requests, add next file in folder automatically would be great and also when MPDN is resized the playlist is resized automatically with it. Thanks.
So when you add a file to the playlist, it should automatically grab all files from the directory or just the next file?
Resizing both might be a bit funky, but I´ll see what I can do.
mrcorbo
12th February 2015, 14:52
Seems like it works as intended at the moment. What is focused when you try to go forward and backwards when you say it is ¨locked¨? The playlist is on-top of the player, so make sure the player has focus.
I don´t know. Wouldn´t that defeat the purpose of the option?
Because the mouse only has the two buttons for forward/back, as opposed to the multiple options available with keyboard shortcuts, the forward/back behavior needs to be contextual. You can see an example of the desired behaviors in MPC-HC (you don't even need to use the mouse, just use the forward/back buttons on the player UI) by playing a file that has chapters and using forward/back, creating a multi-file playlist of files that don't have chapters (or navigating back from the first or forward from the last chapters) and using forward/back and then playing a single file from a folder with multiple files in it and using forward/back. Note the contextual behavior and how the playlist behaves in the latter two cases. Really, a lot of what is being requested here is just, "Make MPDN work like MPC-HC does". This, with your improvements, would be ideal.
Garteal
12th February 2015, 18:30
^ alright, I see what you mean now. I've changed it now to your earlier request. I like how it works now. Got to make some more changes and test before I can push.
Thanks for the feedback guys.
ryrynz
12th February 2015, 20:11
So those options shouldn´t add to the playlist, just start a new one?
Yup, just like MPC-HC.
So when you add a file to the playlist, it should automatically grab all files from the directory or just the next file?
Play the next one automatically, I'm thinking once the current file is finished playback only then is the next file added to the playlist (replacing the previous one) and then playback continues automatically.
Dallen
12th February 2015, 20:40
I hate this forum and the question it has me answer before I can post or reset my password, who really knows the answer to some of these things?
I really like MPDN though, and I have to ask, is ReClock needed anymore? Does ReClock only work with the x32 version? Even though I see a green ReClock in my bottom right taskbar I can't right-click the icon as I usually can, is this something you can explain?
Another thing I noticed was that I couldn't bitstream with the x64 version at first, then I downloaded the x32 version and successfully bitstreamed to my home cinema, after that the x64 version would magically work as well. Strange?
I've tried looking through the thread but since I only understand half of everything being said here I also have to ask if there are some simple instructions to follow on how to get the best image quality possible, are there any guides out there?
And yes, MPDN really does look like MPC-HC's more handsome brother, thank you!
ryrynz
12th February 2015, 22:20
Does ReClock only work with the x32 version?
Yes.
I really like MPDN though, and I have to ask, is ReClock needed anymore?
It's not necessary for optimal playback for most users at all. Ditch it and if you can't see a difference then it's one less thing you need to concern yourself with.
Another thing I noticed was that I couldn't bitstream with the x64 version at first, then I downloaded the x32 version and successfully bitstreamed to my home cinema, after that the x64 version would magically work as well. Strange?
Strange indeed.
are some simple instructions to follow on how to get the best image quality possible, are there any guides out there?
No guides yet. Image quality is generally subjective and guides shouldn't cover such things IMO. I always recommend people take screenshots and compare for themselves. That being said the SuperRes algorithms with NEDI would probably be your best bet for improved image quality over the standard resizers.
Zachs
17th February 2015, 12:17
I've implemented madVR 3dlut support as requested with the file format from nev (thanks!) and they're now available on GitHub (or simply download from the link in OP).
Cheers.
p.s. Anyone feel like starting an "MPDN options explained" thread? :p
YxP
17th February 2015, 12:31
Thanks, missing 3dlut support was the only thing for me not to really start getting into this player :)
huhn
17th February 2015, 19:48
I was try out the 3d lut feature but I get a lot of audio drops. fluid motion is active but playback is not smooth. frames are not dropped but rendertimes are jumping around like crazy 8 ms to 14 ms.
edit: the directsound device audio buffer is between 32%-45% I guess that's most of the issue.
edit2: looks like the smoothness issue have something to do with the DWM glitches. DWM is he desktop composition or at least has a lot to do with it and this is used for v sync on windows vista and newer.
iSunrise
17th February 2015, 22:49
Did some testing of this player today, seems very promising!
Some things that I would like to see though:
1) Since LAV now finally supports RTMP (and other protocols that already were supported before), can you implement support for network sources (URL)? E.x. for watching livestreams through the Livestreamer application.
2) When switching to fullscreen or back to windowed (doesn't matter whether fullscreen exclusive is on or off) there's a short audio break and the audio continues when the player has switched states. This doesn't happen with other players (e.x. PotPlayer with LAV filters). Is it possible to fix this?
3) Minimal mode is nice, but I would love to have a completely borderless video only (in PotPlayer you can press H, it hides everything apart from the video area).
4) When playing a video, you can see which LAV filters (splitter, video and audio decoders) are invoked, but you can't actually see what the splittter detected in the source (video, audio and subtitle properties). Is it possible to add that?
5) Live-cropping support would be nice. If I want to display e.x. a 1920x1200 source (video game recording) on a 1920x1080 screen, I just could activate cropping and then MPDN would ignore everything outside of my defined video region (from x to x, from y to y).
Other than that, keep up the good work!
Blackfyre
17th February 2015, 23:00
Since LAV now finally supports RTMP (and other protocols that already were supported before), can you implement support for network sources (URL)? E.x. for watching livestreams through the Livestreamer application.
+1 :cool: I've already requested this ages ago, but Zachs said it couldn't be done. Hopefully since LAV finally supports RTMP (whatever that stands for) he can finally do it.
Would be great if I can run Sopcast links; which use WMP by default, but can run on external players such as MPC+Madvr (which is what I currently use for online streaming).
ryrynz
17th February 2015, 23:01
2) When switching to fullscreen or back to windowed (doesn't matter whether fullscreen exclusive is on or off) there's a short audio break and the audio continues when the player has switched states. This doesn't happen with other players (e.x. PotPlayer with LAV filters). Is it possible to fix this?
MadVR has this same delay and it's AFAIA it's the nature of how the rendering is done with both renderers. There is more of a delay when switching using MPDN over MadVR, maybe this can be improved, I don't believe it's something that can be fixed as such.
*Edit* The delay only applied to using double click to switch modes and is dependent on the media player used not the renderer.
4) When playing a video, you can see which LAV filters (splitter, video and audio decoders) are invoked, but you can't actually see what the splittter detected in the source (video, audio and subtitle properties). Is it possible to add that?
Much of that info can be found under Audio and Subtitle in the context menu. The rest can be found under the View -> Media Info (Ctrl-Shift-I) So having that info show in the splitter menu would be just duplicating it.
iSunrise
17th February 2015, 23:41
MadVR has this same delay and it's AFAIA it's the nature of how the rendering is done with both renderers. There is more of a delay when switching using MPDN over MadVR, maybe this can be improved, I don't believe it's something that can be fixed as such.
With the current state of madVR there's only a "slight" video delay, because the player tells madVR to go into fullscreen/fullscreen exclusive and madVR then invokes Direct3D FSE to switch to fullscreen exclusive (which is fine by me). Again, this change is not what I am talking about.
There is however an audio break, which is happening both with FSE or normal fullscreen (and back to windowed). The audio just suddenly stops playing and after switching states, it will continue again. This does not happen with PotPlayer or other players.
Much of that info can be found under Audio and Subtitle in the context menu. The rest can be found under the View -> Media Info (Ctrl-Shift-I) So having that info show in the splitter menu would be just duplicating it.
I know, but I find that not very user-friendly, therefore I want Zachs to be aware of it. Having to go to several menu options and keycommands to switch audio/video/subtitles is not very convenient to use IMHO.
ryrynz
17th February 2015, 23:54
There is however an audio break, which is happening both with FSE or normal fullscreen (and back to windowed). The audio just suddenly stops playing and after switching states, it will continue again. This does not happen with PotPlayer or other players.
Switching from the view menu or the keyboard shortcuts is seamless for me, FSE or windowed mode. The double click on the video frame could be better registered to switch display modes. I think that's sometimes a problem when you have single clicks pausing the video.
iSunrise
18th February 2015, 00:45
Switching from the view menu or the keyboard shortcuts is seamless for me, FSE or windowed mode. The double click on the video frame could be better registered to switch display modes. I think that's sometimes a problem when you have single clicks pausing the video.
Yes, that's the problem I am experiencing. It seems that a single click pauses, while double-clicking is for changing to FSE and back to windowed, which causes the audio break.
Switching from the view menu or ALT+Enter is also seamless for me.
Garteal
18th February 2015, 00:59
Finally back-ish. Did some work on the requests and they're pretty much done. Well... except for the settings icon. Does anyone have anything to contribute?
Pondering whether I should put ryrynzs' last request behind an option or make it the default behavior. Thoughts?
Play the next one automatically, I'm thinking once the current file is finished playback only then is the next file added to the playlist (replacing the previous one) and then playback continues automatically
Yes, that's the problem I am experiencing. It seems that a single click pauses, while double-clicking is for changing to FSE and back to windowed, which causes the audio break.
Yeah that's normal since MPDN pauses the video when you click in the frame. If you want to use your mouse (by middle clicking) for fullscreen toggling, then simply enable the "windowed / fullscreen toggle with middle click" in Player Extension -> Mouse Control -> Config.
mrcorbo
18th February 2015, 01:38
Finally back-ish. Did some work on the requests and they're pretty much done. Well... except for the settings icon. Does anyone have anything to contribute?
Pondering whether I should put ryrynzs' last request behind an option or make it the default behavior. Thoughts?
I think having it as an option would be better.
ryrynz
18th February 2015, 01:41
Pondering whether I should put ryrynzs' last request behind an option or make it the default behavior.
Options are always good.
Yeah that's normal since MPDN pauses the video when you click in the frame. If you want to use your mouse (by middle clicking) for fullscreen toggling, then simply enable the "windowed / fullscreen toggle with middle click" in Player Extension -> Mouse Control -> Config.
I do wonder if a small delay could be used before pausing to determine if there is going to be a double click.. although the middle mouse button option is a great alternative.
Well... except for the settings icon. Does anyone have anything to contribute?
I haven't created an icon file or made a higher resolution version, I simply pixel edited a screenshot of your original. Don't know if that's useful to you or not, do with it as you please.
Still 8 points on it, just looks more cog like.
http://s13.postimg.org/y52akkb0j/cog.png *edited to improve cogness, transpacency, colors*
thogil
18th February 2015, 16:11
3) Minimal mode is nice, but I would love to have a completely borderless video only (in PotPlayer you can press H, it hides everything apart from the video area).
I have a similar request:
Could we have command line toggles for borderless? It would be a bonus if there was also a command line for initial window state, size and position. I can change all of these things from within a player extension, but there is afaik no way for an extension to set these prior to the window opening and the player initializing.
Either command line args, or some way for player extensions to hook into the initial window creation process, would be much appreciated.
Edit After some investigation, perhaps the easiest way to implement what I need is for MPDN to provide a command line arg for specifying an alternate directory to use instead of %AppData%/Local/MediaPlayerDotNet. That would also address a few other issues for me.
Zachs
20th February 2015, 16:09
I'll see what I can do, but I don't like the idea of having an alternate directory though. What exactly are you trying to achieve?
thogil
20th February 2015, 20:19
I am investigating writing a new player plugin for Media Browser (http://mediabrowser.tv/) Theater.
By a large margin, most of the issues our users have stem from our (DirectShow based) internal player implementation. MPDN already appears more stable, and the rate of development is very promising. If MPDN proves to be practical, I may make it the default player, and only fall back onto our own player when we encounter media that MPDN cannot handle (such as streamed content).
In order for playback to appear fairly seamless, I am re-parenting our own window as a child of MPDN, switching MPDN to minimal and borderless, and keeping both windows' state and position in sync - such that MBT's UI appears to draw on top of MPDN. Of course, we cannot enter FSE mode and keep our UI visible.
Currently, I am interacting with MPDN via the remote control extension, which I have modified to add commands to also allow MBT to control MPDN's window. The problem is that MPDN initially pops up in normal windowed mode, and only after loading it's extensions and establishing a connection with MBT does it merge with the MBT window. This can be a little jarring.
If I could configure the initial startup state of the window, then the transition would be much more fluid. Certainly, there are better ways of doing this than re-directing the .config file, but I assumed that would likely involve the least work on your end. In addition, it would allow me to package a copy of MPDN with MBT, and avoid having MBT's configuration customisations conflicting with an MPDN install that the user may already have on their machine (and potentially differences in installed extensions, as they appear to be compiled into the app data folder, too).
Alternatively, MPDN could expose its configuration for extensions to modify. I obviously do not know how difficult this would be to implement, but I assume it could potentially be quite far reaching; .e.g. extensions may need to be loaded earlier in the startup process, or perhaps all of the types serialised into the .config file will need to be public (or expose public interfaces).
Zachs
21st February 2015, 01:58
I'll have a think about it but I like the fact that you're considering MPDN as MBT's default player.
I gave long planned to have extension access and change MPDN's config but haven't gotten around to it yet. It's quite easy to implement actually.
Perhaps you're right in this instance to have a separate config file seeing as norms usage in your case is different enough to warrant such a feature. But I still want to allow extensions access to MPDN's config.
I'll likely do both in the longer term.
Anime Viewer
22nd February 2015, 00:19
Anyone else have a problem with playlist where it will skip the first file you add to the play list?
For example lets say you have videos 1-10. You launch video #1 in MPDN, and then open the playlist and add videos #2-10. When video #1 ends instead of playing video #2 it launches #3 skipping #2.
ryrynz
22nd February 2015, 00:45
Anyone else have a problem with playlist where it will skip the first file you add to the play list?
For example lets say you have videos 1-10. You launch video #1 in MPDN, and then open the playlist and add videos #2-10. When video #1 ends instead of playing video #2 it launches #3 skipping #2.
I submitted a somewhat similar issue that's been fixed in the latest dev build.
mrcorbo
22nd February 2015, 06:07
Noticed a couple of oddities with drag & drop behavior and with the "Remember previously played file" option.
Drag & dropping folders to either the player or playlist no longer works. I had added this to the old playlist (see Commit#'s 9a2ab4873d0fd22cba9c9cf983053f18f566cf28 (https://github.com/Mercy07/MPDN_Extensions/commit/9a2ab4873d0fd22cba9c9cf983053f18f566cf28) & 603b01d420e4d7b0e287ead25072d4a5e6b2c100 (https://github.com/Mercy07/MPDN_Extensions/commit/603b01d420e4d7b0e287ead25072d4a5e6b2c100)).
The file extension "whitelist" that was expanded in the second commit was added to prevent metadata, coverart, etc. that might be present in the folder from being added to the playlist along with the videos.
When dragging a file onto the player window without "On file open, add to playlist" unchecked, the file automatically plays. When this option is active the file does not automatically play when dropped on the player window, it just gets added to the playlist.
When "Remember previously played file" is checked, the file automatically begins to play on the next startup, even when "Automatically play file on startup" is unchecked.
**Edit** Forgot to add this is all using the latest version of PlaylistForm from Garteal's Github.
ryrynz
22nd February 2015, 09:29
ATM File -> Add file to Playlist does nothing. (Could be renamed Add file(s) to playlist)
I'd like to see Quick Open using the exact same window as the add files icon in the playlist only difference being when Quick Open is used of course the first file is automatically played.
Could you allow the delete key to remove files?
Can you make MPDN's play button active when 'Remember previously played file' is ticked too?
Making play button active could be done by calling PlayerControl.OpenMedia() followed by PlayerControl.Pause() and PlayerControl.SeekMedia(0).
Perhaps Add files and Remove files can also be renamed to Add file(s) and Remove file(s)?
DeadlyEmbrace
22nd February 2015, 15:10
I've finally integrated Playlist control into the Remote Control code.
The new version of the Remote can be grabbed from here: https://github.com/DeadlyEmbrace/MPDN_RemoteControl/releases/download/1.2.0/MPDN_RemoteControl_v1.2.0.zip
Beside playlist integration it includes multiple minor bugfixes.
As soon as Zachs pull in the new Remote Control code into the main extension repository the playlist functionality will work, until then the code can be grabbed from my fork.
Zachs
22nd February 2015, 15:37
Merged. I'll update the OP to the new remote v1.2.0.
Garteal
22nd February 2015, 17:04
Anyone else have a problem with playlist where it will skip the first file you add to the play list?
For example lets say you have videos 1-10. You launch video #1 in MPDN, and then open the playlist and add videos #2-10. When video #1 ends instead of playing video #2 it launches #3 skipping #2.
Ah I see what you mean. I've reproduced it and will roll out a fix.
Noticed a couple of oddities with drag & drop behavior and with the "Remember previously played file" option.
Drag & dropping folders to either the player or playlist no longer works. I had added this to the old playlist (see Commit#'s 9a2ab4873d0fd22cba9c9cf983053f18f566cf28 (https://github.com/Mercy07/MPDN_Extensions/commit/9a2ab4873d0fd22cba9c9cf983053f18f566cf28) & 603b01d420e4d7b0e287ead25072d4a5e6b2c100 (https://github.com/Mercy07/MPDN_Extensions/commit/603b01d420e4d7b0e287ead25072d4a5e6b2c100)).
The file extension "whitelist" that was expanded in the second commit was added to prevent metadata, coverart, etc. that might be present in the folder from being added to the playlist along with the videos.
Ah yes I remember this. This slipped by after changing the listbox to a dgv. Thanks for linking the commits, I put it on the list.
When dragging a file onto the player window without "On file open, add to playlist" unchecked, the file automatically plays. When this option is active the file does not automatically play when dropped on the player window, it just gets added to the playlist.
If you have "Automatically play file on startup" checked, it also plays the file. Do we want the default behavior to automatically play the file that gets dropped into the player?
When "Remember previously played file" is checked, the file automatically begins to play on the next startup, even when "Automatically play file on startup" is unchecked.
About this; I've left it as is for now until Zach gets back to me about the PlayerControl media functions. It will eventually just have the file ready to play (with the play button lit on the MPDN window).
ATM File -> Add file to Playlist does nothing. (Could be renamed Add file(s) to playlist)
It does work? Only I don't see why it's (or it will) be very useful.
Start with an empty playlist (have "On file open, add to playlist" disabled) and press that option and it should get added.
Perhaps elaborate a bit more on what it should do if the above isn't what you had in mind.
I'd like to see Quick Open using the exact same window as the add files icon in the playlist only difference being when Quick Open is used of course the first file is automatically played.
Are you referring to the directory it starts in?
Could you allow the delete key to remove files?
Yep yep, been on my mind but never got around to it.
Can you make MPDN's play button active when 'Remember previously played file' is ticked too?
See the last quote in my reponse to mrcorbo.
Perhaps Add files and Remove files can also be renamed to Add file(s) and Remove file(s)?
Why not.
Thanks for the reports.
mrcorbo
22nd February 2015, 18:14
Ah yes I remember this. This slipped by after changing the listbox to a dgv. Thanks for linking the commits, I put it on the list.
No problem. I hope it saves you some time/effort.
If you have "Automatically play file on startup" checked, it also plays the file. Do we want the default behavior to automatically play the file that gets dropped into the player?
Yes, please. And if a folder gets dropped onto the player window it should add all of the files in the folder to the playlist and start playing the first file. If I am dropping something onto the player window I want it to play right away. If I am dropping something onto the playlist window I am just creating or adding to a playlist.
About this; I've left it as is for now until Zach gets back to me about the PlayerControl media functions. It will eventually just have the file ready to play (with the play button lit on the MPDN window).
Perfect. Thanks.
One other cosmetic thing. Can there be an option to only show the filename in the playlist instead of the whole path? My paths can be quite long and in order to show the whole path in the playlist, the playlist windows ends up having to be much wider than it would be otherwise.
Garteal
22nd February 2015, 18:22
Yes, please. And if a folder gets dropped onto the player window it should add all of the files in the folder to the playlist and start playing the first file. If I am dropping something onto the player window I want it to play right away. If I am dropping something onto the playlist window I am just creating or adding to a playlist.
Makes sense yes, consider it done.
One other cosmetic thing. Can there be an option to only show the filename in the playlist instead of the whole path? My paths can be quite long and in order to show the whole path in the playlist, the playlist windows ends up having to be much wider than it would be otherwise.
This is another thing that I've been meaning to do. You're right of course.
After I've implemented these two as well, I'll push out something for testing.
Edit: Pushed. Check my fork.
Edit 2: Just to relay some of the things that have been done here... (You can always read what I've done in my commit messages)
- New settings icon (thanks ryrynz!)
- Sorted playlist config options
- Opening a file via the menu creates a new playlist and adds that file to the playlist
- "Add file to playlist" option has been added to the menu
- "On file open, add to playlist" doesn't add to the playlist anymore when there's only one file in it (it works similar to MPC-HC now)
- "Play next file in directory after playback" option has been added
- Fixed playing the correct file after playing a file in MPDN and adding to the playlist afterwards
- Added dragging and dropping folders with context. Dropping a folder unto the MPDN video frame will add every file in that directory to the playlist and begin playing the first file. Dropping a folder on the playlist will just add them to the playlist
- Fixed dragging and dropping a file unto the MPDN video frame so that it always plays the dropped file
- You can now press "Delete" on your keyboard to delete items
- You can now choose to display either the full path or just the filenames in the playlist
- Other fixes and cosmetic changes
mrcorbo
23rd February 2015, 03:17
That was quick!
I did find a couple of minor glitches both of which I think can be prevented by not allowing the user to delete an actively playing file from the playlist. **edit** or maybe not see edit below.
Firstly, it's possible to de-sync the file playing in the player from the file(s) in the playlist. To reproduce:
With "Remember previously played file" active, load up two files in the playlist. Start playing one and then delete that file from the playlist. Close the player. On reopening the player, the last played file (which was deleted from the playlist) is queued up to play. The playlist, though, shows the other file of the two that were originally loaded.
Secondly, if the currently playing file is the only file in the playlist an "index is out of range" error is generated if you delete the file from the playlist. **edit** This also happens when the player is started and the last file played is "queued up" in the player. If you delete the file from the playlist the error is also generated and the player is again de-synced from the playlist. Maybe then, a better solution for both scenarios is to stop/de-queue the file from the player when it is deleted from the playlist?
Re-using the file dialog filter list for the playlist allowed files whitelist was pretty slick, BTW.
ryrynz
23rd February 2015, 07:02
Ahh my name in credits!
http://s21.postimg.org/o4btsro0j/500px_Oh_you_show.jpg (http://postimg.org/image/o4btsro0j/)
Looks like you got some other updates in your build that haven't been pushed through to MPDN yet, had to pick the playlist files out independently.
Found a couple of bugs,
1) With two files in the playlist, have play next file in folder ticked, upon reaching the end of the last file in the playlist the next file starts playback but it is not added to the playlist until the next file is loaded.
2) Loading more than one file in the playlist, closing MPDN and reloading it only shows the first item that was in the playlist on close.
Here's something () I chucked together that you might wish to use for MPDN's Playlist icon (saved as a .ico file)
Picture for the curious.
http://s10.postimg.org/69jkl3ef9/bigplaylist.jpg (http://postimg.org/image/69jkl3ef9/)
If you have "Automatically play file on startup" checked, it also plays the file. Do we want the default behavior to automatically play the file that gets dropped into the player?
Ahh. This has a different function than I was expecting. My thought was that being able to add additional files to the playlist without having the playlist open would be handy, perhaps that can be added also.
Are you referring to the directory it starts in?
Everything's working fine with your latest changes.
Would anyone want an option to prevent the playlist from becoming transparent when the mouse isn't over it?
Zach, can we get a clean cut when stopping the video or closing the player after pausing? Doing either causes an additional frame or two to be displayed before stopping/shutting down.
Any plans on having a built in nrmap cleaner? Perhaps anything not created on the same day as the current version's could be deleted? That way testers could still retain useful nrmaps..
or if it's trivial to recreate them just delete everything but the current version.
thogil
23rd February 2015, 10:28
I am having some issues with subtitles:
1) Play->Subtitle is always greyed out in all videos.
2) Some videos play with subtitles, others do not (most don't). I need to do more investigation into what may be different about the two types of videos, but does not appear to be caused by subtitle codec, default or forced, video container type, or the number of subtitle tracks available.
3) PlayerControl.SubtitleTracks does correctly list all subtitles.
4) PlayerControl.SelectSubtitleTrack does not appear to do anything.
The above happens with both DirectVobSub and XySubFilter. I have only tested on one machine, so I do not know if it could be an issue with my XySubFilter install or DS configuration.
Garteal
23rd February 2015, 13:46
With "Remember previously played file" active, load up two files in the playlist. Start playing one and then delete that file from the playlist. Close the player. On reopening the player, the last played file (which was deleted from the playlist) is queued up to play. The playlist, though, shows the other file of the two that were originally loaded.
This has been fixed and is done properly now.
Secondly, if the currently playing file is the only file in the playlist an "index is out of range" error is generated if you delete the file from the playlist. **edit** This also happens when the player is started and the last file played is "queued up" in the player. If you delete the file from the playlist the error is also generated and the player is again de-synced from the playlist. Maybe then, a better solution for both scenarios is to stop/de-queue the file from the player when it is deleted from the playlist?
Yep, it'd happen if there's only one file in the playlist and you try to delete it. It should be fixed now. Forget to specify one more condition.
Re-using the file dialog filter list for the playlist allowed files whitelist was pretty slick, BTW.
Thanks! And thank you for writing out detailed steps for reproduction!
Ahh my name in credits!
Well you do contribute. Plus that whitespace needed to be filled :P
Looks like you got some other updates in your build that haven't been pushed through to MPDN yet, had to pick the playlist files out independently.
Not yet no. Since you're both capable of grabbing them from my fork we can continue a bit longer here until it's a bit more stable then I'll do a PR. You don't need to independently pick out the playlist files btw (unless you've manually edited scripts) since I'm usually synchronized with the upstream. If you see "x commits behind zachsaw:master" then you do need to pick them out manually.
1) With two files in the playlist, have play next file in folder ticked, upon reaching the end of the last file in the playlist the next file starts playback but it is not added to the playlist until the next file is loaded.
Fixed.
2) Loading more than one file in the playlist, closing MPDN and reloading it only shows the first item that was in the playlist on close.
Yep, it only remembers the last played file, do we want it to remember multiple files? 10 max?
Ahh. This has a different function than I was expecting. My thought was that being able to add additional files to the playlist without having the playlist open would be handy, perhaps that can be added also.
Well since the quick open and open menus create a new playlist, you'll always start with an empty list, so that kind of renders this option useless unless it doesn't blank out the playlist. Dragging and dropping a file unto the playlist (or MPDN window) already puts it in there (same with multiple files). So right now the only way to have a file not be in the playlist on open is to have "On file open, add to playlist" disabled and opening a file via the MPDN menu.
Here's something () I chucked together that you might wish to use for MPDN's Playlist icon (saved as a .ico file)
Looks great. Though I think this should be done with a FileAssociation extension which I believe DeadlyEmbrace was eager about to work on.
hashanga
24th February 2015, 04:54
Script Chain: SuperChromRes (I may remove this since I'm no longer using SuperRes with it) -> Deband -> NEDI in that order. In the past (until I encountered the panning smoothness bug) I used SuperChromaRes -> SuperRes, but since since SuperRes seems to be related to the issue I've substituted NEDI for the time being.
I'm using almost the same settings. Did you find any workaround for using SuperRes without the panning smoothness issue? I have to disable SVP if I'm using superRes.
Anime Viewer
24th February 2015, 05:59
I'm using almost the same settings. Did you find any workaround for using SuperRes without the panning smoothness issue? I have to disable SVP if I'm using superRes.
I have not found a solution yet. It does seem however that reducing the number of passes for SuperRes creates a longer time before the the problem occurs.
ryrynz
24th February 2015, 11:10
Well you do contribute. Plus that whitespace needed to be filled :P
Thanks, I think.. xD
Yep, it only remembers the last played file, do we want it to remember multiple files? 10 max?
Yup, ideally everything in the playlist.
Could you make it when any of the buttons are pressed on the playlist that it gets focus? That way up and down arrows can move through the playlist.
Having the enter key set to play the highlighted file would be great, also files should be able to be added more than once.
Sorry to ruin your cute little options menu but one to hide the playlist on fullscreen would be a worthwhile addition.
Zachs
24th February 2015, 16:02
I am having some issues with subtitles:
1) Play->Subtitle is always greyed out in all videos.
2) Some videos play with subtitles, others do not (most don't). I need to do more investigation into what may be different about the two types of videos, but does not appear to be caused by subtitle codec, default or forced, video container type, or the number of subtitle tracks available.
3) PlayerControl.SubtitleTracks does correctly list all subtitles.
4) PlayerControl.SelectSubtitleTrack does not appear to do anything.
The above happens with both DirectVobSub and XySubFilter. I have only tested on one machine, so I do not know if it could be an issue with my XySubFilter install or DS configuration.
I haven't seen such problems. Anyone else?
Zachs
24th February 2015, 16:06
Zach, can we get a clean cut when stopping the video or closing the player after pausing? Doing either causes an additional frame or two to be displayed before stopping/shutting down.
Any plans on having a built in nrmap cleaner? Perhaps anything not created on the same day as the current version's could be deleted? That way testers could still retain useful nrmaps..
or if it's trivial to recreate them just delete everything but the current version.
Yeah not sure what is causing that extra couple of frames to be displayed when stopping video. Will investigate.
Always extract MPDN into an empty folder - as I may remove some files in the future and when I do, you may end up with orphaned files if you don't.
cyberbeing
24th February 2015, 18:24
@Zachs
VideoFrameServicesNative.dll crashes when switching between multiple external subtitles streams via XySubFilter settings or tray icon, if a subtitle line is currently being displayed.
When no embedded subtitles exist, the Subtitle menu is always grayed when external subtitles have been autoloaded.
When embedded subtitles do exist, only a single external subtitle is ever listed in the subtitle menu when multiple have been loaded.
ryrynz
24th February 2015, 23:38
@Zachs
VideoFrameServicesNative.dll crashes when switching between multiple external subtitles streams via XySubFilter settings or tray icon, if a subtitle line is currently being displayed.
When I asked Zach about this he said control must be done within the player and that he has no plan to support switching via the tray icon.
Garteal
25th February 2015, 03:12
Yup, ideally everything in the playlist.
Done... well kind of. The playlist now saves any number of previously played file(s) and since you will eventually end up with a giant list I've added a clear button so you can start anew.
Could you make it when any of the buttons are pressed on the playlist that it gets focus? That way up and down arrows can move through the playlist.
This'll have to wait for a bit until some things get sorted out. Right now it's only partially implemented where the add and remove buttons only give the focus back to the playlist.
Having the enter key set to play the highlighted file would be great, also files should be able to be added more than once.
Done and done.
Sorry to ruin your cute little options menu but one to hide the playlist on fullscreen would be a worthwhile addition.
This is already the case. Is it not working for you?
I haven't seen such problems. Anyone else?
Me either. I've only tried XySubFilter though.
ryrynz
25th February 2015, 04:24
Done and done.
Thanks.
This is already the case. Is it not working for you?
Sorry, I meant maximized window. But now that I think about it, simply having it docked to the right side like MPC does would be better.
cyberbeing
25th February 2015, 05:38
When I asked Zach about this he said control must be done within the player and that he has no plan to support switching via the tray icon.
The problem of course, is that it's currently not possible to control switching of multiple external subtitles within MPDN itself. Not to mention crashing in general is bad. At the end of the day, XySubFilter is a Directshow filter and standard mechanisms should be supported for parsing and subtitle switching via IAMStreamSelect. ZoomPlayer and MPC-BE both are examples of how this can be done. Either way, I don't like the idea of MPDN allowing XySubFilter to autoload external subtitles, if switching via the tray icon and filter options are never going to be supported.
@Zachs, if you don't want to support IAMStreamSelect for external subtitles, I'd recommend using the IDirectVobSubXy interface api to disable external subtitle auto-loading, disable the local modifications subtitle reloader, load external subtitles manually (detected by MPDN), and optionally hide the tray icon as well. That way unsupported behavior resulting in a crash could never occur.
ryrynz
25th February 2015, 05:52
The problem of course, is that it's currently not possible to control switching of multiple external subtitles within MPDN itself.
I have no doubt he'll add that functionality.
Not to mention crashing in general is bad.
Yeah I'm not a fan of crashing either. If anything it should just ignore it if not supported.
At the end of the day, both xy-VSFilter and XySubFilter are Directshow filters and standard mechanisms should be supported for parsing and subtitle switching via IAMStreamSelect. ZoomPlayer and MPC-BE both are examples of how this can be done. Either way, I don't like the idea of MPDN allowing XySubFilter to autoload external subtitles, if switching via the tray icon and filter options are never going to be supported.
Neither, which is why I brought it up a couple of times, likely he'll do what you suggested, I was going to suggest he hide the tray icon as you did. Certainly the trick is to tie in everything as much as possible so that it appears seamless.
mrcorbo
25th February 2015, 20:22
Done... well kind of. The playlist now saves any number of previously played file(s) and since you will eventually end up with a giant list I've added a clear button so you can start anew.
I haven't had a lot of time recently to try to break anything, but I did have some thoughts on the above.
I think there is a better way to handle this that covers actual use cases better. As currently implemented, I think you are effectively just duplicating the recent files list in the player.
What I think would be better is to replace the remember last played file(s) function completely with remember playlist. The remember last played file as previously implemented would then be accommodated by the combination of "On file open, add to playlist" and "Remember playlist".
Also, remember playlist could not only remember the items in the playlist, but could remember which file in the playlist was active.
So, let's say I want to watch a season (or several seasons) of a TV show over multiple sittings. I can create the playlist for the season, watch an episode or two and then pick up right where I left off the next time I open the player with the playlist acting as a "bookmark" for which episode I was on (even better if you can get the last active file "queued up to play" also).
Clear button should stay, though. :)
Any thoughts on this?
Garteal
25th February 2015, 21:45
Any thoughts on this?
I like the idea. Makes much more sense imo than what we have right now. The button can stay, but you can also easily clear it up by creating a new playlist and closing MPDN.
As for automatically playing whenever you open MPDN back up, that can be done by having "Automatically play file on startup" enabled.
Edit: And this has been pushed to the repository along with some additional requests and fixes.
mrcorbo
26th February 2015, 04:13
I like the idea. Makes much more sense imo than what we have right now. The button can stay, but you can also easily clear it up by creating a new playlist and closing MPDN.
As for automatically playing whenever you open MPDN back up, that can be done by having "Automatically play file on startup" enabled.
Edit: And this has been pushed to the repository along with some additional requests and fixes.
Looks good!
Just one more suggestion. The way directories are handled now when the directory is dropped onto the player is perfect. It clears the playlist, adds the files in the directory and then plays the first file. Can the behavior when a directory is drag & dropped onto the playlist window be changed to not clear the playlist and instead add on to it? I don't really know how often I might want to add multiple directories full of files to a single playlist this way, but does it create any issues to allow it?
Other than that, I think what you have here is pretty much perfect.
Garteal
26th February 2015, 19:38
^ done. Mostly did it back then because it felt more convenient, but now it fits better to have it add to it with the playlist and have it only clear when you drag it on the player.
Working on some more requests (in a bit) before I'll push something.
Blackfyre
28th February 2015, 04:16
For those of you who have read my article regarding SVP, and my best settings for SVP - It's in the OP under Articles.
I recently purchased a Noctua NH-D15 (CPU Cooler). I managed to overclock my 4790K (CPU) from 4.2Ghz to 4.7Ghz. Just an update, because I haven't updated the article yet; the high amount of small artifacts that occurred with SVP before, are almost non-existent now, and the large artifacts which were rare to begin with, have now become small-artifacts.
So just to note, under the exact same SVP Settings, although MPDN was stable, no delayed frames @ 4.2Ghz, for the same video that had no delayed frames, smoothness appears better, more well-managed, and less artifacts. CPU Usage I assumed would drastically decrease after going from 4.2Ghz to 4.7Ghz under the settings in the article, it did NOT significantly decrease. I am assuming it's using roughly the same amount of power (CPU Usage), because it can, and that's why artifacts have decreased even more. Of course this is all under DX11 Presentation API.
My SVPMark Benchmark Scores are below:
http://i.imgur.com/8ObD1Sp.png
MysteryX
28th February 2015, 22:09
Can I control MPDN via API from a different program?
And can I legally embed this player into the installation of another program?
MysteryX
28th February 2015, 22:13
I have a dual-graphics Intel HD 4000 with Radeon HD 7670M. When running on the Intel, it works fine. When running on the Radon, however, I get no image! The sound plays but it stays black. It's doesn't matter whether I'm selecting DirectX9 or 11.
I haven't seen such problems. Anyone else?
I can personally attest to this. It's why I still haven't made the switch.
On a side note, I wish minimalistic mode had no borders.
Procrastinating
7th March 2015, 06:27
I might be missing something, but I cannot add ffdshow as a video filter, meaning I cannot use SVP. MPC-HC by comparison does detect ffdshow and can add it as a filter.
mrcorbo
7th March 2015, 07:53
I might be missing something, but I cannot add ffdshow as a video filter, meaning I cannot use SVP. MPC-HC by comparison does detect ffdshow and can add it as a filter.
Is ffdshow not showing up in the Additional Video Filter list under Options->Directshow->Video?
Procrastinating
7th March 2015, 10:12
http://i.imgur.com/7mngVcQ.png
That is the case. I've reinstalled SVP, ffdshow, MPDN etc, but it curiously still does not show up.
ryrynz
7th March 2015, 10:31
I might be missing something, but I cannot add ffdshow as a video filter, meaning I cannot use SVP. MPC-HC by comparison does detect ffdshow and can add it as a filter.
I think you could be missing the fact you need to run the 32bit version.
Blackfyre
7th March 2015, 11:24
I think you could be missing the fact you need to run the 32bit version.
Generally people forget this point... SVP only works with 32-Bit Software, ffdshow must be 32-Bit (so does everything else).
The version of ffdshow that comes with SVP by the way is slightly outdated I believe (I'm not 100% sure)... But always download the latest ffdshow from here, that's the ones I use (latest one is first one on the list, currently dated 2014-09-30):
http://sourceforge.net/projects/ffdshow-tryout/files/SVN%20builds%20by%20clsid/generic%20builds/
Also download the latest LAV Filters from here:
http://forum.doom9.org/showthread.php?t=156191
Anima123
7th March 2015, 21:44
Sometimes I got these error when I tried to get into FSE:
TITLE: SharpDX Error
------------------------------
An unexpected error 'SharpDX.SharpDXException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
HRESULT: [0x887A0005], Module: [SharpDX.DXGI], ApiCode: [DXGI_ERROR_DEVICE_REMOVED/DeviceRemoved], Message: The GPU device instance has been suspended. Use GetDeviceRemovedReason to determine the appropriate action.
(SharpDX)
------------------------------
BUTTONS:
&Abort
------------------------------
Other errors will will hang MPDN, I would have to forced enter another windows user account to kill MPDN. That happened when trying to drag the video to some other positions. Latest version performs better, which means harder to let the hang happen, but it still do.
Anime Viewer
8th March 2015, 01:27
Other errors will will hang MPDN, I would have to forced enter another windows user account to kill MPDN. That happened when trying to drag the video to some other positions. Latest version performs better, which means harder to let the hang happen, but it still do.
During the errors where you think MPDN hung have you tried pressing the Enter key? Back when I used to encounter some errors it turned out that error dialogue boxes were generated, but they were hidden behind an unmovable video window. Pressing the Enter key after the apparent hanging occurred closed the dialogue window and allowed MPDN to close. Zachs eventually found a bug in the programing that was causing that dialogue box to be hidden. If you're noticing it always happening under the same conditions (like a certain script being added) post about it and maybe Zachs can determine if there is a dialogue box bug associated with that as well.
RenderGuy2
10th March 2015, 16:08
I could be wrong about all of this, but regarding the madvr .3dlut format, I believe these look-up-tables have 8-bit in and 16-bit out. Wouldn't this mean that more than 8-bit sources would need to be rounded/truncated/dithered down before going through the LUT? Perhaps it would be desirable to support .3dl or another LUT format that can be 16 bits in, 16 bits out? DispcalGUI can write this format as well as other higher bit-depth LUTs. With this player it should be possible to maintain 10 (or more) bits from source to display? Thanks for this awesome software!
nevcairiel
10th March 2015, 16:26
A full 16-bit LUT would be giant, you couldn't hold it in memory. A 8-in/16-out LUT is 96 MB, a 9-in/16-out LUT would already be 768 MB.
The formula goes like this:
((size)^N)*N*(output bit depth) = (size in bits)
N is always 3, for a 3D LUT.
Size is 2^input bit depth, 256 for 8-bit.
So some numbers:
8-in/16-out: 96MB
9-in/16-out: 768MB
10-in/16-out: 6GB
16-in/16-out: 1536TB
But thats ok. You can just use a 8-bit 3DLUT and interpolate values in between points. At least thats what madVR does, it uses trilinear interpolation to interpolate the LUT values in between the actual higher-bitdepth values.
Many "professional" applications use much smaller LUTs and rely on the interpolation much more, a 256x3 LUT is already quite large in comparison!
trandoanhung1991
10th March 2015, 16:43
First of all: AWESOME program. It seems to work fantastic! :thanks:
I have a question and a request.
Question: What are the recommended settings for best possible IQ? I'm using SuperChromaRes and SuperRes with NEDI with all the values jacked up to max. Anything else I should add? I still have a bit of leeway when it comes to render time so I'm trying to think of thinks to add to make the IQ better.
Request: Is there any way to specify the resolution? Like with exclusive fullscreen or windowed fullscreen? I want to try downsampling :D
RenderGuy2
10th March 2015, 16:50
I see, perhaps the .3dl format is compressed, or uses fewer grid points? I made 2 LUTs in DispcalGUI using the same source and destination profiles. The .3dl format is 16-bits in and out and ended up being 6.28MB. The .3dlut was the usual 96MB. But I think I see what you are saying, 10-bit sources aren't reduced to 8-bits, instead the LUT itself is interpolated to support the higher bit depth source?
nevcairiel
10th March 2015, 16:54
The LUT is practically "upscaled" to save memory. The quality impact from that is minimal, many people have reported really good results with a 6-bit LUT (64x64x64).
Its somewhat wrong to think of it as "input bitdepth", as no bitdepth is lost, think of it as the size of the LUT instead.
RenderGuy2
10th March 2015, 17:08
Got it, so the LUT bit-depth really refers to the number of grid points, not to restrictions applied to the data entering or exiting the LUT. Thanks for this explanation. Knowing this makes me wonder why some LUT formats allow to you to specify input/output depth independently of grid points? Must just be specifics of implementation. Anyway, thank you.
Shiandow
10th March 2015, 17:43
Question: What are the recommended settings for best possible IQ? I'm using SuperChromaRes and SuperRes with NEDI with all the values jacked up to max. Anything else I should add? I still have a bit of leeway when it comes to render time so I'm trying to think of thinks to add to make the IQ better.
Debanding is probably a good idea, just put it after SuperChromaRes, before SuperRes.
Zachs
11th March 2015, 02:06
But thats ok. You can just use a 8-bit 3DLUT and interpolate values in between points. At least thats what madVR does, it uses trilinear interpolation to interpolate the LUT values in between the actual higher-bitdepth values.
MPDN uses trilinear interpolation too (see line 70: linearFiltering param = true).
Zachs
11th March 2015, 02:11
The LUT is practically "upscaled" to save memory. The quality impact from that is minimal, many people have reported really good results with a 6-bit LUT (64x64x64).
Its somewhat wrong to think of it as "input bitdepth", as no bitdepth is lost, think of it as the size of the LUT instead.
Isn't a 65-point (65x65x65) LUT the more common one? Haven't seen 64-point LUTs all that much if any.
Anyway, it's quite easy to modify MPDN's open source 3dlut script to add support for any types of 3dLUT formats.
Zachs
11th March 2015, 02:54
Request: Is there any way to specify the resolution? Like with exclusive fullscreen or windowed fullscreen? I want to try downsampling :D
Not at this moment no. Someone could quite easily modify the display changer extension for this purpose though - it currently only changes refresh rates but the same native APIs support changing resolution as well.
Zachs
11th March 2015, 03:02
The problem of course, is that it's currently not possible to control switching of multiple external subtitles within MPDN itself. Not to mention crashing in general is bad. At the end of the day, XySubFilter is a Directshow filter and standard mechanisms should be supported for parsing and subtitle switching via IAMStreamSelect. ZoomPlayer and MPC-BE both are examples of how this can be done. Either way, I don't like the idea of MPDN allowing XySubFilter to autoload external subtitles, if switching via the tray icon and filter options are never going to be supported.
@Zachs, if you don't want to support IAMStreamSelect for external subtitles, I'd recommend using the IDirectVobSubXy interface api to disable external subtitle auto-loading, disable the local modifications subtitle reloader, load external subtitles manually (detected by MPDN), and optionally hide the tray icon as well. That way unsupported behavior resulting in a crash could never occur.
Shouldn't XySubFilter disable it automatically when IAMStreamSelect isn't supported?
Anyway, I didn't even know multiple external subtitles support existed, and have no idea how XySubFilter could be setup to support them - any pointers?
Zachs
12th March 2015, 02:00
I am investigating writing a new player plugin for Media Browser (http://mediabrowser.tv/) Theater.
By a large margin, most of the issues our users have stem from our (DirectShow based) internal player implementation. MPDN already appears more stable, and the rate of development is very promising. If MPDN proves to be practical, I may make it the default player, and only fall back onto our own player when we encounter media that MPDN cannot handle (such as streamed content).
In order for playback to appear fairly seamless, I am re-parenting our own window as a child of MPDN, switching MPDN to minimal and borderless, and keeping both windows' state and position in sync - such that MBT's UI appears to draw on top of MPDN. Of course, we cannot enter FSE mode and keep our UI visible.
Currently, I am interacting with MPDN via the remote control extension, which I have modified to add commands to also allow MBT to control MPDN's window. The problem is that MPDN initially pops up in normal windowed mode, and only after loading it's extensions and establishing a connection with MBT does it merge with the MBT window. This can be a little jarring.
If I could configure the initial startup state of the window, then the transition would be much more fluid. Certainly, there are better ways of doing this than re-directing the .config file, but I assumed that would likely involve the least work on your end. In addition, it would allow me to package a copy of MPDN with MBT, and avoid having MBT's configuration customisations conflicting with an MPDN install that the user may already have on their machine (and potentially differences in installed extensions, as they appear to be compiled into the app data folder, too).
Alternatively, MPDN could expose its configuration for extensions to modify. I obviously do not know how difficult this would be to implement, but I assume it could potentially be quite far reaching; .e.g. extensions may need to be loaded earlier in the startup process, or perhaps all of the types serialised into the .config file will need to be public (or expose public interfaces).
v2.22.0 has just been released and should allow you to do what you want.
You'll want to use the --configfolder option rather than accessing MPDN's config via extension, since extensions can only be loaded after the config is fully deserialised.
EDIT: I've also deleted MbtBridge.cs from GitHub - this should really be distributed with MBT, not MPDN's default repository.
Zachs
12th March 2015, 02:11
v2.22 adds PlayerControl.PlayerSettings which contain all of MPDN's app settings.
If you make any changes to PlayerControl.PlayerSettings -- you must call RefreshSettings() (can be called after batched changes).
Failure to do so will result in undefined behaviour.
Note that it is currently not possible to change Scalers / Ditherer settings via PlayerControl yet.
---
This new release also adds "--configfolder" command line option:
MediaPlayerDotNet --configfolder "C:\MPDN Config"
Note: The command line parser library uses \" (backslash followed by double-quote) to escape double-quote so,
MediaPlayerDotNet --configfolder "C:\MPDN Config\" will *NOT* work. If you absolutely must include the trailing backslash, then add a whitespace before the closing double-quote to break the pair up.
Omitting the --configfolder parameter will cause MPDN to revert to its default config folder.
*** Player Extension developers: Make sure you use PlayerControl.ConfigFilePath to retrieve MPDN's app config filename, where you will then be able to get its path which is equivalent to --configfolder. Any settings should be stored in --configfolder and not hardcoded to MPDN's default config folder!
snowpiercer
12th March 2015, 15:08
Hi Zachs, thanks so much for your continued work on the player and for all the new versions.
However one tiny (and strange) bug that i have on latest version:
When i open mpdn through the .exe in my Program Files folder it starts fine, but then right clicking on the application in the task bar does nothing (doesn't matter if started with admin rights).
When i start mpdn through a desktop shortcut and then right click the application on the start bar, the regular pin to taskbar/close application tab shows up again, like it should (win7 x64).
When mpdn is started through the desktop shortcut then pinned to the task bar and i open mpdn through the exe in the program files directory, it opens another instance of the application, instead of bringing mpdn to the front or starting mpdn (doesn't matter if mpdn is open or closed, as long as it's pinned to task bar it will always open a second application window then).
So if mpdn is pinned and closed, it would stay pinned and closed but open up another instance when started through the .exe instead of the desktop shortcut.
No idea why it does that and not a huge deal at all, but maybe you have an idea or could take a look at this, thanks.
aufkrawall
12th March 2015, 18:33
I noticed with 60fps video that it doesn't look as smooth as it should, e.g. madVR looks much smoother.
Checked with this juddertest video:
http://www38.zippyshare.com/v/p5abG4nN/file.html
It's not related to fluid/smooth motion.
My display is at 75Hz.
Edit: Btw: Could we have an option to force only one player window, please? :)
aufkrawall
12th March 2015, 18:41
Colors get wrong when using SuperRes, some amount of red gets filtered out:
off:
http://abload.de/thumb/offqcj10.png (http://abload.de/image.php?img=offqcj10.png)
on:
http://abload.de/thumb/oneyk9c.png (http://abload.de/image.php?img=oneyk9c.png)
I noticed something similar with SuperChromaRes (above images are only SuperRes).
shaolin95
12th March 2015, 21:48
First of all: AWESOME program. It seems to work fantastic! :thanks:
I have a question and a request.
Question: What are the recommended settings for best possible IQ? I'm using SuperChromaRes and SuperRes with NEDI with all the values jacked up to max. Anything else I should add? I still have a bit of leeway when it comes to render time so I'm trying to think of thinks to add to make the IQ better.
Request: Is there any way to specify the resolution? Like with exclusive fullscreen or windowed fullscreen? I want to try downsampling :D
To clarify, how do you determine render time? I noticed that when using SVP I cannot get away using the same settings with MDPN as I can with MPC/MADVR so I want to find out information that helps me determine where my issue is. :)
Shiandow
13th March 2015, 00:02
Colors get wrong when using SuperRes, some amount of red gets filtered out:
off:
http://abload.de/thumb/offqcj10.png (http://abload.de/image.php?img=offqcj10.png)
on:
http://abload.de/thumb/oneyk9c.png (http://abload.de/image.php?img=oneyk9c.png)
I noticed something similar with SuperChromaRes (above images are only SuperRes).
Hmm, well the colour processing was due a cleanup anyway. Just to be sure, those images were made with the latest versions of MPDN and SuperRes? If so, could you try disabling anti-ringing for luma upscaling? I may have forgotten to push a bugfix that fixed a problem that occurred when anti-ringing was enabled.
Zachs
13th March 2015, 00:55
However one tiny (and strange) bug that i have on latest version:
...
No idea why it does that and not a huge deal at all, but maybe you have an idea or could take a look at this, thanks.
MPDN doesn't do anything special to the taskbar and I haven't seen such problems, so I suspect the problem may not be related to MPDN at all.
I noticed with 60fps video that it doesn't look as smooth as it should, e.g. madVR looks much smoother.
Checked with this juddertest video:
http://www38.zippyshare.com/v/p5abG4nN/file.html
It's not related to fluid/smooth motion.
My display is at 75Hz.
Edit: Btw: Could we have an option to force only one player window, please? :)
I just tested this on a 60hz monitor (with 1 frame repeat every 3 minutes) and it is perfectly smooth (make sure you have no dropped / delayed frames and if you're running windowed mode, make sure there's no DWM glitches too). On 75Hz, the judder is consistent with the frame rate mismatch which isn't going to help much even with FluidMotion enabled - 75Hz isn't high enough to smooth out the rate mismatch of 60fps materials.
RE: One player instance.
I'll put this on my todo list.
aufkrawall
13th March 2015, 16:40
Hmm, well the colour processing was due a cleanup anyway. Just to be sure, those images were made with the latest versions of MPDN and SuperRes? If so, could you try disabling anti-ringing for luma upscaling? I may have forgotten to push a bugfix that fixed a problem that occurred when anti-ringing was enabled.
Yes, I used the latest versions.
With turned off anti ringing the problem still exists.
I just tested this on a 60hz monitor (with 1 frame repeat every 3 minutes) and it is perfectly smooth (make sure you have no dropped / delayed frames and if you're running windowed mode, make sure there's no DWM glitches too). On 75Hz, the judder is consistent with the frame rate mismatch which isn't going to help much even with FluidMotion enabled - 75Hz isn't high enough to smooth out the rate mismatch of 60fps materials.
Does this mean fluid motion works different than smooth motion?
It's definitely smoother with the latter one.
Player stats don't show any problems with glitches or dropped/delayed frames.
RE: One player instance.
I'll put this on my todo list.
Thanks. :)
petran79
13th March 2015, 18:15
Had not used programm since January. Now after upgrading it fails to render any video file. Even the 32-bit version that I used for the first time. Do I miss any additional files?
aufkrawall
13th March 2015, 18:30
Proper directshow filters are installed, e.g. LAV?
Otherwise, try deleting the player's config at C:\Users\%user%\AppData\Local\MediaPlayerDotNet and be sure that the installation folder is clean.
Jtacdf
14th March 2015, 05:43
Is rendering time suppose to go up tremendously with xysubfilter/xy-vsfilter? I'm getting spike jump from 20ms to 60ms until the video is a stutter feast and the player just hangs. Unchecking the subtitle option stops the rendering time from spiking and it remains constant without any problem. FYI, I do not get such issue with MPC+madvr.
burfadel
14th March 2015, 10:05
It was working, I was about to use it, I had set it up, and then the following message occured:
TITLE: Error
------------------------------
An unexpected error 'Mpdn.CriticalException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
One or more extensions failed to load
------------------------------
Value cannot be null.
Parameter name: filePath (Extensions)
------------------------------
BUTTONS:
&Abort
------------------------------
Deleting the whole program and re-extracting everything didn't help. The program works by itself, but not with extensions. I want to use some of the extension stuff like super res, and extra shaders etc (I use the chain function).
Also, when you exit the program I think it would be handy if the player not only automatically saved the playlist, even if in the player directory with the name 'default', but also remember which file you played last. Having to reload the list each time you load it seems ineffective. The list save function is good though, you can make different lists for TV shows (with a toggle for read-only). Maybe the player can automatically load the last list, remember the last file played in that list, but also have the option in the menu to load the default list...
BRM
14th March 2015, 18:30
Subtitles still not working.
I've got a question for Zachs: do you plan on ever making this project open source?
mrcorbo
15th March 2015, 03:29
It was working, I was about to use it, I had set it up, and then the following message occured:
Deleting the whole program and re-extracting everything didn't help. The program works by itself, but not with extensions. I want to use some of the extension stuff like super res, and extra shaders etc (I use the chain function).
Did you extract all of the extensions and place them in the MPDN directory, or just the ones you intended to use?
Also, when you exit the program I think it would be handy if the player not only automatically saved the playlist, even if in the player directory with the name 'default', but also remember which file you played last. Having to reload the list each time you load it seems ineffective. The list save function is good though, you can make different lists for TV shows (with a toggle for read-only). Maybe the player can automatically load the last list, remember the last file played in that list, but also have the option in the menu to load the default list...
The version of the playlist extension on Garteal's Github (https://github.com/Garteal/MPDN_Extensions) already does all of this except for that last default list option. It just hasn't been merged yet as it is still being worked on.
JPulowski
15th March 2015, 05:00
Hi Zachs,
I am one of the shader developers for ReShade (http://reshade.me). I have a question regarding MPDN's "Deband" render script. In the code it uses s1 sampler to get an average.
Deband.hlsl (https://github.com/zachsaw/MPDN_Extensions/blob/master/Extensions/RenderScripts/Deband/Deband.hlsl):
sampler s1 : register(s1);
...
float4 avg = tex2D(s1, tex);
I took a look at the repository and could not find what is stored in s1. Would you mind enlightening me? :D Thanks. I am asking because some users liked its results and asked for a port, if you don't mind it that is. :)
burfadel
15th March 2015, 14:19
Did you extract all of the extensions and place them in the MPDN directory, or just the ones you intended to use?
All the extensions. It was working, then it wasn't!
The version of the playlist extension on Garteal's Github (https://github.com/Garteal/MPDN_Extensions) already does all of this except for that last default list option. It just hasn't been merged yet as it is still being worked on.
That's good, I think it would be an immensely useful feature!
Zachs
15th March 2015, 17:40
Trying flushing the extension cache. There's a command line option that allows you to do that --flushcache
burfadel
15th March 2015, 17:54
Tried the flushcache option, I still get:
TITLE: Error
------------------------------
An unexpected error 'Mpdn.CriticalException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
One or more extensions failed to load
------------------------------
Cannot parse "//css_import..." (CSScriptLibrary)
------------------------------
BUTTONS:
&Abort
------------------------------
Shiandow
15th March 2015, 18:53
Hi Zachs,
I am one of the shader developers for ReShade (http://reshade.me). I have a question regarding MPDN's "Deband" render script. In the code it uses s1 sampler to get an average.
Deband.hlsl (https://github.com/zachsaw/MPDN_Extensions/blob/master/Extensions/RenderScripts/Deband/Deband.hlsl):
sampler s1 : register(s1);
...
float4 avg = tex2D(s1, tex);
I took a look at the repository and could not find what is stored in s1. Would you mind enlightening me? :D Thanks. I am asking because some users liked its results and asked for a port, if you don't mind it that is. :)
Well, I'm not Zachs, but I did design the debanding filter, so I could probably explain what you need to know. That said, I'm sort of wondering what you'd hope to gain by debanding (presumably) 8bit rgb. Were you planning to add dithering? Or is there some other processing you need more than 8bits of precision for?
Anyway, here is a short explanation of the algorithm:
The debanding shader compares a "blurred" image (which is what's stored in s1) to the original image and using the blurred version when the difference is small enough. This blurred version is obtained by downscaling the image by a factor of 2, debanding that (long live recursion!), and then scaling it back to the original size. To prevent infinite recursion you need to stop at some point, either when you can no longer downscale the image, or after some fixed number of steps.
By the way, for up- and down-scaling you might as well simply use hardware linear interpolation, since the debanding algorithm was designed to remove any detail smaller than a rounding error, and most (noticeable) banding occurs on large gradients, so linear interpolation will give more or less the same result as any other algorithm.
vivan
15th March 2015, 20:03
About debanding. I've compared it - and it's not as good as madVR's f3kdb (which is very fast - my implementation takes 4ms on 720p frame on adreno 330 - mobile gpu). It's less effective while nuking a bit more details, compared to "high" in madVR. Also it shifts colors for some reason (and mpdn itself shift colors too).
Samples (everything on default with latest versions from the first post):
https://dl.dropboxusercontent.com/u/16254258/android/viavr/rendering/debanding/akame.y4m
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/akame_madvr.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/akame_madvr_deb.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/akame_mpdn.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/akame_mpdn_deb.png
https://dl.dropboxusercontent.com/u/16254258/android/viavr/rendering/debanding/conan2.y4m
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/conan_madvr.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/conan_madvr_deb.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/conan_mpdn.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/conan_mpdn_deb.png
https://dl.dropboxusercontent.com/u/16254258/android/viavr/rendering/debanding/sherlock3.y4m
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/sherlock_madvr.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/sherlock_madvr_deb.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/sherlock_mpdn.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/sherlock_mpdn_deb.png
https://dl.dropboxusercontent.com/u/16254258/android/viavr/rendering/debanding/madoka2.y4m
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/madoka_madvr.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/madoka_madvr_deb.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/madoka_mpdn.png
https://dl.dropboxusercontent.com/u/16254258/test/video/debanding/madoka_mpdn_deb.png
madshi
15th March 2015, 20:17
Shhhh... Don't tell him... :p
Blackfyre
15th March 2015, 21:03
Shhhh... Don't tell him... :p
Hahaha!:sly::sly:
huhn
15th March 2015, 21:52
I wonder why there is a color shift at all.
Shiandow
15th March 2015, 23:24
About debanding. I've compared it - and it's not as good as madVR's f3kdb (which is very fast - my implementation takes 4ms on 720p frame on adreno 330 - mobile gpu). It's less effective while nuking a bit more details, compared to "high" in madVR. Also it shifts colors for some reason (and mpdn itself shift colors too).
Samples (everything on default with latest versions from the first post):
[...]
Hmm, well hopefully madshi was right to worry. After fiddling a bit with the settings I got this (http://i.imgur.com/QwJ1sUJ.png), which seems quite a bit better. I'm not too sure what's happening with the colours though, for some reason the difference seems to be smaller on my end, but I can't figure out why. You didn't happen to use SuperChromaRes did you?
Shiandow
16th March 2015, 00:02
Okay, the MPDN have been updated with various bugfixes. Hopefully one of them will fix this (http://forum.doom9.org/showthread.php?p=1713006#post1713006) issue. I've also changed the debanding defaults which should improve the debanding quality slightly.
vivan
16th March 2015, 00:15
I haven't touched anything besides selecting "Deband" in "Render Script". And selecting ordered dithering (though selecting random changes nothing).
Increasing strength is easy, not blurring everything at the same time is not (see madoka samples, there're also with 1 and 3 at the end).
Zachs
16th March 2015, 02:58
Tried the flushcache option, I still get:
Try deleting your %localappdata%\MediaPlayerDotNet\ScriptAsmCache.* folders. If this still doesn't help, then zip up the correspoding ScriptAsmCache folder (.32/.64/.AnyCPU) and let me take a look.
Zachs
16th March 2015, 03:11
Does this mean fluid motion works different than smooth motion?
It's definitely smoother with the latter one.
Player stats don't show any problems with glitches or dropped/delayed frames.
I can't say how well smooth motion works - I've never used it.
Is rendering time suppose to go up tremendously with xysubfilter/xy-vsfilter? I'm getting spike jump from 20ms to 60ms until the video is a stutter feast and the player just hangs. Unchecking the subtitle option stops the rendering time from spiking and it remains constant without any problem. FYI, I do not get such issue with MPC+madvr.
If you see this with xy-vsfilter as well then it is definitely not related to subtitles.
Subtitles still not working.
I've got a question for Zachs: do you plan on ever making this project open source?
1) Subtitle works fine - what do you mean not working?
2) No.
and mpdn itself shift colors too
As compared to?
Anima123
16th March 2015, 04:48
With the latest script, I got the following error:
TITLE: SharpDX.Direct3D9 Error
------------------------------
An unexpected error 'SharpDX.CompilationException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
C:\Program Files\MediaPlayerDotNet\memory(13,10): error X1507: failed to open source file: './ColourProcessing.hlsl'
(SharpDX.Direct3D9)
------------------------------
BUTTONS:
&Abort
------------------------------
Zachs
16th March 2015, 04:56
With the latest script, I got the following error:
TITLE: SharpDX.Direct3D9 Error
------------------------------
An unexpected error 'SharpDX.CompilationException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
C:\Program Files\MediaPlayerDotNet\memory(13,10): error X1507: failed to open source file: './ColourProcessing.hlsl'
(SharpDX.Direct3D9)
------------------------------
BUTTONS:
&Abort
------------------------------
Do you have ColourProcessing.hlsl in Extensions\RenderScripts\SuperRes folder?
I'm not getting any issues at all with the latest scripts.
Anima123
16th March 2015, 05:17
Yes, as I checked, the file's there. Just tried with --flushcache, still the same error.
Edit: BTW, the error occurred when starting to play a video.
Zachs
16th March 2015, 05:20
Yeah I tried playing a video with super res and didn't get such errors.
Anima123
16th March 2015, 05:24
Weird thing is, that error message is with SuperRes, now with SuperChromaRes, I got these:
TITLE: SharpDX.Direct3D9 Error
------------------------------
An unexpected error 'SharpDX.CompilationException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
C:\Program Files\MediaPlayerDotNet\memory(10,10): error X1507: failed to open source file: '../ColourProcessing.hlsl'
(SharpDX.Direct3D9)
------------------------------
BUTTONS:
&Abort
------------------------------
The only difference between the two is the relative path of ColourProcessing.hlsl, from './' to '../', period.
Zachs
16th March 2015, 05:29
Weird thing is, that error message is with SuperRes, now with SuperChromaRes, I got these:
TITLE: SharpDX.Direct3D9 Error
------------------------------
An unexpected error 'SharpDX.CompilationException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
C:\Program Files\MediaPlayerDotNet\memory(10,10): error X1507: failed to open source file: '../ColourProcessing.hlsl'
(SharpDX.Direct3D9)
------------------------------
BUTTONS:
&Abort
------------------------------
The only difference between the two is the relative path of ColourProcessing.hlsl, from './' to '../', period.
OK I have managed to replicate the issue...! Seems that if you put MPDN in a folder that contains spaces it'll fail.
Anima123
16th March 2015, 05:30
I've tried everything that I can think of, including clearing the whole program configure folder, no luck.
Anima123
16th March 2015, 05:32
My MPDN folder is in 'c:\Program Files\MediaPlayerDotNet\', which indeed has a space in. The error does not occur with previous version as I recall.
Zachs
16th March 2015, 06:11
Found the problem. It's due to the fact that you've placed MPDN under Program Files which has restricted file access (read-only).
Will release a new version with the fix.
EDIT: Done.
Blackfyre
16th March 2015, 12:33
New issue with the new version... With SVP Enabled I used to get Dropped Frames (xx every second) and 0 delayed frames (when FPS>Monitor Refresh Rate)... With version 2.22.2 (16th of March), delayed frames is emulating dropped frames with no apparent change in the fluidity of the video? So it's reporting wrong... For example, after 5 minutes say there used to be 10000 dropped frames, 0 delayed frames, now delayed frames emulates whatever dropped frames are, so after five minutes both of them would be on 10000, they increase together equally, as if delayed frames is showing dropped frames and not delayed frames.
Zachs
16th March 2015, 12:37
Which version did you find it to work? Nothing has changed in regards to that since a month ago.
Shiandow
16th March 2015, 17:12
I haven't touched anything besides selecting "Deband" in "Render Script". And selecting ordered dithering (though selecting random changes nothing).
Increasing strength is easy, not blurring everything at the same time is not (see madoka samples, there're also with 1 and 3 at the end).
Those also become blurred with MadVR's debanding, if anything MadVR blurs more. MadVR's method does seem to preserve contrast slightly better, which may or may not be related to MPDN's colour bias, I think it's probably better to fix that first before trying to improve the debanding algorithm.
I may also have found what's causing the colour bias. It seems to be caused by using a resize filter on YUV images. I suspect that some rounding errors make the UV values slightly to low (or high, I'm not too sure which) causing the colours to drift. The same effect probably occurs with the Y channel, but is probably too small to be noticeable. It should be possible to fix this by changing the normalization of the resize kernels. Or alternatively by using UV values between -0.5 and 0.5, but ideally that shouldn't be necessary.
huhn
16th March 2015, 17:26
have you unchecked "don't analyze gradient angles for debanding" under trade quality for performance?
and madVR high is pretty extreme and AFAIK it doesn't use a gradient analyze.
Shiandow
16th March 2015, 17:47
I have unchecked "don't analyze gradient angles for debanding", although MadVR high indeed doesn't seem to behave any differently if you turn it on. And I agree that MadVR high is pretty extreme, given that it seems to remove more than MPDN does, and MPDN's debanding is pretty permissive already, it tries to remove everything that can be considered a rounding error.
Blackfyre
16th March 2015, 21:13
Which version did you find it to work? Nothing has changed in regards to that since a month ago.
You're right Zachs, it was a problem on my end. I accidentally had my second profile enabled in MSI AfterBurner where core clock and memory are both under-clocked at half the speed.
Zachs
16th March 2015, 23:42
I found the cause of the difference in colour. I am using a midpoint of 127.5/255.0 (which is 0.5) whereas madVR seems to be using 128.0/255.0 (0.50196) for YUV to RGB conversion. Does anyone know which is the technically correct midpoint?
EDIT: MPDN uses the matrix from http://forum.doom9.org/showthread.php?p=1702321#post1702321 (note the 1/2 midpoint, not 128/255), which is the technically correct one. 128/255 is usually used as an approximation for integer maths. Regardless, I've updated MPDN to match madVR's colour bias.
Anime Viewer
17th March 2015, 04:24
EDIT: MPDN uses the matrix from http://forum.doom9.org/showthread.php?p=1702321#post1702321 (note the 1/2 midpoint, not 128/255), which is the technically correct one. 128/255 is usually used as an approximation for integer maths. Regardless, I've updated MPDN to match madVR's colour bias.
How about an option in settings to choose which one to use? I'd prefer to use what is technically correct.
huhn
17th March 2015, 04:33
both programs should use 100% the correct one and nothing else.
i don't get this mid point stuff because it doesn't make sense to me with the hole Y= 16-235 and CbCr=16-240 and stuff like this.
Zachs
17th March 2015, 04:42
both programs should use 100% the correct one and nothing else.
i don't get this mid point stuff because it doesn't make sense to me with the hole Y= 16-235 and CbCr=16-240 and stuff like this.
Please elaborate on what you mean by "100% the correct one".
huhn
17th March 2015, 05:02
Please elaborate on what you mean by "100% the correct one".
i don't know what is correct. i only care that the correct one is used and you said yourself:
EDIT: MPDN uses the matrix from http://forum.doom9.org/showthread.ph...21#post1702321 (note the 1/2 midpoint, not 128/255), which is the technically correct one. 128/255 is usually used as an approximation for integer maths. Regardless, I've updated MPDN to match madVR's colour bias.
Zachs
17th March 2015, 05:27
i don't know what is correct. i only care that the correct one is used and you said yourself:
How about an option in settings to choose which one to use? I'd prefer to use what is technically correct.
Adding an option is not an easy thing to do I'm afraid - this involves the values in the shaders which are precompiled. I'm not saying it can't be done - it's just not worth doing...
The reason is, it really comes down to how the encoder encoded the source in the first place. If it's from an RGB source, it may be converted to YUV using an integer math approximation. In which case, it is then more correct to convert it back using the approximation method.
EVR seems to use the approximated formula as well, so it would seem that in this case the popular one isn't the technically correct one.
Shiandow
17th March 2015, 11:20
Well, it all comes down to how to get the correct range of UV values. It would have made more sense if it was 127/255 though, that way pure blue would give a U value of 255/255, at the moment it gives 256/255.
Zachs
17th March 2015, 11:43
Yeah but I think it all depends on what the industry commonly use for their conversion matrix. If it's 128/255 then we would have to use the same to ensure we get the correct output. 128 seems to be the approximation used everywhere afaics on wiki instead of 127.
I wonder what ASIC encoder implementations employ. Anyone here knows anything?
ryrynz
17th March 2015, 12:06
Anyone here knows anything?
I thought you knew things man. :D *couldn't resist*
madshi
17th March 2015, 12:29
I would have thought that studying the basic standards is the first thing a video renderer developer would do... :p
(Of course what madVR does is correct. But did I really have to say that? :))
Zachs
17th March 2015, 12:32
If you have nothing useful to contribute, please shut up.
madshi
17th March 2015, 12:39
madVR's accuracy / technical correctness was questioned. I should be allowed to say that it's accurate.
Try BT.709, search for 128. Or try BT.2020, search for 512. It's not that hard to find.
huhn
17th March 2015, 12:57
http://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-5-200204-I!!PDF-E.pdf
6.10
– Achromatic Cb, Cr 128
i guess that's it
Shiandow
17th March 2015, 13:23
The discussion was about the conversion matrix, which according to the standard here (http://www.itu.int/rec/R-REC-BT.709/en) (page 19 item table 3) has coefficients 0.7874/1.5748 and, 0.9278/1.8556, both of which are exactly equal to 0.5, so it seems that the values MPDN originally used were correct. They do include some extra steps to ensure that the chroma runs from 16 to 240 (inclusive) and such that gray has a chroma of 128.
madshi
17th March 2015, 13:24
http://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-5-200204-I!!PDF-E.pdf
i guess that's it
Yes, exactly. At the very heart of the BT.709 spec it's defined that Y=16 is black, Y=235 is white, and that Cb/Cr=128 is neutral grey. That's not an approximation, but "the law", which every content is encoded in.
madshi
17th March 2015, 15:38
The discussion was about the conversion matrix, which according to the standard here (http://www.itu.int/rec/R-REC-BT.709/en) (page 19 item table 3) has coefficients 0.7874/1.5748 and, 0.9278/1.8556, both of which are exactly equal to 0.5, so it seems that the values MPDN originally used were correct. They do include some extra steps to ensure that the chroma runs from 16 to 240 (inclusive) and such that gray has a chroma of 128.
I'm not sure if those coefficients are correct or not. I don't have "final constants" for that in my source code. I'm calculating the final constants based on a complicated formula, so I can get some more exact numbers (more decimal digits) than listed in the standards. One thing to note is that some of those coefficients listed in the standards might be meant to be used for float 0.0 = black and 1.0 = white, while others might be meant to be used for int 16 = black and 235 = white. Also some might be meant to be used for neutral Cb/Cr = 0.0, while others might be meant for neutral Cb/Cr = 128. Add on top that Direct3D uses a 255 division instead of 256 to convert 8bit int to float, which absolutely makes sense, but is somewhat unusual, too. All of this needs to be carefully thought through to get perfectly accurate results.
I think the key reason why neutral gray is 128 and not 127.5 is that if you want to encode neutral gray with 8bit MPEG2/h264, using 127.5 would just not be possible without dithering. So the standards decided right from the start that 128 must be used for neutral gray. Imagine you want to encode a black & white movie in 8bit, if neutral gray were 127.5 - that would be a nightmare for encoders! And of course, since encoders are using 128 for neutral gray, video renderers must also use 128 to get correct results.
vivan
17th March 2015, 16:01
128.0 is a middle point between 16 and 240, and is a neutral chroma in TV range (which is what BT.601/709/2010 are all about).
127.5 is a middle point between 0 and 255, and should be a neutral chroma in PC range: (128 - 16) * 255 / 224 = 127.5 (conversion defined by c̶o̶m̶m̶o̶n̶ ̶s̶e̶n̶s̶e Rec H.264, Annex E).
aufkrawall
17th March 2015, 19:06
I can't say how well smooth motion works - I've never used it.
Could you please take a look at it?
I think the huge advantage of that kind of frame blending is that you can set it to on and you never need to worry about system clocks etc.
That's the way it works when you set it in madVR to be always enabled. I personally don't care about the motion blur, videos almost always have tons of it anyway.
With madVR smooth motion, the 60fps video is definitely much smoother at 75Hz. With MPDN fluid motion, it rather seems like it's not active (just the upper main checkbox is ticked, so there should be no reason that it's disabled).
It would be great if there was an option to really make it always enabled.
And :thanks: for fixing the color shift bug.
madshi
17th March 2015, 19:51
128.0 is a middle point between 16 and 240, and is a neutral chroma in TV range (which is what BT.601/709/2010 are all about).
Good catch, I missed that.
harshal_rio91
17th March 2015, 21:14
I cannot use the latest versions, after the version 2.20 I get black screen when using NVIDIA GPU. I have Optimus system with Intel HD 4600 + GTX 860M. It worked before but now it does not work after v2.20. Please help.
Zachs
17th March 2015, 23:36
madVR's accuracy / technical correctness was questioned. I should be allowed to say that it's accurate.
Try BT.709, search for 128. Or try BT.2020, search for 512. It's not that hard to find.
Yes but your original post before you edited it was simply trolling, and I should be allowed to tell people off when they're trolling (it's also against forum rules).
I would have thought that studying the basic standards is the first thing a video renderer developer would do... :p
(Of course what madVR does is correct. But did I really have to say that? :))
Jumping to conclusion much?
The reason I thought it was meant to be 127.5 was also because of this in the standards:
Quantization level assignment of video data for 8-bit coding:
1 through 254
Mathematically, the midpoint is 127.5, which coincidentally matches the conversion matrix posted by Shiandow.
However, I do see now that the standards defined the midpoint specifically as 128.
128.0 is a middle point between 16 and 240, and is a neutral chroma in TV range (which is what BT.601/709/2010 are all about).
127.5 is a middle point between 0 and 255, and should be a neutral chroma in PC range: (128 - 16) * 255 / 224 = 127.5 (conversion defined by c̶o̶m̶m̶o̶n̶ ̶s̶e̶n̶s̶e Rec H.264, Annex E).
Good catch, I missed that.
Is that what madVR does or did you assume all midpoints are 128, madshi?
Zachs
18th March 2015, 00:03
I cannot use the latest versions, after the version 2.20 I get black screen when using NVIDIA GPU. I have Optimus system with Intel HD 4600 + GTX 860M. It worked before but now it does not work after v2.20. Please help.
I've seen this issue before with Optimus, but I don't think it has anything to do with the different versions of MPDN. I recall trying the various presentation APIs helped. Could you give that a go?
madshi
18th March 2015, 00:43
Yes but your original post before you edited it was simply trolling
No, it was not. I just removed a "RTFS :)" from the post, which was originally meant to be funny, but I later felt it didn't come across as such, so I removed it. The post in both its original and current form contains two important pieces of information:
1) madVR uses accurate math (which was put into question earlier).
2) The standards say how it should be done.
Maybe I could have worded the post friendlier (sorry), but it contains valuable information, in any case. You asked if anybody knew which offset needs to be used, and I provided the information you needed. Namely which offset is correct (the one used by madVR) and where to find the right offset (in the standards).
Is that what madVR does or did you assume all midpoints are 128, madshi?
Of course madVR does what is accurate. Not sure why you keep on doubting that. And this time I won't say if it's 128 or 127.5. :p
Zachs
18th March 2015, 01:07
No, it was not. I just removed a "RTFS :)" from the post, which was originally meant to be funny, but I later felt it didn't come across as such, so I removed it. The post in both its original and current form contains two important pieces of information:
1) madVR uses accurate math (which was put into question earlier).
2) The standards say how it should be done.
Maybe I could have worded the post friendlier (sorry), but it contains valuable information, in any case. You asked if anybody knew which offset needs to be used, and I provided the information you needed. Namely which offset is correct (the one used by madVR) and where to find the right offset (in the standards).
I would have thought that studying the basic standards is the first thing a video renderer developer would do...
(Of course what madVR does is correct. But did I really have to say that? )
I stand by my believe it was trolling (your paraphrased version is borderline acceptable but your original comment was definitely trolling) - especially when neither of the above sentences (and your paraphrased version) was relevant to the discussion - the question was which one was correct when our understanding was based upon the standards saying it's 0.5 as Shiandow pointed out.
madVR using accurate math wasn't even the question - how you understood the standard and therefore which offset was used in madVR was.
Zachs
18th March 2015, 01:11
Could you please take a look at it?
I think the huge advantage of that kind of frame blending is that you can set it to on and you never need to worry about system clocks etc.
That's the way it works when you set it in madVR to be always enabled. I personally don't care about the motion blur, videos almost always have tons of it anyway.
With madVR smooth motion, the 60fps video is definitely much smoother at 75Hz. With MPDN fluid motion, it rather seems like it's not active (just the upper main checkbox is ticked, so there should be no reason that it's disabled).
It would be great if there was an option to really make it always enabled.
That might be a bug actually -- I'll take a look.
vivan
18th March 2015, 01:15
I'm an idiot and was doing wrong math while reading wrong part - about "full range" set to 0 (which is not full range), ignore it. The real answer lies a bit further and math is even simplier.
Zachs
18th March 2015, 01:29
I'm an idiot and was doing wrong math while reading wrong part - about "full range" set to 0 (which is not full range), ignore it. The real answer lies a bit further and math is even simplier.
Wait, which part did you get wrong again? Did you mean the 127.5 midpoint for PC range?
harshal_rio91
18th March 2015, 01:49
I've seen this issue before with Optimus, but I don't think it has anything to do with the different versions of MPDN. I recall trying the various presentation APIs helped. Could you give that a go?
Yes tried dx 9, 10.1, 11 same issue with every selection. It works perfect upto version 2.20 but after v2.20 I get black screen with every version after that.
Zachs
18th March 2015, 01:51
Hmm... Anyone else with Optimus facing this issue with the latest version? I can't see what has changed from 2.20 to 2.22 that would cause such a problem...
huhn
18th March 2015, 02:06
Wait, which part did you get wrong again? Did you mean the 127.5 midpoint for PC range?
i guess the trick is not to useful full range at all. just transfer it to limited range and than to limited range RGB and just dither it to full range at the end. (3d lut are limited range anyway). but what does i know...
not sure how old this is: http://compression.ru/download/articles/color_space/ch03.pdf
but i see a lot of +/-128.
why isn't someone simply saying what it is i mean not everyone in this forum is a video renderer developer
harshal_rio91
18th March 2015, 02:25
Hmm... Anyone else with Optimus facing this issue with the latest version? I can't see what has changed from 2.20 to 2.22 that would cause such a problem...
MysteryX has posted his issue on page 66 with intel hd and amd radeon
Anime Viewer
18th March 2015, 03:51
Hmm... Anyone else with Optimus facing this issue with the latest version? I can't see what has changed from 2.20 to 2.22 that would cause such a problem...
2.22.1.2987 (64-bit) plays without the black screen problem on my Optimus system, but I have a GTX 680m not the 860 the other poster mentioned. From what I recall the Optimus Nvidia 700,800, and 900 all had (and still have) black screen problems in MPC versions using madVR (which is why a lot of those users have been using MPDN instead). It may be the same type or a related problem, or it may not...
I cannot use the latest versions, after the version 2.20 I get black screen when using NVIDIA GPU. I have Optimus system with Intel HD 4600 + GTX 860M. It worked before but now it does not work after v2.20. Please help.
Besides the MPDN version has anything else changed on your system (to your knowledge)? Drivers perhaps? Do you still have a copy of 2.20 or an older version that you can reinstall to confirm that the problem goes away when switching to an older version of MPDN, but keeping everything else on your system the same?
MysteryX has posted his issue on page 66 with intel hd and amd radeon
That uses something other than Optimus (can't remember AMD's term for their multi-gpu technology). I don't recall reading any other AMD people having black screen problems that are the same type as the Optimus problems, so they may be unrelated to one another.
harshal_rio91
18th March 2015, 04:16
2.22.1.2987 (64-bit) plays without the black screen problem on my Optimus system, but I have a GTX 680m not the 860 the other poster mentioned. From what I recall the Optimus Nvidia 700,800, and 900 all had (and still have) black screen problems in MPC versions using madVR (which is why a lot of those users have been using MPDN instead). It may be the same type or a related problem, or it may not...
Besides the MPDN version has anything else changed on your system (to your knowledge)? Drivers perhaps? Do you still have a copy of 2.20 or an older version at that you can reinstall to confirm that the problem goes away when switching to an older version of MPDN, but keeping everything else on your system the same?
That uses something other than Optimus (can't remember AMD's term for their multi-gpu technology). I don't recall reading any other AMD people having black screen problems that are the same type as the Optimus problems, so they may be unrelated to one another.
Yes downgrading to v2.20 the player works without black screen but after upgrading to newer versions I get black screen :(
Anime Viewer
18th March 2015, 04:40
Yes downgrading to v2.20 the player works without black screen but after upgrading to newer versions I get black screen :(
What operating system are you using (a 32-bit or 63-bit version)? If you are using a 64-bit OS can you try running another version of MPDN (64-bit or AnyCPU if you're using the 32-bit) to rule out it just occurring with one version (a while back someone found a problem that only applied to one and not the other two, so this may be a similar version specific bug).
harshal_rio91
18th March 2015, 04:53
What operating system are you using (a 32-bit or 63-bit version)? If you are using a 64-bit OS can you try running another version of MPDN (64-bit or AnyCPU if you're using the 32-bit) to rule out it just occurring with one version (a while back someone found a problem that only applied to one and not the other two, so this may be a similar version specific bug).
I have Windows 8.1 64-bit. Tried all the three versions same problem. Attached the screenshot.
Zachs
18th March 2015, 05:40
I just found that madVR has some colour bias as compared to EVR custom presenter of MPC-HC too...
Procrastinating
18th March 2015, 09:13
MPDN has been curiously crashing when I play a video fullscreen(exclusive) for a while, return to windowed, then return back to fullscreen
===================================
An unexpected error 'SharpDX.SharpDXException' has occurred.
------------------------------
Error Type = SharpDX.SharpDXException
Error Message = HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect.
Error Source = SharpDX
Error Site = Void CheckError()
Error occurred = at SharpDX.Result.CheckError()
at SharpDX.Direct3D11.Device.OpenSharedResource(IntPtr hResource, Guid returnedInterface, IntPtr& resourceOut)
at SharpDX.Direct3D11.Device.OpenSharedResource[T](IntPtr resourceHandle)
at Mpdn.D3D9VideoRenderer.FrameComposer.Dx11.FrameComposer.CreatedRenderTarget(IntPtr sharedHandle)
at Mpdn.D3D9VideoRenderer.FrameComposer.Dx11.FrameComposer.SetRendererRenderTargets(RenderTarget[] rendererRenderTargets)
at Mpdn.D3D9VideoRenderer.VideoRenderer.CreateRenderTargets()
at Mpdn.D3D9VideoRenderer.VideoRenderer.RecreateResources(Boolean modeSwitch)
at Mpdn.D3D9VideoRenderer.VideoRenderer.set_EnableFullScreen(Boolean value)
at Mpdn.VideoPlayer.VideoPlayer.<>c__DisplayClass2.<set_EnableFullScreen>b__0(Boolean playing)
at Mpdn.VideoPlayer.VideoPlayer.SyncRendererInvoke(Action`1 action)
at Mpdn.VideoPlayer.VideoPlayer.set_EnableFullScreen(Boolean value)
at MediaPlayerDotNet.MainForm.†††
††††œŠ()
at MediaPlayerDotNet.MainForm.†††
††††œ‡()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
OS Version = Microsoft Windows NT 6.3.9600.0
Total Physical Memory = 8 GB
Available Physical Memory = 4.6 GB
Date Time = 18/03/2015 9:04:45 p.m.
Application Startup Path = D:\Program Files\MPDN
Application Executable Path = D:\Program Files\MPDN\MediaPlayerDotNet.exe
CurrentDirectory = X:\vidya\Tamayura\1
SystemDirectory = C:\Windows\system32
Ran As Admin = False
HasShutdownStarted = False
ProcessorCount = 4
RuntimeVersion = 4.0.30319.34014
Thread Count = 108
Handle Count = 4796
VM Size = 3.5 GB
Peak VM Size = 3.8 GB
Working Set Size = 1.5 GB
Max Working Set Size = 1.3 MB
Min Working Set Size = 200 KB
Modules = MediaPlayerDotNet.exe, ntdll.dll, MSCOREE.DLL, KERNEL32.dll, KERNELBASE.dll, apphelp.dll, ADVAPI32.dll, msvcrt.dll, sechost.dll, RPCRT4.dll, SspiCli.dll, CRYPTBASE.dll, bcryptPrimitives.dll,
mscoreei.dll, SHLWAPI.dll, combase.dll, USER32.dll, GDI32.dll, IMM32.DLL, MSCTF.dll, clr.dll, MSVCR120_CLR0400.dll, mscorlib.ni.dll, ole32.dll, kernel.appcore.dll, uxtheme.dll, clrjit.dll, OLEAUT32.dll,
System.ni.dll, System.Drawing.ni.dll, System.Windows.Forms.ni.dll, CRYPTSP.dll, rsaenh.dll, bcrypt.dll, comctl32.dll, dwmapi.dll, gdiplus.dll, DWrite.dll, WindowsCodecs.dll, System.Core.ni.dll, shell32.dll,
SHCORE.dll, System.Xml.Linq.ni.dll, System.Xml.ni.dll, VideoFrameServicesNative.dll, MediaInfo.dll, d3d9.dll, VERSION.dll, aticfx32.dll, atiu9pag.dll, atiumdag.dll, atiumdva.dll, POWRPROF.dll,
D3D9NativeServices.dll, SETUPAPI.dll, WINMM.dll, WTSAPI32.dll, CFGMGR32.dll, WINMMBASE.dll, DEVOBJ.dll, WINSTA.dll, dxgi.dll, d3d11.dll, atiuxpag.dll, atidxx32.dll, dcomp.dll, Dx11Font.dll,
FW1FontWrapper.dll, System.Configuration.ni.dll, ws2_32.dll, NSI.dll, mswsock.dll, clbcatq.dll, quartz.dll, LAVSplitter.ax, avformat-lav-56.dll, avutil-lav-54.dll, avcodec-lav-56.dll, libbluray.dll, avresample-
lav-2.dll, qcap.dll, MSVFW32.dll, sxs.dll, XySubFilter.dll, COMDLG32.dll, WINSPOOL.DRV, WININET.dll, iertutil.dll, USERENV.dll, profapi.dll, LAVVideo.ax, swscale-lav-3.dll, avfilter-lav-5.dll, CallbackFilter.ax,
qedit.dll, ffdshow.ax, DINPUT.dll, DDRAW.dll, DCIMAN32.dll, D3DIM700.DLL, ffmpeg.dll, perfos.dll, LAVAudio.ax, devenum.dll, URLMon.DLL, MMDevAPI.DLL, wdmaud.drv, ksuser.dll, AVRT.dll, AUDIOSES.DLL,
msacm32.drv, MSACM32.dll, midimap.dll, d3dx9_43.dll, sharpdx_direct3d11_effects_x86.dll, D3DCOMPILER_43.dll, AVIFIL32.dll, DevIL.dll, MSVCP90.dll, MSVCR90.dll, svpflow_gpu.dll, OpenCL.dll, amdocl.dll,
OPENGL32.dll, dbghelp.dll, GLU32.dll, atiadlxy.DLL, PROPSYS.dll, PSAPI.DLL, IPHLPAPI.DLL, WINNSI.DLL, WINTRUST.dll, CRYPT32.dll, MSASN1.dll, atigktxx.dll, avisynth.dll, svpflow1.dll, svpflow2.dll,
Microsoft.VisualBasic.ni.dll, System.Management.ni.dll, diasymreader.dll
===================================
HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect.
(SharpDX)
------------------------------
Program Location:
at SharpDX.Result.CheckError()
at SharpDX.Direct3D11.Device.OpenSharedResource(IntPtr hResource, Guid returnedInterface, IntPtr& resourceOut)
at SharpDX.Direct3D11.Device.OpenSharedResource[T](IntPtr resourceHandle)
at Mpdn.D3D9VideoRenderer.FrameComposer.Dx11.FrameComposer.CreatedRenderTarget(IntPtr sharedHandle)
at Mpdn.D3D9VideoRenderer.FrameComposer.Dx11.FrameComposer.SetRendererRenderTargets(RenderTarget[] rendererRenderTargets)
at Mpdn.D3D9VideoRenderer.VideoRenderer.CreateRenderTargets()
at Mpdn.D3D9VideoRenderer.VideoRenderer.RecreateResources(Boolean modeSwitch)
at Mpdn.D3D9VideoRenderer.VideoRenderer.set_EnableFullScreen(Boolean value)
at Mpdn.VideoPlayer.VideoPlayer.<>c__DisplayClass2.<set_EnableFullScreen>b__0(Boolean playing)
at Mpdn.VideoPlayer.VideoPlayer.SyncRendererInvoke(Action`1 action)
at Mpdn.VideoPlayer.VideoPlayer.set_EnableFullScreen(Boolean value)
at MediaPlayerDotNet.MainForm.
()
at MediaPlayerDotNet.MainForm.
()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
madshi
18th March 2015, 09:49
I just found that madVR has some colour bias as compared to EVR custom presenter of MPC-HC too...
madVR has no color bias as compared to the standards.
kasper93
18th March 2015, 10:19
Be sure to test latest nightly version because there were some fixes regarding color conversation in EVR-CP. And don't forget to disable all driver enchantments if you haven't already. And still EVR-CP is not good reference. madVR is proven to be color accurate.
And if there is a bug anywhere, both madVR and MPC-HC have its own bug trackers where you can report them :)
madshi
18th March 2015, 10:34
Thank you, kasper93.
Zachs
18th March 2015, 10:49
No one said anything about there being a bug. I'm just wondering if the slight difference is due to rounding errors.
And with that said, I was also wondering if there was a reference decoder that I could use to compare?
madshi
18th March 2015, 11:07
Measurable/visible rounding error = bug.
Zachs
18th March 2015, 11:36
Measurable/visible vs what though? Like I said I'd be more comfortable if there's a reference implementation that I could compare it against.
You seem certain madvr is correct and you've measured it. I was just curious as to what you measured it against.
madshi
18th March 2015, 12:24
The point I was trying to make is that rounding errors should also be considered to be a bug. A good video renderer should not have visible/measurable rounding errors.
Anyway, I suppose a "reference" color decoder would probably have to be certified or something to be able to claim that it's "reference". I'm not aware of any color decoder (either in the HTPC or CE world) that is certified by some independent authority to be 100% color perfect. So the only thing we can do is to study the standards and take extra care to implement them perfectly. I believe I have done that with madVR. I've had it double and triple checked by the yCMS developer (who knows more about calibration related matters than I do). He used YCbCr test videos, calculated the values he expected to get manually and compared them to what madVR produced.
Also, madVR is in the meanwhile supported by the 3 leading calibration software products/companies (ArgyllCMS, Calman and LightSpace), and so far they've found nothing to complain about. Ok, they feed madTPG with RGB values, so color conversion is not involved, when using madTPG, but I would guess that they probably also double checked the final results with test videos. And then there's HCFR/zoyd who's always very analytical and scientific about testing anything color accuracy related. So far he's not found anything to complain about, either. But again, I don't know if he explicitly tested madVR for color accuracy. But there are so many different calibration / color related products supporting and working with madVR, and so many really good devs involved there, I think one of them would have found if madVR was not producing accurate colors. So IMHO, madVR is as near to "reference" as you can get. But of course that's only my personal opinion, and I'm obviously biased.
thogil
18th March 2015, 15:17
I am having a couple issues with the window behaviour:
1) The "Resize window to fit when opening media" and "Reset window size when closing media" options cannot be disabled. Disabling these settings from either the GUI or the config file does not appear to disable their functionality, and the settings change back to true in the config file once MPDN is closed.
2) The MPDN window pushes itself on top - even on top of child windows. Previous releases did not render on top of child windows. A "Never" option for Always on Top would be very helpful, if the previous behaviour is not possible. I'll test to see if setting the child windows to also always be on top moves them above MPDN when I get a chance later.
This was with version 2.22.2, upgrading from 2.21.3.
Zachs
19th March 2015, 01:36
Could you please take a look at it?
I think the huge advantage of that kind of frame blending is that you can set it to on and you never need to worry about system clocks etc.
OK I have found a bug the prevented fluid motion to work when the fps of your source material is more than half of your display rate. This has been fixed in the next release.
ryrynz
19th March 2015, 01:46
1) The "Resize window to fit when opening media" and "Reset window size when closing media" options cannot be disabled.
I can't reproduce, either with 2.22.2 or with 2.22.3. Both options enable and disable and produce the correct behavior.
Zachs
19th March 2015, 02:31
MPDN has been curiously crashing when I play a video fullscreen(exclusive) for a while, return to windowed, then return back to fullscreen
This usually only happens if a feature requested isn't available on your GPU. Does this happen intermittently? What GPU are you running it on?
I am having a couple issues with the window behaviour:
1) The "Resize window to fit when opening media" and "Reset window size when closing media" options cannot be disabled. Disabling these settings from either the GUI or the config file does not appear to disable their functionality, and the settings change back to true in the config file once MPDN is closed.
2) The MPDN window pushes itself on top - even on top of child windows. Previous releases did not render on top of child windows. A "Never" option for Always on Top would be very helpful, if the previous behaviour is not possible. I'll test to see if setting the child windows to also always be on top moves them above MPDN when I get a chance later.
This was with version 2.22.2, upgrading from 2.21.3.
Nothing in the code has changed that would cause either one from 2.21 to 2.22 and I can't replicate the issue on my systems either... Perhaps try deleting your config folder and see if it's due to a corrupted config file?
harshal_rio91
19th March 2015, 03:20
Is there any solution for black screen as I cannot use extensions with v2.20?
Zachs
19th March 2015, 04:20
Is there any solution for black screen as I cannot use extensions with v2.20?
I have a hunch what caused the problem as the only thing that changed from v2.20.10 (was it .10 you were using?) that could've affected it would've been "Improved playback fluidity". If that is the case however, it would mean it's a massive bug in NVIDIA's drivers...
harshal_rio91
19th March 2015, 07:05
I have a hunch what caused the problem as the only thing that changed from v2.20.10 (was it .10 you were using?) that could've affected it would've been "Improved playback fluidity". If that is the case however, it would mean it's a massive bug in NVIDIA's drivers...
It's 2.20.5
Procrastinating
19th March 2015, 08:40
This usually only happens if a feature requested isn't available on your GPU. Does this happen intermittently? What GPU are you running it on?
It happens fairly consistently. I'm using an HD5770. FWIW MadVR doesn't crash in this manner when using FSE.
ryrynz
19th March 2015, 08:54
It happens fairly consistently. I'm using an HD5770. FWIW MadVR doesn't crash in this manner when using FSE.
Tried using Direct3D 10.1/9Ex? I've found 11 to have the odd issue on my 750Ti.
Zachs
19th March 2015, 11:28
It happens fairly consistently. I'm using an HD5770. FWIW MadVR doesn't crash in this manner when using FSE.
If you want to make any comparisons with madVR with regards to direct 3d stability, you should use direct 3d 9.
aufkrawall
19th March 2015, 16:25
OSD says fluid motion is on now, but the judder test bar still doesn't move smoothly, unlike with smooth motion.
Zachs
19th March 2015, 22:49
I tested the same judder clip on my 75hz screen and it's very smooth. Try it in fse mode and make sure there are no dropped frames.
harshal_rio91
19th March 2015, 23:00
Anyway to use extensions in v2.20?
aufkrawall
19th March 2015, 23:01
I tested the same judder clip on my 75hz screen and it's very smooth. Try it in fse mode and make sure there are no dropped frames.
No difference in FSE, no anomalies with dropped frames etc. :(
Zachs
19th March 2015, 23:29
Did you notice any difference at all with it enabled vs disabled?
Anime Viewer
20th March 2015, 00:26
OSD says fluid motion is on now, but the judder test bar still doesn't move smoothly, unlike with smooth motion.
I tested the same judder clip on my 75hz screen and it's very smooth. Try it in fse mode and make sure there are no dropped frames.
I wasn't aware there is a judder test. Where can that be found?
Aufrawall,
What are the stats of the video(s) you are experiencing judder problems with (video frame rates? ex: 23.97fls, 24fps, 30fps, or 60fps videos as reported in the video frame rate OSD. How about video format? ex: avi, mp4?) Does you monitor/screen support multiple refresh rates? ex: 60hz, 59hz, 30hz, 29hz, 24hz, 23hz, and if so is it possible your screen is currently running at a hz below the video frame rate? (I've seen times where the video being played back is at 30fps, but the monitor is displaying at 23 or 24hz and the playback gets extremely choppy. Where for one reason or another even though a display supports a particular refresh rate it doesn't properly change to that rate - possibly because of another program having changed the refresh rate earlier).
huhn
20th March 2015, 00:51
there are tons of them here an example:
http://www.avsforum.com/forum/40-oled-technology-flat-panels-general/1620098-mkv-h-264-motion-test-patterns-23-976-24-25-29-97-30-50-59-94-60hz.html#post27543473
BTW. madVR can even make 30 fps at 24 hz smooth even though i don't like the effect at all.
Zachs
20th March 2015, 02:27
Ah... the released version did not have the fix at all - sorry! Will release the proper fix once I merge the latest changes back to the fluid motion fix.
EDIT: Done.
trandoanhung1991
20th March 2015, 03:11
Any chance we'll see support for opening streams as well as files?:thanks:
Zachs
20th March 2015, 03:22
Nope. At least not in the near future.
Anima123
20th March 2015, 06:20
From time to time, the following error will occur, which is quite annoying:
TITLE: SharpDX Error
------------------------------
An unexpected error 'SharpDX.SharpDXException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
HRESULT: [0x887A0005], Module: [SharpDX.DXGI], ApiCode: [DXGI_ERROR_DEVICE_REMOVED/DeviceRemoved], Message: The GPU device instance has been suspended. Use GetDeviceRemovedReason to determine the appropriate action.
(SharpDX)
------------------------------
BUTTONS:
&Abort
------------------------------
Is it indicate a driver bug, or there's something, maybe workaround that MPDN side can do?
burfadel
20th March 2015, 06:24
That error I was having regarding the extensions, I worked out what it is :).
The folder where I was placing the program has a comma in it. The program doesn't seem to like commas in the folder name!
Zachs
20th March 2015, 06:29
It's 2.20.5
I've rebuilt some old versions for you to test in this folder (www.zachsaw.com/downloads/mpdn_test).
v2.20.8, v2.20.10 and v2.21.0
Could you let me know which one works?
Also, use the same presenter (I'd recommend you start with Direct3d 9Ex)
Anima123
20th March 2015, 06:30
In my case, that occurred a lot when I was trying to locate to another time of a video.
Zachs
20th March 2015, 06:31
That error I was having regarding the extensions, I worked out what it is :).
The folder where I was placing the program has a comma in it. The program doesn't seem to like commas in the folder name!
Ah! Another bug in CsScript open source library. Thanks for troubleshooting!
Zachs
20th March 2015, 06:31
From time to time, the following error will occur, which is quite annoying:
TITLE: SharpDX Error
------------------------------
An unexpected error 'SharpDX.SharpDXException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
HRESULT: [0x887A0005], Module: [SharpDX.DXGI], ApiCode: [DXGI_ERROR_DEVICE_REMOVED/DeviceRemoved], Message: The GPU device instance has been suspended. Use GetDeviceRemovedReason to determine the appropriate action.
(SharpDX)
------------------------------
BUTTONS:
&Abort
------------------------------
Is it indicate a driver bug, or there's something, maybe workaround that MPDN side can do?
That's a driver bug I'm afraid. Direct3D 11, right?
Anima123
20th March 2015, 06:53
That's a driver bug I'm afraid. Direct3D 11, right?
Exactly, which D3D interface is more stable with nVidia card?
Zachs
20th March 2015, 07:17
Depends on driver version.
Anima123
20th March 2015, 07:21
Tested by myself, and found the D3D 9Ex is the most stable interface, with the latest nVidia driver.
aufkrawall
20th March 2015, 11:08
Fluid Motion now works for me. :thanks:
Blackfyre
20th March 2015, 14:38
Download links are currently down? except for the render script (that works).
Edit:
All links work now.
harshal_rio91
20th March 2015, 18:37
I've rebuilt some old versions for you to test in this folder (www.zachsaw.com/downloads/mpdn_test).
v2.20.8, v2.20.10 and v2.21.0
Could you let me know which one works?
Also, use the same presenter (I'd recommend you start with Direct3d 9Ex)
Ok first of all thanks for all your support. I tried all three versions you uploaded in all three presentation modes and all of them(v2.20.8, v2.20.10 and v2.21.0) work perfect.
videonerd
21st March 2015, 12:12
Hi Zachs any chance of adding the following features:
1. adjust playrate
2. pitch correction when playrate is adjusted
Thank you!
Zachs
21st March 2015, 12:43
It's on my to do list but a very low priority one. I don't use it personally so I'm not exactly in a hurry to implement it.
Just out of curiosity what do you need it for?
Zachs
21st March 2015, 13:00
Ok first of all thanks for all your support. I tried all three versions you uploaded in all three presentation modes and all of them(v2.20.8, v2.20.10 and v2.21.0) work perfect.
OK Looks like I'll have to build a few more old versions to see which one caused the problem. Will let you know when it's done...
MysteryX
21st March 2015, 18:29
As an update, the latest 2.22 version fixes the black screen problem I was having when rendering with DirectX 11 on a Radeon HD 7670M with v2.21
However, it plays full-screen for about 1 sec and then adds huge black borders while reducing the size of the video. That's with SVP's auto-crop feature disabled.
videonerd
21st March 2015, 19:47
It's on my to do list but a very low priority one. I don't use it personally so I'm not exactly in a hurry to implement it.
Just out of curiosity what do you need it for?
Where seeking is not ideal e.g. for me personally - continuous sports (e.g. football, basketball), MOBA replays (dota2).
It is there in all the players out there e.g. potplayer/mpc hc/be + reclock or VLC but I really really like your work :)
harshal_rio91
21st March 2015, 21:12
OK Looks like I'll have to build a few more old versions to see which one caused the problem. Will let you know when it's done...
Thanks
Anime Viewer
22nd March 2015, 02:10
http://forum.doom9.org/showpost.php?p=1710609&postcount=1288
Ah I see what you mean. I've reproduced it and will roll out a fix.
I still encounter the problem in the latest version of the player with the latest playerextensions/renderscript. Anyone else still experiencing the problem?
MysteryX
22nd March 2015, 04:26
As an update, the latest 2.22 version fixes the black screen problem I was having when rendering with DirectX 11 on a Radeon HD 7670M with v2.21
However, it plays full-screen for about 1 sec and then adds huge black borders while reducing the size of the video. That's with SVP's auto-crop feature disabled.
OK it appears I was still running on the Intel HD integrated card even though I configured it... now with the Radeon HD 7670M, I'm still getting a black screen. The black screen happens whether I use DirectX 9, 10.1 or 11.
Zachs
22nd March 2015, 04:29
I've rebuilt some old versions for you to test in this folder (www.zachsaw.com/downloads/mpdn_test).
v2.20.8, v2.20.10 and v2.21.0
Could you let me know which one works?
Also, use the same presenter (I'd recommend you start with Direct3d 9Ex)
In that case, can you test the builds above and let me know which ones work too.
mrcorbo
22nd March 2015, 05:25
http://forum.doom9.org/showpost.php?p=1710609&postcount=1288
I still encounter the problem in the latest version of the player with the latest playerextensions/renderscript. Anyone else still experiencing the problem?
There's a newer version of the Playlist extension on Garteal's fork on github that I believe fixes this (among several other changes). It is still a work-in-progress so there has yet to be a pull request to merge the changes onto the main repository. Also, there have been several changes to the main repository that haven't been merged to Garteal's fork as Garteal seems to be away from the project ATM (no commits for the last 2 weeks).
Since your specific issue has been fixed, I merged the latest version of the Playlist extension and the latest changes to the main repository to my fork here: https://github.com/Mercy07/MPDN_Extensions/archive/master.zip
Again, keep in mind that this is a work-in-progress version of the Playlist extension, so you should probably hold off on reporting any bugs until Garteal is back.
tjcinnamon
23rd March 2015, 23:17
how does this work compared to MadVR? I have a GTX 960 in one machine and a 970 in the other. Will this read RTMP to watch legal streams via Kodi (I can currently do that with MPC-HC)?
Just trying to figure out what makes this different.
Zachs
24th March 2015, 01:50
That error I was having regarding the extensions, I worked out what it is :).
The folder where I was placing the program has a comma in it. The program doesn't seem to like commas in the folder name!
I can't replicate this with any of the recent versions (since I fixed that bug a few months ago) - what version were you running?
ryrynz
24th March 2015, 03:20
Again, keep in mind that this is a work-in-progress version of the Playlist extension, so you should probably hold off on reporting any bugs until Garteal is back.
I'd hold off reporting anything until after he releases an RC or final build as there's been a number if things already brought to his attention. Hopefully he'll be back hammering out something final in April.
Zachs
24th March 2015, 04:57
Thanks
I've added a couple more older builds in this folder (http://www.zachsaw.com/downloads/mpdn_test/old/). Could you give 2.21.1 and 2.21.3 a go and let me know which one works?
Also, test this build (http://www.zachsaw.com/downloads/mpdn_test/MediaPlayerDotNet_x64_2_23_0_3000.zip) as well to see if it works.
harshal_rio91
24th March 2015, 05:50
I've added a couple more older builds in this folder (http://www.zachsaw.com/downloads/mpdn_test/old/). Could you give 2.21.1 and 2.21.3 a go and let me know which one works?
Also, test this build (http://www.zachsaw.com/downloads/mpdn_test/MediaPlayerDotNet_x64_2_23_0_3000.zip) as well to see if it works.
Tested all versions and none of them work(in all presentation modes)
Zachs
24th March 2015, 05:57
Tested all versions and none of them work(in all presentation modes)
OK at least I know roughly which version broke it...
So to be sure, v2.21.0 works fine but v2.21.1 doesn't. Is that right?
harshal_rio91
24th March 2015, 05:58
OK at least I know roughly which version broke it...
So to be sure, v2.21.0 works fine but v2.21.1 doesn't. Is that right?
Yes v2.21.0 works perfect but v2.21.1 doesn't
Zachs
24th March 2015, 06:10
Yes v2.21.0 works perfect but v2.21.1 doesn't
In that case try this: test1 (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_test1.zip)
Test with and without FluidMotion for this build and let me know if you get blank screen.
harshal_rio91
24th March 2015, 06:14
In that case try this: test1 (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_test1.zip)
Test with and without FluidMotion for this build and let me know if you get blank screen.
I get black screen with and without Fluidmotion
Zachs
24th March 2015, 06:20
I get black screen with and without Fluidmotion
OK, now try test2 (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_test2.zip).
Don't bother with fluidmotion settings, just use Direct3D9Ex. If that works, switch to Direct3D10 or 11 and see if you get black screen again.
harshal_rio91
24th March 2015, 06:23
OK, now try test2 (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_test2.zip).
Don't bother with fluidmotion settings, just use Direct3D9Ex. If that works, switch to Direct3D10 or 11 and see if you get black screen again.
no it doesn't work in Direct3D9Ex
Zachs
24th March 2015, 06:25
no it doesn't work in Direct3D9Ex
Strange. Those would've been the only things that could've affected it. Anyway, let me build an intermediate version between 21.0 and 21.1 for you to test.
harshal_rio91
24th March 2015, 06:27
Strange. Those would've been the only things that could've affected it. Anyway, let me build an intermediate version between 21.0 and 21.1 for you to test.
ok thanks
Zachs
24th March 2015, 06:30
OK Test it now with build 2971.
harshal_rio91
24th March 2015, 06:32
OK Test it now with build 2971.
link?
Zachs
24th March 2015, 06:34
http://www.zachsaw.com/downloads/mpdn_test/old/
harshal_rio91
24th March 2015, 06:36
http://www.zachsaw.com/downloads/mpdn_test/old/
yes 2971 works
Zachs
24th March 2015, 06:43
OK What about 2971_2?
harshal_rio91
24th March 2015, 06:44
OK What about 2971_2?
works
Zachs
24th March 2015, 06:47
All presentation modes?
harshal_rio91
24th March 2015, 06:50
All presentation modes?
yes works in all modes
Zachs
24th March 2015, 13:10
yes works in all modes
OK. Another attempt - MediaPlayerDotNet_x64_test3.zip (test folder (http://zachsaw.com/downloads/mpdn_test/old/))
Garteal
24th March 2015, 14:42
Again, keep in mind that this is a work-in-progress version of the Playlist extension, so you should probably hold off on reporting any bugs until Garteal is back.
I'd hold off reporting anything until after he releases an RC or final build as there's been a number if things already brought to his attention. Hopefully he'll be back hammering out something final in April.
I will continue work whenever I get some time. You can report issues on my Github fork (https://github.com/Garteal/MPDN_Extensions). That way everything is organized and it'll save me some time. Feature requests are also welcome there (just tag em as such).
Anyway I pushed two commits last night. Testing appreciated!
Commits
- Fixed column remember bug where it didn't remember it when the
playlist window was closed before MPDN
- Greying and striking out files in the playlist that don't exist anymore (due
to moving, renaming or deleting)
- You can now drag and drop multiple folders into the playlist
- Revert old behavior so that the playlist follows MPDN outside the
window bounds, but the playlist will be returned if it gets lost upon
opening MPDN again
- Docking MPDN either left or right will auto dock the playlist maximized to
the other side
- Playlist window changed a bit. You can now maximize and minimize it
- Settings dialog layout changed
- Better docking handling
harshal_rio91
24th March 2015, 18:44
OK. Another attempt - MediaPlayerDotNet_x64_test3.zip (test folder (http://zachsaw.com/downloads/mpdn_test/old/))
no doesn't work in any presentation mode
Zachs
25th March 2015, 00:40
no doesn't work in any presentation mode
OK more builds.
2972_2.zip (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_2_21_1_2972_2.zip)
2972_3.zip (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_2_21_1_2972_3.zip)
harshal_rio91
25th March 2015, 00:50
OK more builds.
2972_2.zip (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_2_21_1_2972_2.zip)
2972_3.zip (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_2_21_1_2972_3.zip)
Both works
Zachs
25th March 2015, 00:57
Huh? But this (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_2_21_1_2972.zip) doesn't work though?
EDIT: Could you test Direct3D 9Ex only?
harshal_rio91
25th March 2015, 01:01
Huh? But this (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_2_21_1_2972.zip) doesn't work though?
EDIT: Could you test Direct3D 9Ex only?
no it doesn't work
DX9 works
Zachs
25th March 2015, 01:30
no it doesn't work
DX9 works
OK now we're getting somewhere!
Could you try this please with Dx10 & 11? 2972_4.zip (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_2_21_1_2972_4.zip)
harshal_rio91
25th March 2015, 01:36
OK now we're getting somewhere!
Could you try this please with Dx10 & 11? 2972_4.zip (http://www.zachsaw.com/downloads/mpdn_test/old/MediaPlayerDotNet_x64_2_21_1_2972_4.zip)
works in both
Zachs
25th March 2015, 01:41
works in both
Good! Now I know what is causing it. I'll try to bring across the changes to the new release in a while and let you test.
harshal_rio91
25th March 2015, 01:42
Good! Now I know what is causing it. I'll try to bring across the changes to the new release in a while and let you test.
thanks a lot
Zachs
25th March 2015, 01:48
thanks a lot
BTW, what does your debug OSD say about your display refresh rate? Does it detect it correctly?
harshal_rio91
25th March 2015, 01:53
BTW, what does your debug OSD say about your display refresh rate? Does it detect it correctly?
the ctrl+J right attached the screenshot
Zachs
25th March 2015, 01:54
Can you put it on imgur? Your attachment is pending approval and may take quite some time before I can see it.
If you let MPDN run for say 5 minutes, does the display rate stabilise (converges to a stable number)?
harshal_rio91
25th March 2015, 01:56
Can you put it on imgur? Your attachment is pending approval and may take quite some time before I can see it.
If you let MPDN run for say 5 minutes, does the display rate stabilise (converges to a stable number)?
here you go : http://imgur.com/j4udczT
display rate stays at 60Hz
Zachs
25th March 2015, 02:04
here you go : http://imgur.com/j4udczT
display rate stays at 60Hz
Ah that's the reason it failed to work.
Chances are you'll never get FluidMotion to work properly, unless NVIDIA fixes the bug that's preventing video players from detecting the true refresh rate. It would appear that it's a (driver?) bug that's affecting your generation of Optimus hardware only.
I can put in a work around in the new version but you won't be getting anywhere near the quality MPDN offers in terms of playback smoothness.
harshal_rio91
25th March 2015, 02:08
Ah that's the reason it failed to work.
Chances are you'll never get FluidMotion to work properly, unless NVIDIA fixes the bug that's preventing video players from detecting the true refresh rate. It would appear that it's a (driver?) bug that's affecting your generation of Optimus hardware only.
I can put in a work around in the new version but you won't be getting anywhere near the quality MPDN offers in terms of playback smoothness.
oh! I reported Nvidia about this bug and today got a reply from them. They asked stupid questions like whether the player was running on nvidia or intel(I stated in the bug report that the player was running on nvidia gpu). Hopefully I hear positive reply from them.
Zachs
25th March 2015, 02:56
You may want to update the bug report to include some details about the cause of the problem.
You should mention to them that this is definitely a bug since other generations of Optimus hardware / driver don't have this problem.
harshal_rio91
25th March 2015, 02:59
You may want to update the bug report to include some details about the cause of the problem.
You should mention to them that this is definitely a bug since other generations of Optimus hardware / driver don't have this problem.
Ya will do so :)
Zachs
25th March 2015, 03:09
Can you quickly give this (http://www.zachsaw.com/downloads/MediaPlayerDotNet/MediaPlayerDotNet_x64_2_23_0_3000.zip) a try and see if it works now?
harshal_rio91
25th March 2015, 03:31
Can you quickly give this (http://www.zachsaw.com/downloads/MediaPlayerDotNet/MediaPlayerDotNet_x64_2_23_0_3000.zip) a try and see if it works now?
yes it works
Zachs
25th March 2015, 03:32
yes it works
Great! That's the same version as the released build.
You should now be able to use the latest player extensions / render scripts from GitHub.
harshal_rio91
25th March 2015, 03:33
Great! That's the same version as the released build.
You should now be able to use the latest player extensions / render scripts from GitHub.
thanks :)
harshal_rio91
25th March 2015, 17:44
You may want to update the bug report to include some details about the cause of the problem.
You should mention to them that this is definitely a bug since other generations of Optimus hardware / driver don't have this problem.
The nvidia people are asking for the email from the developer stating the problem with nvidia Optimus.
I sent them a link to this forum but they want email.
RenderGuy2
25th March 2015, 17:47
Unfortunately I'm ignorant to the possibilities of render scrips. Would it be possible to write a render script that would take a 1920x1080@47.952 fps source and stack even frames over odd frames with a 45 pixel gap/border between frames? The resulting output should be 1920x2205@23.976 fps. Currently I accomplish this by performing these operations with Avisynth and just play the .avs with the player. Seems like these sorts of things could be done faster by a GPU. The point of all this is to produce an HDMI 1.4a compliant frame packed stream I can play on a 3d television. Thanks for the advice.
Anima123
25th March 2015, 18:09
Is there developers be kind enough to write nVidia a proper bug report about the rendering time increasing when when textures are used when playing with MPDN with renderscript or renderscript chain?
It seems nVidia guys are trying to improving there drivers by addressing common bugs, I would like to take this opportunity.
Shiandow
25th March 2015, 21:38
Unfortunately I'm ignorant to the possibilities of render scrips. Would it be possible to write a render script that would take a 1920x1080@47.952 fps source and stack even frames over odd frames with a 45 pixel gap/border between frames? The resulting output should be 1920x2205@23.976 fps. Currently I accomplish this by performing these operations with Avisynth and just play the .avs with the player. Seems like these sorts of things could be done faster by a GPU. The point of all this is to produce an HDMI 1.4a compliant frame packed stream I can play on a 3d television. Thanks for the advice.
At the moment there's no way to change the timing of frames, so going from 47.952 fps to 23.976 fps is not possible. But does Avisynth really use that much CPU? It shouldn't take that much computation to simply put two frames on top of each other.
RenderGuy2
25th March 2015, 22:52
Shiandow, you are correct, stacking the frames takes very little CPU, however, in order to have the odd frame height (2205px) you need at least 4:2:2 chroma, so I've also been using nnedi3 to double the height of the U and V planes. This is probably overkill and uses a fair bit of CPU. I was thinking it might be nice to do high quality chroma up-sampling and frame stacking all in GPU, but as you point out this will not be possible. Thanks for the information.
Zachs
25th March 2015, 23:30
Unfortunately I'm ignorant to the possibilities of render scrips. Would it be possible to write a render script that would take a 1920x1080@47.952 fps source and stack even frames over odd frames with a 45 pixel gap/border between frames? The resulting output should be 1920x2205@23.976 fps. Currently I accomplish this by performing these operations with Avisynth and just play the .avs with the player. Seems like these sorts of things could be done faster by a GPU. The point of all this is to produce an HDMI 1.4a compliant frame packed stream I can play on a 3d television. Thanks for the advice.
This is currently not possible yet as Shiandow explained. However, the ability to access the whole render queue and change a frame's presentation time stamp had been on my to-do list for some time now. It's just a matter of finding some time to implement it.
The nvidia people are asking for the email from the developer stating the problem with nvidia Optimus.
I sent them a link to this forum but they want email.
Sent you a PM.
Is there developers be kind enough to write nVidia a proper bug report about the rendering time increasing when when textures are used when playing with MPDN with renderscript or renderscript chain?
It seems nVidia guys are trying to improving there drivers by addressing common bugs, I would like to take this opportunity.
The problem you're facing no one else seems to manage to replicate though - so it is going to be hard for any devs to report it to Nvidia when we don't even know how to replicate it. harshal_rio91's problem is more specific - it's simply an API function that failed silently.
Shiandow
26th March 2015, 01:37
Shiandow, you are correct, stacking the frames takes very little CPU, however, in order to have the odd frame height (2205px) you need at least 4:2:2 chroma, so I've also been using nnedi3 to double the height of the U and V planes. This is probably overkill and uses a fair bit of CPU. I was thinking it might be nice to do high quality chroma up-sampling and frame stacking all in GPU, but as you point out this will not be possible. Thanks for the information.
I see, well you could just put them on top of each other with an even number of lines padding and then change the padding using a render script. That way you wouldn't need to double the chroma beforehand.
Shiandow
26th March 2015, 02:41
About debanding. I've compared it - and it's not as good as madVR's f3kdb (which is very fast - my implementation takes 4ms on 720p frame on adreno 330 - mobile gpu). It's less effective while nuking a bit more details, compared to "high" in madVR. Also it shifts colors for some reason (and mpdn itself shift colors too).
Well, I've made some changes to the debanding algorithm, it's now far more effective than the old algorithm. The new algorithm is especially better at removing banding in more complicated regions (i.e. quickly varying gradients), MadVR's algorithm just seems to ignore those regions (even when set to high). You'll need to set MadVR's debanding to high to even get close to removing as much banding, but this also seems to remove more detail than the new debanding algorithm.
In short if your goal is to remove all banding while preserving as much detail as possible, I think my algorithm comes out on top. If your goal is to preserve all detail while removing as much banding as possible, then MadVR's debanding set to medium or low might be better.
ryrynz
26th March 2015, 02:46
If your goal is to preserve all detail while removing as much banding as possible, then MadVR's debanding set to medium or low might be better.
Have you considered creating three quality presets like madVR?
Anima123
26th March 2015, 03:45
The problem you're facing no one else seems to manage to replicate though - so it is going to be hard for any devs to report it to Nvidia when we don't even know how to replicate it. harshal_rio91's problem is more specific - it's simply an API function that failed silently.
I would like to do whatever MPDN developers need me to, in order to locate the origin of this problem, like have some debug build for me to run?
Edit: My laptop are all Dell's, one XPS and one Alienware, is there someone also use a Dell's laptop that be kind enough trying to replicate my frustration?
Zachs
26th March 2015, 05:28
I would like to do whatever MPDN developers need me to, in order to locate the origin of this problem, like have some debug build for me to run?
Edit: My laptop are all Dell's, one XPS and one Alienware, is there someone also use a Dell's laptop that be kind enough trying to replicate my frustration?
Problem is we don't even know where to begin looking. The fact that it's not a hard failure and that it takes so long to replicate make it really hard to do anything beyond blindly stabbing at the ... shader code (I'm not even sure if that's the problem)??
BTW, did you test with the latest MPDN?
Anima123
26th March 2015, 06:12
Yes, I tested with 2.23.1, it seems things getting a little bit better, it now can handle SuperChromaRes + SuperRes, no rendering time increasing detected.
Edit: But no luck of SuperRes when NEDI enabled.
kopija
26th March 2015, 12:47
Greetings Mr. Developer,
any chance of adding an "open fullscreen on secondary display" option ?
snowpiercer
26th March 2015, 12:53
The refresh rate of my monitor is set to 72hz, but in fullscreen the player changes the refresh rate of the monitor to 60hz.
When going back to desktop/windowed mode the refresh rate changes back to 72hz. Anything i can try to get 72hz in fullscreen mode?
trandoanhung1991
26th March 2015, 17:00
I'm having a bit of a problem trying to play back a certain file, namely this one: http://www.nyaa.se/?page=view&tid=412430
Even though the specs are very similar to my many other anime movies, this one in particular is very very render-expensive.
Like if I were to play http://www.nyaa.se/?page=view&tid=153054 or http://www.nyaa.se/?page=view&tid=339463, render times would vary between <10ms to <14ms, high quality.
But playing the problematic file would have render times at 25ms and higher.
My settings: high-quality render, ffdshow raw with AviSynth enabled for SVP, script chain: 3 pass SuperChroma -> Deband -> 3 pass SuperRes + NEDI, upscale/downscale: Lanzcos 6 taps with AR, FSE.
I'm happy to provide more details when requested.
http://puu.sh/gQqrI/461812c71d.png
Opening that problematic file in MPDN causes that error to pop up, but doesn't when played back via MPC-HC + madVR.
Is it just a bad encode? If so, any ideas how I can fix it?
ryrynz
27th March 2015, 02:06
Is it just a bad encode? If so, any ideas how I can fix it?
Disable high quality, it's jokingly referred to as placebo mode. You won't see a difference with it disabled and it'll improve your render times considerably (around 2x) I think Zach placed that there solely as a quality before all else option, one that most shouldn't bother enabling.
Anima123
27th March 2015, 02:35
Yes, I tested with 2.23.1, it seems things getting a little bit better, it now can handle SuperChromaRes + SuperRes, no rendering time increasing detected.
Edit: But no luck of SuperRes when NEDI enabled.
Sorry, the rendering time issue still there for SuperChromaRes + SuperRes if I am playing back lower resolution video files. In the end, there's nothing changed on this matter.
To developers:
I have reported crash which happened with both DX 10.01 and DX 11 used, it seems you have fixed this issue in the latest version. Yet at the time I reported, you said it might be a driver bug.
What I mean is, as a developer, as am I in other field, shouldn't we take bug report seriously, especially from a non greener.
trandoanhung1991
27th March 2015, 03:30
Disable high quality, it's jokingly referred to as placebo mode. You won't see a difference with it disabled and it'll improve your render times considerably (around 2x) I think Zach placed that there solely as a quality before all else option, one that most shouldn't bother enabling.
I did without high quality and it dropped maybe 5ms out of render times, still unusable.
What's weird is that the same settings for many many other anime movies I have, both 1080p and 720p, will result in <15ms average render times, peak around 17-20ms. But this will result in 25ms average, 35ms peaks.
FireFreak111
27th March 2015, 03:39
I really want to switch to this more integrated, 64 bit solution, but comparing frame-to-frame with madVR, it seems that madVR retains finer detail compared to MPDN on a 1080p encode on a 1080p screen, so only chroma scaling should be in effect. Am I using the wrong settings? I tried a Renderchain with Deband, SuperRes and SuperResChroma, neither helped with the fine details. I compared without any scaling, debanding or dithering on both players (nearest neighbour), with the HQ setting in MPDN ticked and only the 16bit instead of 32bit checkbox ticked for madVR performance.
This one has ~1 frame difference, but the same slight detail crushing is evident in every comparison I made.
http://screenshotcomparison.com/comparison/118467
Is there some difference in the renderer that would have madVR preserve more detail? Does MPDN have the option of a 16 bit pipeline, or does it already work in one.
Zachs
27th March 2015, 04:28
Greetings Mr. Developer,
any chance of adding an "open fullscreen on secondary display" option ?
It's a rather specific requirement that would be best done using your own player extension (e.g. you may want 3rd/4th/5th... display).
The refresh rate of my monitor is set to 72hz, but in fullscreen the player changes the refresh rate of the monitor to 60hz.
When going back to desktop/windowed mode the refresh rate changes back to 72hz. Anything i can try to get 72hz in fullscreen mode?
I've seen this before with my Nvidia card with monitor at 59Hz but when it goes to FSE mode it switches to 60Hz. That's with Dx10. For some reason, Dx9 and 11 work fine.
Opening that problematic file in MPDN causes that error to pop up, but doesn't when played back via MPC-HC + madVR.
Is it just a bad encode? If so, any ideas how I can fix it?
What was the error that popped up?
To developers:
I have reported crash which happened with both DX 10.01 and DX 11 used, it seems you have fixed this issue in the latest version. Yet at the time I reported, you said it might be a driver bug.
What I mean is, as a developer, as am I in other field, shouldn't we take bug report seriously, especially from a non greener.
I do take bug reports seriously - but as with any software, if the devs can't replicate your problem, it's impossible to fix. I couldn't replicate the device removed error before, until I found a clip and a specific computer that could (i.e. you need a computer/decoder fast enough to trigger the problem). The same code that worked for Dx9 doesn't for Dx10 and Dx11 apparently - so what I did was to sidestep the problem (which is why changelog says it *may* fix the problem).
I did without high quality and it dropped maybe 5ms out of render times, still unusable.
What's weird is that the same settings for many many other anime movies I have, both 1080p and 720p, will result in <15ms average render times, peak around 17-20ms. But this will result in 25ms average, 35ms peaks.
The screen shot shows 1820 instead of 1920 - that could explain the difference in render time. Are you sure 720p and 1080p have the same render time? It shouldn't.
This one has ~1 frame difference, but the same slight detail crushing is evident in every comparison I made.
http://screenshotcomparison.com/comparison/118467
Is there some difference in the renderer that would have madVR preserve more detail? Does MPDN have the option of a 16 bit pipeline, or does it already work in one.
MPDN does everything in 16-bit UNORM (which has higher precision than 16-bit float) unless Max Quality is checked (it'll use 32-bit float in this case).
What sort of detail crushing should we be looking for in the comparison? Since it's not the same frame, it's hard to make any proper comparisons.
FireFreak111
27th March 2015, 04:39
MPDN does everything in 16-bit UNORM (which has higher precision than 16-bit float) unless Max Quality is checked (it'll use 32-bit float in this case).
What sort of detail crushing should we be looking for in the comparison? Since it's not the same frame, it's hard to make any proper comparisons.
It's primarily the jacket and the background (the depth-of-field area). It's minor, and its hard to get frame to frame as even if I select the same chapter (through the menus) in MPDN and MPC-HC, the frame's are slightly different.
On another note, is MPDN dependent on DirectShow? Would it be possible to port this as a Windows app come Windows 10 (post-BUILD, once everyone has a better idea of any improvements to the media API's), considering how its based on .NET and SharpDX? You would likely have to loose the DirectShow graph's, but LAV Filters would be a problem (and would be a shame to loose, wouldn't be worth porting without them). Also, you would have to change the Audio Renderer to WASAPI Shared (or the new AudioGraph API, we don't have details but its a C# API for audio).
Zachs
27th March 2015, 04:51
I noticed that too but the difference is so massive it looked more like one is keyframe and the other isn't.
You can use the go to time code feature to jump to an exact time.
Yeah I thought about creating a Windows store app version but so far all I've found is Media Foundation isn't mature enough yet (We'll need at least XySubFilter and LAV Filters to be ported first).
There's no problem bringing MPDN's renderer across to Windows store app though - and it's fully decoupled from DirectShow (Yes, MPDN uses DirectShow).
FireFreak111
27th March 2015, 07:30
Interesting thing about the Go To. Setting that film to the same Chapter timestamp on both players lead to a one frame jump for MPDN. MPC-HC lets you choose the frame you want, I jumped back one frame in MPC-HC, and its a completely different scene. I jump forward one frame, it matches MPDN.
http://screenshotcomparison.com/comparison/118471
With a shot-to-shot comparison, all I see is better debanding by MPDN. I revoke my statement. This is with SuperRes, SuperChromaRes (which does take effect for 1080p right?) and Deband, along with 4x Jinc for every algorithm. 14ms for a 1080p frame.
If I want NEDI and SuperRes to take control of all image upscaling/downscaling (including doubling the initial Chroma), what are the correct settings in MPDN?
Regardless, MPDN is my new solution for now. Perhaps until madVR moves to 64 bit. It would be interesting to see the DirectShow chain move to the new WinRT framework. Unfortunately we still don't have details on the API's for multimedia in Windows 10. Perhaps then we could see a more feature-complete, more interchangeable pipeline for video playback (or they can stick to what they have now and restrict quality video rendering for the indefinite future on new hardware). Until then, plans likely shouldn't be made for porting to WinRT.
Any chance of WASAPI Shared mode (mixed mode, plus possible Exclusive mode) support in MPDN? DirectSound is quite old, and considering how much of MPDN is based on Vista+ API's, it would be great to see a modern audio API too, making the app more future-proof.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd371455%28v=vs.85%29.aspx
Also, Error Diffusion Dithering? :)
Vyral
27th March 2015, 10:14
Hi,
I'm considering moving from MPC-HC + madVR to MPDN (x64) but I'm still a bit hesitant.
Are all MPC-HC and madVR settings also present in MPDN ?
Will I be able to keep or even improve my current settings ?
My settings :
BT709 calibration with pure power curve set to 2.25
Windowed mode
Jinc 3AR, Jinc 3AR, Catmull-Rom AR/LL
Low debanding
ordered dithering for 720p and lower , error diffusion for 1080p
smooth motion
everything disabled in trade quality for performances
Any tutorial to help me getting started ?
Thanks for your help.
Zachs
27th March 2015, 10:24
Interesting thing about the Go To. Setting that film to the same Chapter timestamp on both players lead to a one frame jump for MPDN. MPC-HC lets you choose the frame you want, I jumped back one frame in MPC-HC, and its a completely different scene. I jump forward one frame, it matches MPDN.
http://screenshotcomparison.com/comparison/118471
With a shot-to-shot comparison, all I see is better debanding by MPDN. I revoke my statement. This is with SuperRes, SuperChromaRes (which does take effect for 1080p right?) and Deband, along with 4x Jinc for every algorithm. 14ms for a 1080p frame.
If I want NEDI and SuperRes to take control of all image upscaling/downscaling (including doubling the initial Chroma), what are the correct settings in MPDN?
Regardless, MPDN is my new solution for now. Perhaps until madVR moves to 64 bit. It would be interesting to see the DirectShow chain move to the new WinRT framework. Unfortunately we still don't have details on the API's for multimedia in Windows 10. Perhaps then we could see a more feature-complete, more interchangeable pipeline for video playback (or they can stick to what they have now and restrict quality video rendering for the indefinite future on new hardware). Until then, plans likely shouldn't be made for porting to WinRT.
Any chance of WASAPI Shared mode (mixed mode, plus possible Exclusive mode) support in MPDN? DirectSound is quite old, and considering how much of MPDN is based on Vista+ API's, it would be great to see a modern audio API too, making the app more future-proof.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd371455%28v=vs.85%29.aspx
Also, Error Diffusion Dithering? :)
NEDI and SuperRes only does upscaling.
You can use the MPC-HC Audio Renderer for WASAPI.
MPDN doesn't have error diffusion yet - but feel free to contribute via render script :)
Anyway, you won't need any dithering if you go full screen exclusive mode with 10-bit output. 10-bit + ordered dithering is already overkill let alone with error diffusion.
snowpiercer
27th March 2015, 10:46
I've seen this before with my Nvidia card with monitor at 59Hz but when it goes to FSE mode it switches to 60Hz. That's with Dx10. For some reason, Dx9 and 11 work fine.
You're right it happens on nvidia, however this occurs with dx9 for me also :(
Zachs
27th March 2015, 10:56
You're right it happens on nvidia, however this occurs with dx9 for me also :(
Hmm it shouldn't - at least according to MSDN's documentation.
Have you tried updating/rolling back the drivers?
FireFreak111
27th March 2015, 11:31
NEDI and SuperRes only does upscaling.
You can use the MPC-HC Audio Renderer for WASAPI.
MPDN doesn't have error diffusion yet - but feel free to contribute via render script :)
Anyway, you won't need any dithering if you go full screen exclusive mode with 10-bit output. 10-bit + ordered dithering is already overkill let alone with error diffusion.
Using the 64 bit edition of MPDN, MPC-HC Audio Renderer isn't an output option, only WaveOut (ancient) and DirectSound.
It won't launch into FSE, I've ticked the box, double clicked it into fullscreen, tried launching it into full screen, turned off the Windowed mode checkbox, all I get is Direct3D 11 Windowed. Windows 10 build 10041, Nvidia 349.90. Any ideas? Getting significant banding with background film grain (shitty display), and I can't just use Error Diffusion or lower the display's bit depth to 6 bit (neither are an option).
Also tried Direct3D 9Ex.
Zachs
27th March 2015, 11:43
Using the 64 bit edition of MPDN, MPC-HC Audio Renderer isn't an output option, only WaveOut (ancient) and DirectSound.
It won't launch into FSE, I've ticked the box, double clicked it into fullscreen, tried launching it into full screen, turned off the Windowed mode checkbox, all I get is Direct3D 11 Windowed. Windows 10 build 10041, Nvidia 349.90. Any ideas? Getting significant banding with background film grain (shitty display), and I can't just use Error Diffusion or lower the display's bit depth to 6 bit (neither are an option).
Also tried Direct3D 9Ex.
Did you install the audio renderer for x64?
Not sure what would stop it from going FSE mode but then again you're running it on a preview OS.
EDIT: Random dithering with higher strength does a pretty good job for 6-bit panels.
trandoanhung1991
27th March 2015, 13:30
What was the error that popped up?
Sometimes this pop up:
===================================
An unexpected error 'SharpDX.SharpDXException' has occurred.
------------------------------
Error Type = SharpDX.SharpDXException
Error Message = HRESULT: [0x8876017C], Module: [SharpDX.Direct3D9], ApiCode: [D3DERR_OUTOFVIDEOMEMORY/OutOfVideoMemory], Message: Unknown
Error Source = SharpDX
Error Site = Void CheckError()
Error occurred = at SharpDX.Result.CheckError()
at SharpDX.Direct3D9.Device.CreateTexture(Int32 width, Int32 height, Int32 levels, Int32 usage, Format format, Pool pool, Texture textureOut, IntPtr sharedHandleRef)
at SharpDX.Direct3D9.Texture..ctor(Device device, Int32 width, Int32 height, Int32 levelCount, Usage usage, Format format, Pool pool, IntPtr& sharedHandle)
at Mpdn.D3D9VideoRenderer.VideoRenderer.CreateRenderTargets()
at Mpdn.D3D9VideoRenderer.VideoRenderer.RecreateResources(Boolean modeSwitch)
at Mpdn.D3D9VideoRenderer.VideoRenderer.set_EnableFullScreen(Boolean value)
at Mpdn.VideoPlayer.VideoPlayer.<>c__DisplayClass2.<set_EnableFullScreen>b__0(Boolean playing)
at Mpdn.VideoPlayer.VideoPlayer.SyncRendererInvoke(Action`1 action)
at Mpdn.VideoPlayer.VideoPlayer.set_EnableFullScreen(Boolean value)
at MediaPlayerDotNet.MainForm.
()
at MediaPlayerDotNet.MainForm.
()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
OS Version = Microsoft Windows NT 6.3.9600.0
Total Physical Memory = 15.9 GB
Available Physical Memory = 8.2 GB
Date Time = 27-Mar-15 7:20:05 PM
User Name = PAWNAGE\Hung
Application Startup Path = C:\Program Files (x86)\Media Player.NET
Application Executable Path = C:\Program Files (x86)\Media Player.NET\MediaPlayerDotNet.exe
CurrentDirectory = D:\Anime\One Piece
SystemDirectory = C:\Windows\system32
Ran As Admin = False
HasShutdownStarted = False
MachineName = PAWNAGE
ProcessorCount = 12
LogicalDrives = C:\, D:\, E:\, F:\
EnvironmentVariables = PROCESSOR_ARCHITEW6432 = AMD64; COMPUTERNAME = PAWNAGE; CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files; TMP = C:\Users\Hung\AppData\Local\Temp; HOMEPATH = \Users\Hung; MOZ_PLUGIN_PATH = C:\Program Files (x86)\Foxit Software\Foxit Reader\plugins\; PROCESSOR_REVISION = 3f02; PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC; INTELMEDIASDK_WINSDK_PATH = C:\Program Files (x86)\Windows Kits\8.0; PROCESSOR_LEVEL = 6; TEMP = C:\Users\Hung\AppData\Local\Temp; LOCALAPPDATA = C:\Users\Hung\AppData\Local; PUBLIC = C:\Users\Public; AV_APPDATA = C:\Users\Hung\AppData\Roaming; PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 63 Stepping 2, GenuineIntel; SSH_AUTH_SOCK = /tmp/ssh-JkXVsg4500/agent.4500; USERDOMAIN = PAWNAGE; ProgramFiles(x86) = C:\Program Files (x86); HOMEDRIVE = C:; SSH_AGENT_PID = 5756; ADSK_MAXDES_x64_2013 = C:\Program Files\Autodesk\3ds Max Design 2013\; CUDA_PATH_V5_0 = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\; PSModulePath = C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files\Intel\; NUMBER_OF_PROCESSORS = 12; CommonProgramFiles = C:\Program Files (x86)\Common Files; VS120COMNTOOLS = C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\; PROG05202499052 = 1; ProgramW6432 = C:\Program Files; ProgramFiles = C:\Program Files (x86); HerokuPath = C:\Program Files (x86)\Heroku; FP_NO_HOST_CHECK = NO; SystemRoot = C:\Windows; SESSIONNAME = Console; CommonProgramW6432 = C:\Program Files\Common Files; LOGONSERVER = \\MicrosoftAccount; Path = C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter;;;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Bitvise SSH Client;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\Heroku\bin;C:\Program Files (x86)\git\cmd;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Common Files\Acronis\TibMounter64; USERPROFILE = C:\Users\Hung; USERDOMAIN_ROAMINGPROFILE = PAWNAGE; APPDATA = C:\Users\Hung\AppData\Roaming; ProgramData = C:\ProgramData; VS110COMNTOOLS = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\; USERNAME = Hung; PROCESSOR_ARCHITECTURE = x86; OS = Windows_NT; ComSpec = C:\Windows\system32\cmd.exe; SystemDrive = C:; windir = C:\Windows; ALLUSERSPROFILE = C:\ProgramData
RuntimeVersion = 4.0.30319.34209
Thread Count = 592
Handle Count = 2671
VM Size = 3.7 GB
Peak VM Size = 3.8 GB
Working Set Size = 2 GB
Max Working Set Size = 1.3 MB
Min Working Set Size = 200 KB
Modules = MediaPlayerDotNet.exe, ntdll.dll, MSCOREE.DLL, KERNEL32.dll, KERNELBASE.dll, ADVAPI32.dll, msvcrt.dll, sechost.dll, RPCRT4.dll, SspiCli.dll, CRYPTBASE.dll, bcryptPrimitives.dll, mscoreei.dll, SHLWAPI.dll, combase.dll, USER32.dll, GDI32.dll, IMM32.DLL, MSCTF.dll, clr.dll, MSVCR120_CLR0400.dll, mscorlib.ni.dll, ole32.dll, kernel.appcore.dll, uxtheme.dll, RTSSHooks.dll, WINMM.dll, MSVCR90.dll, WINMMBASE.dll, cfgmgr32.dll, DEVOBJ.dll, clrjit.dll, OLEAUT32.dll, System.ni.dll, System.Drawing.ni.dll, System.Windows.Forms.ni.dll, CRYPTSP.dll, rsaenh.dll, bcrypt.dll, comctl32.dll, dwmapi.dll, System.Configuration.ni.dll, System.Core.ni.dll, System.Xml.ni.dll, gdiplus.dll, DWrite.dll, WindowsCodecs.dll, BtMmHook.dll, SHELL32.dll, PSAPI.DLL, SHCORE.dll, System.Xml.Linq.ni.dll, VideoFrameServicesNative.dll, MediaInfo.dll, d3d9.dll, VERSION.dll, nvd3dum.dll, nvspcap.dll, SETUPAPI.dll, D3D9NativeServices.dll, AVRT.dll, WTSAPI32.dll, powrprof.dll, nvSCPAPI.dll, WINSTA.dll, nvapi.dll, WINTRUST.dll, CRYPT32.dll, MSASN1.dll, dxgi.dll, d3d11.dll, nvwgf2um.dll, dcomp.dll, Dx11Font.dll, FW1FontWrapper.dll, clbcatq.dll, ws2_32.dll, NSI.dll, mswsock.dll, quartz.dll, LAVSplitter.ax, avformat-lav-56.dll, avutil-lav-54.dll, avcodec-lav-56.dll, libbluray.dll, avresample-lav-2.dll, qcap.dll, MSVFW32.dll, sxs.dll, XySubFilter.dll, COMDLG32.dll, WINSPOOL.DRV, WININET.dll, iertutil.dll, USERENV.dll, profapi.dll, LAVVideo.ax, swscale-lav-3.dll, avfilter-lav-5.dll, CallbackFilter.ax, qedit.dll, nvcuda.dll, ffdshow.ax, DINPUT.dll, DDRAW.dll, DCIMAN32.dll, D3DIM700.DLL, ffmpeg.dll, perfos.dll, LAVAudio.ax, devenum.dll, URLMon.DLL, ReClock.dll, DSOUND.dll, Resampler.dll, Timestretch.dll, Compressor.dll, AC3Lib.dll, PROPSYS.dll, d3dx9_43.dll, sharpdx_direct3d11_effects_x86.dll, D3DCOMPILER_43.dll, MMDevApi.dll, AUDIOSES.DLL, AVIFIL32.dll, DevIL.dll, MSACM32.dll, MSVCP90.dll, OpenCL.dll, nvopencl.dll, nvcompiler.dll, dbghelp.dll, avisynth.dll, svpflow1.dll, svpflow2.dll, Microsoft.VisualBasic.ni.dll, System.Management.ni.dll, diasymreader.dll
===================================
HRESULT: [0x8876017C], Module: [SharpDX.Direct3D9], ApiCode: [D3DERR_OUTOFVIDEOMEMORY/OutOfVideoMemory], Message: Unknown (SharpDX)
------------------------------
Program Location:
at SharpDX.Result.CheckError()
at SharpDX.Direct3D9.Device.CreateTexture(Int32 width, Int32 height, Int32 levels, Int32 usage, Format format, Pool pool, Texture textureOut, IntPtr sharedHandleRef)
at SharpDX.Direct3D9.Texture..ctor(Device device, Int32 width, Int32 height, Int32 levelCount, Usage usage, Format format, Pool pool, IntPtr& sharedHandle)
at Mpdn.D3D9VideoRenderer.VideoRenderer.CreateRenderTargets()
at Mpdn.D3D9VideoRenderer.VideoRenderer.RecreateResources(Boolean modeSwitch)
at Mpdn.D3D9VideoRenderer.VideoRenderer.set_EnableFullScreen(Boolean value)
at Mpdn.VideoPlayer.VideoPlayer.<>c__DisplayClass2.<set_EnableFullScreen>b__0(Boolean playing)
at Mpdn.VideoPlayer.VideoPlayer.SyncRendererInvoke(Action`1 action)
at Mpdn.VideoPlayer.VideoPlayer.set_EnableFullScreen(Boolean value)
at MediaPlayerDotNet.MainForm.
()
at MediaPlayerDotNet.MainForm.
()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
But I was talking about the yellow line at the top of the screen. Apparently this doesn't happen when Maximum Quality is turned off.
The screen shot shows 1820 instead of 1920 - that could explain the difference in render time. Are you sure 720p and 1080p have the same render time? It shouldn't.
720p have around 14ms render time, while 1080p will have around 10ms render time.
So are you saying that because it's not 1920 but 1820, it's being treated like 720p?
Zachs
27th March 2015, 13:40
1920 on a 1920 screen would not need upscaling.
You just ran out of video memory on each instance.
trandoanhung1991
27th March 2015, 14:02
1920 on a 1920 screen would not need upscaling.
You just ran out of video memory on each instance.
I only have 1 instance, and nothing else is using VRAM. This only happened on the newest build :confused:
Also, any ideas why that 1820 file is nearly 3x the render time compared to 1080p, and nearly 2x compared to 720p?
Blackfyre
27th March 2015, 14:48
Any idea why this is happening?
Edit this happens when I try to maximize or enter full-screen mode with 1080p videos while running SVP (I upscale to 1440p, as that's my monitor resolution). It doesn't occur without SVP running and it doesn't occur with MPC (both with and without SVP it runs fine on MPC).
===================================
An unexpected error 'SharpDX.SharpDXException' has occurred.
------------------------------
Error Type = SharpDX.SharpDXException
Error Message = HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect.
Error Source = SharpDX
Error Site = Void CheckError()
Error occurred = at SharpDX.Result.CheckError()
at SharpDX.Direct3D11.Device.OpenSharedResource(IntPtr hResource, Guid returnedInterface, IntPtr& resourceOut)
at SharpDX.Direct3D11.Device.OpenSharedResource[T](IntPtr resourceHandle)
at Mpdn.D3D9VideoRenderer.FrameComposer.Dx11.FrameComposer.CreatedRenderTarget(IntPtr sharedHandle)
at Mpdn.D3D9VideoRenderer.FrameComposer.Dx11.FrameComposer.SetRendererRenderTargets(RenderTarget[] rendererRenderTargets)
at Mpdn.D3D9VideoRenderer.VideoRenderer.CreateRenderTargets()
at Mpdn.D3D9VideoRenderer.VideoRenderer.RecreateResources(Boolean modeSwitch)
at Mpdn.D3D9VideoRenderer.VideoRenderer.OnWindowSizeChanged()
at Mpdn.VideoPlayer.VideoPlayer.<OnControlResized>b__14(Boolean playing)
at Mpdn.VideoPlayer.VideoPlayer.SyncRendererInvoke(Action`1 action)
at Mpdn.VideoPlayer.VideoPlayer.OnControlResized()
at Mpdn.VideoPlayer.VideoPlayer.ControlResize(Object sender, EventArgs eventArgs)
at System.Windows.Forms.Control.OnClientSizeChanged(EventArgs e)
at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight)
at System.Windows.Forms.Control.UpdateBounds()
at System.Windows.Forms.Control.WmWindowPosChanged(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.UserControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
OS Version = Microsoft Windows NT 6.3.9600.0
Total Physical Memory = 7.4 GB
Available Physical Memory = 4.3 GB
Date Time = 27/03/2015 9:45:08 PM
User Name = ***********
Application Startup Path = C:\Users\*******\Desktop\MPDN
Application Executable Path = C:\Users\*******\Desktop\MPDN\MediaPlayerDotNet.exe
CurrentDirectory = C:\Users\*******\Desktop\MPDN
SystemDirectory = C:\WINDOWS\system32
Ran As Admin = True
HasShutdownStarted = False
MachineName = *******
ProcessorCount = 8
LogicalDrives = C:\, D:\, E:\, F:\, G:\, H:\, I:\, J:\, K:\, L:\
EnvironmentVariables = Path = C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Prio;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static; SESSIONNAME = Console; PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC; USERDOMAIN = *******-W8; PROCESSOR_ARCHITECTURE = x86; ProgramW6432 = C:\Program Files; PUBLIC = C:\Users\Public; APPDATA = C:\Users\*******\AppData\Roaming; windir = C:\WINDOWS; LOCALAPPDATA = C:\Users\*******\AppData\Local; CommonProgramW6432 = C:\Program Files\Common Files; TMP = C:\Users\*******\AppData\Local\Temp; USERPROFILE = C:\Users\*******; ProgramFiles = C:\Program Files (x86); PROCESSOR_LEVEL = 6; FP_NO_HOST_CHECK = NO; HOMEPATH = \Users\*******; COMPUTERNAME = *******-W8; PROCESSOR_ARCHITEW6432 = AMD64; USERNAME = *******; NUMBER_OF_PROCESSORS = 8; PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 60 Stepping 3, GenuineIntel; SystemRoot = C:\WINDOWS; ComSpec = C:\WINDOWS\system32\cmd.exe; LOGONSERVER = \\MicrosoftAccount; TEMP = C:\Users\*******\AppData\Local\Temp; ProgramFiles(x86) = C:\Program Files (x86); CommonProgramFiles = C:\Program Files (x86)\Common Files; USERDOMAIN_ROAMINGPROFILE = *******-W8; PROCESSOR_REVISION = 3c03; CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files; ALLUSERSPROFILE = C:\ProgramData; SystemDrive = C:; PSModulePath = C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files\Intel\; OS = Windows_NT; ProgramData = C:\ProgramData; HOMEDRIVE = C:
RuntimeVersion = 4.0.30319.0
Thread Count = 311
Handle Count = 5644
VM Size = 3.6 GB
Peak VM Size = 3.7 GB
Working Set Size = 1008.1 MB
Max Working Set Size = 1.3 MB
Min Working Set Size = 200 KB
Modules = MediaPlayerDotNet.exe, ntdll.dll, MSCOREE.DLL, KERNEL32.dll, KERNELBASE.dll, ADVAPI32.dll, msvcrt.dll, sechost.dll, RPCRT4.dll, SspiCli.dll, CRYPTBASE.dll, bcryptPrimitives.dll, mscoreei.dll, SHLWAPI.dll, combase.dll, USER32.dll, GDI32.dll, IMM32.DLL, MSCTF.dll, prio32.dll, kernel.appcore.dll, clr.dll, MSVCR120_CLR0400.dll, mscorlib.ni.dll, ole32.dll, uxtheme.dll, clrjit.dll, OLEAUT32.dll, System.ni.dll, System.Drawing.ni.dll, System.Windows.Forms.ni.dll, CRYPTSP.dll, rsaenh.dll, bcrypt.dll, comctl32.dll, dwmapi.dll, System.Configuration.ni.dll, System.Core.ni.dll, System.Xml.ni.dll, gdiplus.dll, DWrite.dll, WindowsCodecs.dll, shell32.dll, SHCORE.dll, System.Xml.Linq.ni.dll, VideoFrameServicesNative.dll, MediaInfo.dll, d3d9.dll, VERSION.dll, aticfx32.dll, atiu9pag.dll, atiumdag.dll, atiumdva.dll, POWRPROF.dll, D3D9NativeServices.dll, SETUPAPI.dll, WINMM.dll, AVRT.dll, WTSAPI32.dll, CFGMGR32.dll, WINMMBASE.dll, DEVOBJ.dll, WINSTA.dll, dxgi.dll, d3d11.dll, atiuxpag.dll, atidxx32.dll, dcomp.dll, Dx11Font.dll, FW1FontWrapper.dll, clbcatq.dll, ws2_32.dll, NSI.dll, mswsock.dll, comdlg32.dll, profapi.dll, tiptsf.dll, explorerframe.dll, DUser.dll, DUI70.dll, Windows.Globalization.dll, Bcp47Langs.dll, globinputhost.dll, PROPSYS.dll, StructuredQuery.dll, actxprxy.dll, atlthunk.dll, thumbcache.dll, SearchFolder.dll, IDStore.dll, SAMLIB.dll, wlidprov.dll, MPR.dll, drprov.dll, ntlanman.dll, davclnt.dll, DAVHLPR.dll, wkscli.dll, cscapi.dll, netutils.dll, apphelp.dll, NetworkExplorer.dll, twinapi.dll, twinapi.appcore.dll, dlnashext.dll, PlayToDevice.dll, DevDispItemProvider.dll, PortableDeviceApi.dll, WINTRUST.dll, CRYPT32.dll, MSASN1.dll, PortableDeviceTypes.dll, provsvc.dll, ntshrui.dll, srvcli.dll, mssprxy.dll, urlmon.dll, iertutil.dll, WININET.dll, USERENV.dll, quartz.dll, LAVSplitter.ax, avformat-lav-56.dll, avutil-lav-54.dll, avcodec-lav-56.dll, libbluray.dll, avresample-lav-2.dll, qcap.dll, MSVFW32.dll, sxs.dll, LAVVideo.ax, swscale-lav-3.dll, avfilter-lav-5.dll, CallbackFilter.ax, qedit.dll, ffdshow.ax, DINPUT.dll, DDRAW.dll, DCIMAN32.dll, D3DIM700.DLL, ffmpeg.dll, perfos.dll, LAVAudio.ax, devenum.dll, MMDevAPI.DLL, wdmaud.drv, ksuser.dll, AUDIOSES.DLL, msacm32.drv, MSACM32.dll, midimap.dll, DSOUND.DLL, d3dx9_43.dll, msiltcfg.dll, msi.dll, sharpdx_direct3d11_effects_x86.dll, D3DCOMPILER_43.dll, avisynth.dll, AVIFIL32.dll, DevIL.dll, MSVCP90.dll, MSVCR90.dll, WINSPOOL.DRV, svpflow1.dll, svpflow2.dll, svpflow_gpu.dll, OpenCL.dll, IntelOpenCL32.dll, intelocl32.dll, task_executor32.dll, OPENGL32.dll, GLU32.dll, cpu_device32.dll, igdrcl32.dll, igdfcl32.dll, dbghelp.dll, igdbcl32.dll, igdusc32.dll, amdocl.dll, atiadlxy.DLL, PSAPI.DLL, IPHLPAPI.DLL, WINNSI.DLL, amdhsasc.DLL, atigktxx.dll, Microsoft.VisualBasic.ni.dll, System.Management.ni.dll, diasymreader.dll
===================================
HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect.
(SharpDX)
------------------------------
Program Location:
at SharpDX.Result.CheckError()
at SharpDX.Direct3D11.Device.OpenSharedResource(IntPtr hResource, Guid returnedInterface, IntPtr& resourceOut)
at SharpDX.Direct3D11.Device.OpenSharedResource[T](IntPtr resourceHandle)
at Mpdn.D3D9VideoRenderer.FrameComposer.Dx11.FrameComposer.CreatedRenderTarget(IntPtr sharedHandle)
at Mpdn.D3D9VideoRenderer.FrameComposer.Dx11.FrameComposer.SetRendererRenderTargets(RenderTarget[] rendererRenderTargets)
at Mpdn.D3D9VideoRenderer.VideoRenderer.CreateRenderTargets()
at Mpdn.D3D9VideoRenderer.VideoRenderer.RecreateResources(Boolean modeSwitch)
at Mpdn.D3D9VideoRenderer.VideoRenderer.OnWindowSizeChanged()
at Mpdn.VideoPlayer.VideoPlayer.<OnControlResized>b__14(Boolean playing)
at Mpdn.VideoPlayer.VideoPlayer.SyncRendererInvoke(Action`1 action)
at Mpdn.VideoPlayer.VideoPlayer.OnControlResized()
at Mpdn.VideoPlayer.VideoPlayer.ControlResize(Object sender, EventArgs eventArgs)
at System.Windows.Forms.Control.OnClientSizeChanged(EventArgs e)
at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight)
at System.Windows.Forms.Control.UpdateBounds()
at System.Windows.Forms.Control.WmWindowPosChanged(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.UserControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Zachs
28th March 2015, 03:14
I only have 1 instance, and nothing else is using VRAM. This only happened on the newest build :confused:
Also, any ideas why that 1820 file is nearly 3x the render time compared to 1080p, and nearly 2x compared to 720p?
When I said 'each instance', I meant each case, not instance as in program instance. You ran out of VRAM most likely because you enabled Max Quality (with VRAM being shared with SVP too).
Any idea why this is happening?
Edit this happens when I try to maximize or enter full-screen mode with 1080p videos while running SVP (I upscale to 1440p, as that's my monitor resolution). It doesn't occur without SVP running and it doesn't occur with MPC (both with and without SVP it runs fine on MPC).
Sounds like you've run out of VRAM as well. Did you enable Max Quality? It requires twice as much VRAM.
FireFreak111
28th March 2015, 05:11
Did you install the audio renderer for x64?
Not sure what would stop it from going FSE mode but then again you're running it on a preview OS.
EDIT: Random dithering with higher strength does a pretty good job for 6-bit panels.
I installed MPC-HC 64 bit, but I am not aware of a standalone.
FSE happened once for some reason, I switched it to 10 bit, it crashed, never happened again. And your right on the random dithering, but at this point I should get a new display, both of mine are CCFL panels, thick, old and with horrible color.
XRyche
28th March 2015, 05:59
I don't know if this has been asked before or not, I haven't seen it. But is there anyway you can make the Navigation PlayerExtension work with a standard MCE Remote? Similar to the way MPC-HC does it using the media descriptor keys themselves.
Blackfyre
28th March 2015, 09:49
Sounds like you've run out of VRAM as well. Did you enable Max Quality? It requires twice as much VRAM.
Same problem occurs with it enabled or disabled (but yes I had enabled, I have monitor vRAM using AfterBurner and report back though). Why doesn't Max Quality use max available vRAM, rather than a certain amount?
Shouldn't it be configured that way? So that if I have 3GB vRAM my GPU uses 2.5GB for example out of 3GB (leaving 500mb empty for headroom)... if you have 6GB vRAM; it uses 5.5GB and so on and so forth? that way running out of vRAM issues won't occur.
EDIT: Fixed vRAM issue
First of all, correct Zachs, I was running out of vRAM (I used MSI AfterBurner to monitor the GPU). Second, I had render queue set to 32, I decreased it to 12, now even with Max Quality enabled, vRAM won't go over 1.5GB.
Thanks again Zachs.
Zachs
28th March 2015, 10:15
Max quality uses twice the amount of VRAM because it uses 32 bit float instead of the usual 16 bit unorm texture for intermediate result storage.
Edit: I see you've found the problem. Yes you're in control of how much RAM it uses via render queue and the Max Quality option. Render scripts use a base line amount that can't be avoided if you choose to use them.
Zachs
28th March 2015, 14:03
The refresh rate of my monitor is set to 72hz, but in fullscreen the player changes the refresh rate of the monitor to 60hz.
When going back to desktop/windowed mode the refresh rate changes back to 72hz. Anything i can try to get 72hz in fullscreen mode?
I just found a driver bug that could have caused this. Apparently if you set custom refresh rate and used Nvidia control panel to switch to that rate, it'll revert to 60hz when you go fse mode. That's simply because Nvidia hasn't told windows the mode has changed. Just make sure you use the standard windows display properties page instead.
Zachs
28th March 2015, 14:06
Regarding VRAM usage, I've also found that if you use too much of it but not enough to trigger out of memory or invalid parameter exception from SharpDX, you may get increasing or peaky render times. Perhaps this is cause of your problem Anima123? Try lowering your render queue to 8 to see if it fixes anything.
Anima123
28th March 2015, 19:15
Regarding VRAM usage, I've also found that if you use too much of it but not enough to trigger out of memory or invalid parameter exception from SharpDX, you may get increasing or peaky render times. Perhaps this is cause of your problem Anima123? Try lowering your render queue to 8 to see if it fixes anything.
Just tried lower render queue to 8 and MPDN just crashed when I tried to get into FSE, using SuperChromaRes + SuperRes with NEDI enabled.
Edit: Sorry, I just rebooted my laptop and did some quick tests, no crash now (it seems my OS hasn't reboot for quite some time).
I have lowered render queue to 8, and then Direct 3D backbuffer to 8, and yet no luck.
The nVidia card with my Laptop is 880M which has 8G memory, so it hardly could be lack of memory that caused the issue.
BRM
28th March 2015, 19:30
Regarding the subtitle issue:
https://www.youtube.com/watch?v=ZSXNdbWjJwk&feature=youtu.be
Anima123
28th March 2015, 19:45
Just tried lower render queue to 8 and MPDN just crashed when I tried to get into FSE, using SuperChromaRes + SuperRes with NEDI enabled.
Edit: Sorry, I just rebooted my laptop and did some quick tests, no crash now (it seems my OS hasn't reboot for quite some time).
I have lowered render queue to 8, and then Direct 3D backbuffer to 8, and yet no luck.
The nVidia card with my Laptop is 880M which has 8G memory, so it hardly could be lack of memory that caused the issue.
Speaking of render queue, if set render queue to 20, I only got filled of 15/20, when using SuperChromaRes + SuperRes (NEDI disabled, 5 round).
Edit: And when render queue get maximized, the playback of the video became stuttering even the statistics said it's perfect.
Zachs
28th March 2015, 23:56
Regarding the subtitle issue:
https://www.youtube.com/watch?v=ZSXNdbWjJwk&feature=youtu.be
It's not enabled and it could be due to several reasons. For example, have you set it up properly to enable subtitle?
Speaking of render queue, if set render queue to 20, I only got filled of 15/20, when using SuperChromaRes + SuperRes (NEDI disabled, 5 round).
Edit: And when render queue get maximized, the playback of the video became stuttering even the statistics said it's perfect.
Wow I didn't even know they are up to 8gb for VRAM these days. They still have to copy that to the system ram for the igp to display to the screen though which kinda defeats the benefits of the whole 8gb VRAM in a way. In that case it had nothing to do with running out of video memory. How much system ram have you got just out of curiosity?
Blackfyre
29th March 2015, 00:37
Wow I didn't even know they are up to 8gb for VRAM these days. They still have to copy that to the system ram for the igp to display to the screen though which kinda defeats the benefits of the whole 8gb VRAM in a way. In that case it had nothing to do with running out of video memory. How much system ram have you got just out of curiosity?
Haha Zachs we've had videocards with 8GB RAM for a while now. The GTX Titan X came out with 12GB VRAM a week ago (it's way out of my budget), costs around $1600 here in Australia.
Zachs
29th March 2015, 00:57
Wow. OK. But this is a laptop though. And Optimus no less.
ryrynz
29th March 2015, 01:40
Wow. OK. But this is a laptop though. And Optimus no less.
I was a little surprised also but considering I've got an 850m with 4GB on it here at work.. 8 isn't much of a stretch. I believe the desktop ram is a fair bit faster though which is why you'd see more ram on mobile.
BRM
29th March 2015, 02:29
It's not enabled and it could be due to several reasons. For example, have you set it up properly to enable subtitle?
What do you mean? I do have Xysubfilter, and it's set to load subtitles automatically, which I would expect it to do, especially given that it's a mkv file, although it would be pleasant to be able to load external subtitles as well.
https://i.imgur.com/yz6fvTN.png
Zachs
29th March 2015, 02:35
I was a little surprised also but considering I've got an 850m with 4GB on it here at work.. 8 isn't much of a stretch. I believe the desktop ram is a fair bit faster though which is why you'd see more ram on mobile.
VRAM or system ram? I have been googling but nothing came up with 8gb video ram for Optimus system.
Edit: wow how wrong was I! A little more googling and I found one that has 16gb gddr5 VRAM!
Zachs
29th March 2015, 02:37
What do you mean? I do have Xysubfilter, and it's set to load subtitles automatically, which I would expect it to do, especially given that it's a mkv file, although it would be pleasant to be able to load external subtitles as well.
Well for starters, make sure you do have the correct version of XySubFilter installed i.e. 64bit if you're using 64bit MPDN.
trandoanhung1991
29th March 2015, 04:16
I'm having some troubles with the latest build.
1. Sometimes the video will get stuck for no reason, but the audio stream will continue to play and I have to seek to get it working again. Also when this happens, if I back out of FSE mode it'll cause a crash with OutOfMemory error.
2. There's a delay of 200ms between video and audio. Doesn't happen with MPC-HC.
3. It says out of memory even though when monitored it's only using 2GB of VRAM, when I have 4GB.
Zachs
29th March 2015, 06:35
I managed to replicate issue #1. But it doesn't result in out of memory error though. Anyway I think it's a consequential error from it freezing in the first place.
The audio video delay I cannot replicate on any of my systems. I suggest you check your settings.
trandoanhung1991
29th March 2015, 11:09
I managed to replicate issue #1. But it doesn't result in out of memory error though. Anyway I think it's a consequential error from it freezing in the first place.
The audio video delay I cannot replicate on any of my systems. I suggest you check your settings.
The out of memory error happens if you switch between full screen and windowed and back a few times when the video freezes.
The audio delay, I found out, happens because of ReClock. It doesn't detect the video stream, so it can't sync up and somehow causes the audio delay.
Zachs
29th March 2015, 11:19
BTW it doesn't happen if you use direct 3d 9ex right?
It's due to the workaround I implemented to avoid device removed error.
thogil
29th March 2015, 18:20
Could we have a 'Never' option for Always on Top? The behaviour seems to have changed a couple builds ago, and now I am having difficulty keeping MPDN from showing on top of MBT. It appears that top-most re-asserts itself whenever a video is started or stopped.
Blackfyre
29th March 2015, 21:57
VRAM or system ram? I have been googling but nothing came up with 8gb video ram for Optimus system.
Edit: wow how wrong was I! A little more googling and I found one that has 16gb gddr5 VRAM!
Haha didn't know you were talking about Optimus... I found this:
NVIDIA® GeForce® GT 630M with NVIDIA® Optimus™ technology, 26 GB of dedicated DDR3 VRAM, supporting NVIDIA® CUDA™, PhysX™, PureVideo® HD technology, OpenEXR High Dynamic-Range (HDR) technology, Shader Model 5.0, Microsoft® DirectX® 11, OpenGL® 4.1, OpenCL™ 1.1
Here's the link (but it's an old GT 630M and it's DDR3 vRAM)
http://panam.gateway.com/s/notebook/2012/Gateway/NV/NV56R/NV56Rsp2.shtml
ryrynz
29th March 2015, 23:34
Here's the link (but it's an old GT 630M and it's DDR3 vRAM)
That will be a typo. The 620m had 16GB and that would be the same for the 630m.
Zachs
29th March 2015, 23:48
Could we have a 'Never' option for Always on Top? The behaviour seems to have changed a couple builds ago, and now I am having difficulty keeping MPDN from showing on top of MBT. It appears that top-most re-asserts itself whenever a video is started or stopped.
There's already an option to disable "Always on Top" - isn't that working for you?
Zachs
30th March 2015, 04:18
The out of memory error happens if you switch between full screen and windowed and back a few times when the video freezes.
The audio delay, I found out, happens because of ReClock. It doesn't detect the video stream, so it can't sync up and somehow causes the audio delay.
Video freezing issue should now be fixed with v.4.
ReClock really needs to have a manual mode that allows you to adjust ref clock according to what MPDN has detected. I posted on their forum a while ago asking if it's possible to allow manual entry for each refresh rate but got no response.
burfadel
30th March 2015, 07:56
I suspect it might be the case that others have a sub-optimal choice here as well. Certainly looks good with Direct 3D 11, 'Render in maximum quality', 16 taps for JINC+anti ringing, slightly stronger random dithering with no coloured noise, 16-bit output (TV is set to 12-bit, so is actually feasible over 10-bit), deband --> superRes --> SuperChromares --> Image processor (lumasharpen shader from SweetFX, and he unsharp shader from JanWillem32 shader pack). I don't think it's overkill :)
EDIT: Just realised the adaptor thing I mentioned before this edit! It's a bit obvious now, the TV is adaptor 1, the screen is adaptor 0. If '0' is selected for the TV, it doesn't enter exclusive mode (hence black transparent progress bar), and likewise with the screen with it set to '1' (TV).
Maybe a change in terminology would save any possible confusion or incorrect setting for others?
thogil
30th March 2015, 08:54
There's already an option to disable "Always on Top" - isn't that working for you?
I did wonder about the wording of the option, but I must be missing something, as I cannot see an option to disable it?
http://i.imgur.com/piOs6ku.jpg
Zachs
30th March 2015, 10:16
I suspect it might be the case that others have a sub-optimal choice here as well. Certainly looks good with Direct 3D 11, 'Render in maximum quality', 16 taps for JINC+anti ringing, slightly stronger random dithering with no coloured noise, 16-bit output (TV is set to 12-bit, so is actually feasible over 10-bit), deband --> superRes --> SuperChromares --> Image processor (lumasharpen shader from SweetFX, and he unsharp shader from JanWillem32 shader pack). I don't think it's overkill :)
EDIT: Just realised the adaptor thing I mentioned before this edit! It's a bit obvious now, the TV is adaptor 1, the screen is adaptor 0. If '0' is selected for the TV, it doesn't enter exclusive mode (hence black transparent progress bar), and likewise with the screen with it set to '1' (TV).
Maybe a change in terminology would save any possible confusion or incorrect setting for others?
Your render chain should be in this order: SuperChromaRes --> Deband --> SuperRes --> ImageProcessor.
Regarding adapter numbering, it's the one Direct3D expects, and usually corresponds with Windows via "Identify my displays" / "Identify" under Control Panel's Display | Screen resolution settings.
I did wonder about the wording of the option, but I must be missing something, as I cannot see an option to disable it?
http://i.imgur.com/piOs6ku.jpg
Main menu bar --> Window --> Always on Top.
burfadel
30th March 2015, 11:37
Your render chain should be in this order: SuperChromaRes --> Deband --> SuperRes --> ImageProcessor.
Regarding adapter numbering, it's the one Direct3D expects, and usually corresponds with Windows via "Identify my displays" / "Identify" under Control Panel's Display | Screen resolution settings.
Ah okay, that makes sense :), although it's not the same as 'Identify my displays'. In that, it's screen 1 and 2, and in the adaptor list it is 0 and 1.
Thanks for the correct render order, I thought I might have got it wrong!
Zachs
30th March 2015, 11:52
Oh it's actually the same, just that one is zero based and the other is one based. Programmers tend to assume they're the same lol :)
aufkrawall
30th March 2015, 15:32
Nice development lately.
However, is it allowed regarding copyright to post a single image out of a movie/series for image quality comparisons?
trandoanhung1991
30th March 2015, 15:46
I suspect it might be the case that others have a sub-optimal choice here as well. Certainly looks good with Direct 3D 11, 'Render in maximum quality', 16 taps for JINC+anti ringing, slightly stronger random dithering with no coloured noise, 16-bit output (TV is set to 12-bit, so is actually feasible over 10-bit), deband --> superRes --> SuperChromares --> Image processor (lumasharpen shader from SweetFX, and he unsharp shader from JanWillem32 shader pack). I don't think it's overkill :)
EDIT: Just realised the adaptor thing I mentioned before this edit! It's a bit obvious now, the TV is adaptor 1, the screen is adaptor 0. If '0' is selected for the TV, it doesn't enter exclusive mode (hence black transparent progress bar), and likewise with the screen with it set to '1' (TV).
Maybe a change in terminology would save any possible confusion or incorrect setting for others?
Wow, what kind of GPU do you have :eek:
Does MPDN work with SLI?
aufkrawall
30th March 2015, 15:53
SuperRes needs much less GPU performance than NNEDI3 64, so most likely a normal R9 290 wouldn't have any problems (apart from producing heat).
burfadel
31st March 2015, 02:17
Oh it's actually the same, just that one is zero based and the other is one based. Programmers tend to assume they're the same lol :)
Actually interestingly enough, the computer screen is adaptor 0 and the TV adaptor 1, but the TV is display 1 through 'Identify' in the screen resolution settings, and the computer monitor 2. This is because the TV connects via HDMI, and it's the availability of connectors on the display card (1 HDMI, 1 DVI, 2 mini-displayport). As my screen doesn't have displayport it's connected via DVI, and becomes 'screen 2'.
Now, in the screen resolution settings (the Windows settings I mean, where you click 'Identify' for the screens), you can arrange the screens in any order you like. Such that for me, screen 2 is on the left.
So MPDN calls screens 'display adaptors', may 'display screen' would be better since 'display adaptor' can be used to describe a video card as well. Also starting from 1 instead of 0 might be good :). I also believe that MPDN is effectively numbering the screens left to right, which means the display list is back to front for me and others in my situation.
I hope that wasn't too confusing!
Zachs
31st March 2015, 04:43
Graphics adapter is a terminology used by Direct3D 9 and it is what it requires when you initialize it. MPDN started out as a D3D9 video renderer so I've used that same convention since the first version. I'll probably change this at some point.
burfadel
31st March 2015, 07:19
Graphics adapter is a terminology used by Direct3D 9 and it is what it requires when you initialize it. MPDN started out as a D3D9 video renderer so I've used that same convention since the first version. I'll probably change this at some point.
Ah ok, no worries!
Zachs
31st March 2015, 07:47
It's done. v2.24.1.
trandoanhung1991
31st March 2015, 17:02
Quick question:
Should I disable Luma/Chroma Upscaling if I use SuperChromaRes and SuperRes? It seems redundant to upscale using an expensive algorithm like Lanczos and then upscaled again via SuperRes.
Or am I understanding it incorrectly? Cause coming from madVR, I understood that upscaling can be performed either by Lanczos/Jinc/etc or NNEDI3. But here it seems to be that things are going to be upscaled twice if I use RenderScript.
aufkrawall
31st March 2015, 17:51
Is there a reason why MPDN Jinc is much softer than Jinc of madVR?
MPDN Jinc4 AR (+deband):
http://abload.de/thumb/mpdndebandj4arzla34.png (http://abload.de/image.php?img=mpdndebandj4arzla34.png)
madVR Jinc3 AR (+deband):
http://abload.de/thumb/madvrdebandj3arg6ljr.png (http://abload.de/image.php?img=madvrdebandj3arg6ljr.png)
MPDN Jinc16 AR (without deband):
http://abload.de/thumb/mpdnjinc16arn8xhr.png (http://abload.de/image.php?img=mpdnjinc16arn8xhr.png)
Due to this, e.g. the cage in the lower right corner seems significantly darker with MPDN. Is this intended?
------------
It would be also great if we had something similar like NNEDI3 with MPDN (even greater if it wouldn't rely on OpenCL).
SuperRes comes with significantly more aliasing and doubled contoures (very bad for e.g. cartoons) in comparison.
MPDN SuperRes:
http://abload.de/thumb/mpdndebandsuperresytuxd.png (http://abload.de/image.php?img=mpdndebandsuperresytuxd.png)
madVR NNEDI3 64 neurons (fast GPUs can handle it):
http://abload.de/thumb/madvrnnedi364k9uwj.png (http://abload.de/image.php?img=madvrnnedi364k9uwj.png)
Blackfyre
31st March 2015, 21:44
@aufkrawall
I think a long time ago I read somewhere in this thread that Jinc in MPDN is half of what it is in Madvr because it uses a different algorithm (or something along those lines, I'm not sure)... So if you're using Jinc4 in Madvr, you need to set Jinc8 in MPDN to achieve the same result.
Zachs
31st March 2015, 23:24
Quick question:
Should I disable Luma/Chroma Upscaling if I use SuperChromaRes and SuperRes? It seems redundant to upscale using an expensive algorithm like Lanczos and then upscaled again via SuperRes.
Or am I understanding it incorrectly? Cause coming from madVR, I understood that upscaling can be performed either by Lanczos/Jinc/etc or NNEDI3. But here it seems to be that things are going to be upscaled twice if I use RenderScript.
MPDN's internal upscalers are disabled automatically when you use SuperChromaRes and SuperRes. RenderScripts take precedence over MPDN's own scalers.
Is there a reason why MPDN Jinc is much softer than Jinc of madVR?
Due to this, e.g. the cage in the lower right corner seems significantly darker with MPDN. Is this intended?
First of all MPDN's Jinc is different to madVR's. I have madVR's Jinc on my todo list but it's been given a lower priority seeing that NEDI is much better at getting rid of aliasing and is sharper at the same time while being computationally only as expensive as Jinc3.
Secondly, Blackfyre is correct too - for any other scalers, they are similar to madVR but MPDN count taps in the same way as AviSynth (6 taps is equivalent to madVR's 3).
It would be also great if we had something similar like NNEDI3 with MPDN (even greater if it wouldn't rely on OpenCL).
SuperRes comes with significantly more aliasing and doubled contoures (very bad for e.g. cartoons) in comparison.
MPDN SuperRes
Is that with NEDI enabled?
MPDN's RenderScript API supports DirectCompute 5.0, so it is definitely possible but so far no one has taken up the task of using it for anything useful yet.
My direction with MPDN isn't to make it exactly the same as madVR but to create a video player and renderer that the community can extend via scripts and plugins, much like what Winamp did for audio back in the days.
huhn
31st March 2015, 23:37
nnedi3 with directcompute was terrible slow madshi already tried it to avoid general issue with nvidia back in the time and AMD interop issue. the openCL version was a lot faster.
aufkrawall
1st April 2015, 00:09
First of all MPDN's Jinc is different to madVR's. I have madVR's Jinc on my todo list but it's been given a lower priority seeing that NEDI is much better at getting rid of aliasing and is sharper at the same time while being computationally only as expensive as Jinc3.
Ok. So for now, it's normal that also with 16 taps, there is less sharpness?
Is that with NEDI enabled?
Yes.
My direction with MPDN isn't to make it exactly the same as madVR but to create a video player and renderer that the community can extend via scripts and plugins, much like what Winamp did for audio back in the days.
I really appreciate your idea and efforts and hope that the community will invent great stuff with it, similar to AviSynth.
Zachs
1st April 2015, 00:16
Ok. So for now, it's normal that also with 16 taps, there is less sharpness?
I really appreciate your idea and efforts and hope that the community will invent great stuff with it, similar to AviSynth.
Yup. It's just a different scaler.
aufkrawall
1st April 2015, 00:38
Talking of AviSynth: Is there a chance that MPDN will become open source some day?
Zachs
1st April 2015, 01:00
No plans at this time but never say never.
burfadel
1st April 2015, 01:03
v2.24.1 Changelog:
Graphics adapter ID now shows the name of the adapter and its attached monitor
Thanks! Works perfectly :).
trandoanhung1991
1st April 2015, 17:49
So to update my situation with the Spriggan file:
Apparently somehow the 1820 width was confusing MPDN and causing it to scale up the res which caused huge rendering times (my opinion). Once I reencode the video and changed the width to 1920 the rendering times went back to normal.
Zachs
2nd April 2015, 01:04
It's not confusing MPDN. When you have a 1820 input and you want to display it on a 1920 target, a renderer has to scale it.
Since scaling 720 to 1920 is more expensive than 360->1920, I'd say the same holds true for 720 vs 1820.
ryrynz
2nd April 2015, 01:07
Perhaps an option to not scale based on user resolution preferences would be worthwhile? If target resolution is < 10% of source file then don't scale for example.
Zachs
2nd April 2015, 01:18
I don't think other renderers would treat it any differently would they?
ryrynz
2nd April 2015, 02:02
Have yet to see one that would treat it any differently. This is also where madVR's scaling profiles come in quite handy.
Slimcut217
6th April 2015, 15:03
Hi,
Thanks for your work, it's my new default video player, works great with the svp motion plus.
I just would like to solve when the player does this
http://abload.de/img/mpdny0s7v.png
with some movies, mainly the ones in 1080p. It works with other players.
I've read regular troubleshooting problems and it isn't one of them, so i apologize if the answer has already been asked.
Anime Viewer
7th April 2015, 00:25
Hi,
Thanks for your work, it's my new default video player, works great with the svp motion plus.
I just would like to solve when the player does this
http://abload.de/img/mpdny0s7v.png
with some movies, mainly the ones in 1080p. It works with other players.
I've read regular troubleshooting problems and it isn't one of them, so i apologize if the answer has already been asked.
Is the video resolution and your screen resolution both 1080p? What scripts do you have running? (Any resize ones...its possible there may be a bug in the specific script). (Also what order are your scripts set to run - if you're using more than one).
Slimcut217
7th April 2015, 10:45
Is the video resolution and your screen resolution both 1080p? What scripts do you have running? (Any resize ones...its possible there may be a bug in the specific script). (Also what order are your scripts set to run - if you're using more than one).
You were totally right, it was a script render problem, well spotted. I was using super res and i just change it for super chroma res, now it works perfectlly, thanks to you.
Have a nice day
Zachs
8th April 2015, 12:44
You were totally right, it was a script render problem, well spotted. I was using super res and i just change it for super chroma res, now it works perfectlly, thanks to you.
Have a nice day
This sounds strange as it shouldn't cause the image to appear that way. What was the exact sequence of script chain you used? And was that 1080p video -> 1080p screen?
iron2000
8th April 2015, 17:01
Having subtitle problems here too.
Some mkvs load subs but some don't.
I notice when theres some subtitle selection in the LAV Spliter tray icon menu then the subtitle will not display in the player.
By the way where are the settings of MPDN saved?
If in registry, what path/key loacation?
ryrynz
8th April 2015, 22:50
I notice when theres some subtitle selection in the LAV Spliter tray icon menu then the subtitle will not display in the player.
Can you upload a sample?
By the way where are the settings of MPDN saved?
%localappdata%\MediaPlayerDotNet
Zachs
8th April 2015, 23:58
Yup. I'll need a sample to work out if it's anything wrong with MPDN's subtitle loading.
Zachs
9th April 2015, 04:44
Hi guys,
I need some testers as I'd like to find out how well DirectX-OpenCL memory sharing works across the different cards out there.
You'll need a GPU that supports OpenCL obviously.
If you have multiple GPUs on your system, you can pass the exe file an integer command line argument to specify which adapter (in the same order as older versions of MPDN). E.g. DxClTest.exe 2.
If the GPU selected doesn't support OpenCL, the app will terminate immediately. If it runs, let it run for around 2 minutes (treat it like a benchmark and make sure no other apps are running and don't touch your mouse / keyboard when it's running) and let me know the min/max FPS over that duration.
I'd appreciate it if you could provide me with the following info,
1) Min/max FPS over 2 minutes.
2) Which GPU did you test it on (e.g. Intel HD 4000, Nvidia GTX 560).
Finally, here's the tester in a zip archive (http://www.zachsaw.com/downloads/mpdn_test/DxClTest5.zip).
If it terminates immediately but you know your GPU supports OpenCL 1.2 with DX memory sharing extension, then you could run DebugView and report the error message.
Cheers!
ryrynz
9th April 2015, 04:57
If the GPU selected doesn't support OpenCL, the app will terminate immediately.
I guess my 750Ti doesn't support OpenCL..:D
Zachs
9th April 2015, 04:59
I guess my 750Ti doesn't support OpenCL..:D
Hmm, strange. My HD4000 worked fine though. Can you run DebugView and see if you get any debug messages from that test app? Also give it a different adapter ID (try your Intel adapter) and see if it works?
ryrynz
9th April 2015, 05:09
OpenCL 1.2 available
Failed to init OpenCl for Dx9 memory sharing
HD4600 is disabled currently.
Scyna
9th April 2015, 05:18
Amd 290 261/455
Zachs
9th April 2015, 05:38
OpenCL 1.2 available
Failed to init OpenCl for Dx9 memory sharing
HD4600 is disabled currently.
Could you run this new version (http://www.zachsaw.com/downloads/mpdn_test/DxClTest2.zip) with DebugView and let me know what the error code is?
ryrynz
9th April 2015, 05:58
Could you run this new version (http://www.zachsaw.com/downloads/mpdn_test/DxClTest2.zip) with DebugView and let me know what the error code is?
Error 0.
Zachs
9th April 2015, 06:02
Error 0.
Looks like your OpenCL driver is reporting that it hasn't got the extensions for DX9/OpenCL memory sharing. Weird.
Anyone else with Nvidia GPU facing the same problem?
patul
9th April 2015, 06:34
HD4000
[3152] OpenCL 1.2 is available
[3152] Failed to init OpenCL for Dx9 memory sharing, error 0
Zachs
9th April 2015, 06:37
HD4000
[3152] OpenCL 1.2 is available
[3152] Failed to init OpenCL for Dx9 memory sharing, error 0
Can you make sure your drivers are up to date? I had the same problem with my Intel HD P4600 before I updated to the latest driver.
ryrynz
9th April 2015, 07:14
Can you make sure your drivers are up to date? I had the same problem with my Intel HD P4600 before I updated to the latest driver.
Heh. That's what I've been doing.. they're always up to date, was running 350.05 at first then I reverted to 347.88 to test again. I've even done a clean install.. no dice.
patul
9th April 2015, 07:21
Can you make sure your drivers are up to date? I had the same problem with my Intel HD P4600 before I updated to the latest driver.
Updated to non manufacturer driver (latest).
Intel HD4000 306/316
Zachs
9th April 2015, 07:26
Updated to non manufacturer driver (latest).
Intel HD4000 306/316
Cool! Exactly the same as what I get then.
Zachs
9th April 2015, 07:28
Heh. That's what I've been doing.. they're always up to date, was running 350.05 at first then I reverted to 347.88 to test again. I've even done a clean install.. no dice.
OK here's another build (http://www.zachsaw.com/downloads/mpdn_test/DxClTest3.zip) with even more debug messages.
ryrynz
9th April 2015, 07:53
[3508] OpenCL 1.2 is available
[3508] Platform count: 2
[3508] *** Platform #0
[3508] Not the GPU that was used to create the DX9 device
[3508] *** Platform #1
[3508] OpenCL driver missing memory sharing capabilities
[3508] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
[3508] Failed to init OpenCL for Dx9 memory sharing, error 0
Deleted the ghost device of the HD4600 but it didn't change anything.
[3172] OpenCL 1.2 is available
[3172] Platform count: 1
[3172] *** Platform #0
[3172] OpenCL driver missing memory sharing capabilities
[3172] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
[3172] Failed to init OpenCL for Dx9 memory sharing, error 0
Zachs
9th April 2015, 08:18
Hmm. I'll give this a go on my Nvidia gtx 560 when I get home tonight. I'd be surprised if they really don't have that extension when the other two have it.
huhn
9th April 2015, 08:37
doesn't work with an r9 270 no error at all. just a black box that opens and closes immediately.
and openCL works 100% on this machine.
here an example that openCL clearly works and an example for the serious directx <-> openCL interop problem on all AMD cards.
http://abload.de/img/opencltestxaket.png
ryrynz
9th April 2015, 08:45
doesn't work with an r9 270 no error at all. just a black box that opens and closes immediately.
and openCL works 100% on this machine.
Run DebugView from MS and run the latest tester build (version 3) that Zach posted, be interesting to see if it's the the same issue as I have.
huhn
9th April 2015, 08:47
Run DebugView from MS and run the latest tester build (version 3) that Zach posted, be interesting to see if it's the the same issue as I have.
how does this work ?
edit: ok wasn't that hard:
00000001 0.00000000 [2796] OpenCL 1.2 is available
00000002 0.20579149 [2796] Platform count: 2
00000003 0.20582041 [2796] *** Platform #0
00000004 0.20598039 [2796] Not the GPU that was used to create the DX9 device
00000005 0.20601714 [2796] *** Platform #1
00000006 0.20605360 [2796] Not the GPU that was used to create the DX9 device
00000007 0.20608492 [2796] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000008 0.20611626 [2796] Failed to init OpenCL for Dx9 memory sharing, error 0
Mat Rempit
9th April 2015, 09:07
GTX 860m/HD 4600 here. Got this from DebugView when attempting to run DxClTest3 on my Nvidia GPU:
[10408] OpenCL 1.2 is available
[10408] Platform count: 2
[10408] *** Platform #0
[10408] Not the GPU that was used to create the DX9 device
[10408] *** Platform #1
[10408] OpenCL driver missing memory sharing capabilities
[10408] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
[10408] Failed to init OpenCL for Dx9 memory sharing, error 0
HD4600 works fine though, fps(196.81,188.036).
ryrynz
9th April 2015, 09:16
Wonder why Scyna's AMD 290 works with the test tool but Huhn's 270 doesn't =/
Anyway, glad I'm not alone.. :D
Zachs
9th April 2015, 09:21
How many GPUs do you guys have on your system? Might've made a mistake in my code when there's more than one GPU that supports openCL.
ryrynz
9th April 2015, 09:34
My second test removed the second GPU, so that might rule that out..
Zachs
9th April 2015, 10:13
Any chance you'll be kind enough to give me an error log of that one with just the one GPU?
ryrynz
9th April 2015, 10:31
It was exactly the same. It just had GPU 0 rather than 0 & 1.
Zachs
9th April 2015, 11:28
Looks like Nvidia doesn't have that OpenCL extension (cl_khr_dx9_media_sharing) at all! The latest AMD and Intel drivers both have them.
ryrynz
9th April 2015, 11:31
Looks like Nvidia doesn't have that OpenCL extension (cl_khr_dx9_media_sharing) at all! The latest AMD and Intel drivers both have them.
Nice easy explanation for everyone other than huhn :)
nevcairiel
9th April 2015, 11:38
NVIDIA's 1.2 support is rather new, there isn't even a proper release driver with OpenCL 1.2 support yet, so I wouldn't expect too much from it, not to mention extensions.
huhn
9th April 2015, 11:39
the iGPU driver are installed but shouldn't be active.
maybe the issue with with windows 10?
i check my nvidia PC now.
Zachs
9th April 2015, 11:42
the iGPU driver are installed but shouldn't be active.
maybe the issue with with windows 10?
i check my nvidia PC now.
You can check if your driver has that extension using this software - http://www.geeks3d.com/20150127/gpu-caps-viewer-1-23-0-released/
I can confirm that Nvidia drivers don't have it...
nevcairiel
9th April 2015, 11:46
I don't suppose you can just use cl_nv_d3d9_sharing instead? :d
huhn
9th April 2015, 11:49
00000001 0.00000000 [2952] OpenCL 1.2 is available
00000002 0.02042571 [2952] Platform count: 2
00000003 0.02048539 [2952] *** Platform #0
00000004 0.02055941 [2952] Not the GPU that was used to create the DX9 device
00000005 0.02059452 [2952] *** Platform #1
00000006 0.02062904 [2952] OpenCL driver missing memory sharing capabilities
00000007 0.02066035 [2952] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000008 0.02072910 [2952] Failed to init OpenCL for Dx9 memory sharing, error 0
it's the same with my nvidia pc this is driver 349.90.but if this extension is needed nothing new i guess. i can check my AMD system later when my calibration is finished there.
Zachs
9th April 2015, 11:49
I could, but it's a bit of a hassle since I only have an Nvidia card capable of that extension when I am home...
Do you know if v350.05 which adds support for OpenCL 1.2 has that extension?
EDIT: Nope. Just downloaded it myself and it doesn't even have support for OpenCL 1.2.
huhn
9th April 2015, 11:54
yes it does and cl_nv_d3d10_sharing, cl_nv_d3d11_sharing and cl_khr_d3d10_sharing
edit: screen added my knowledge is pretty bad in this type of PC stuff.
http://abload.de/img/nvextensionsqxu36.png
huhn
9th April 2015, 11:56
I could, but it's a bit of a hassle since I only have an Nvidia card capable of that extension when I am home...
Do you know if v350.05 which adds support for OpenCL 1.2 has that extension?
EDIT: Nope. Just downloaded it myself and it doesn't even have support for OpenCL 1.2.
350.05 is the first none windows 10 version with openCL 1.2
nevcairiel
9th April 2015, 12:00
350.05 does not have cl_khr_dx9_media_sharing, but it does have a long list of other sharing extensions, like cl_nv_d3d9_sharing, cl_nv_d3d10_sharing, cl_nv_d3d11_sharing and cl_khr_d3d10_sharing
It does claim OpenCL 1.2, too.
Zachs
9th April 2015, 12:09
Not according to GPU caps viewer - it is only OpenCL 1.1.
cl_khr_d3d9_sharing is what I need - not d3d10. It's a shame that Nvidia is the only one that left it out.
nevcairiel
9th April 2015, 12:10
http://i.imgur.com/bR0qTlP.png
Looks like 1.2 to me.
PS:
I couldn't find any mention of cl_khr_d3d9_sharing in any official documentation, only 10.
And nothing stopping you from implementing the nv extensions. Welcome to the world of Open(G|C)L. So open that everyone has their own extension instead of standards. :D
At least they register their extensions with khronos, so that the specs for those are available on the official website. ;)
Zachs
9th April 2015, 12:35
It may only be for Titan X then. My GTX 560 is still showing OpenCL 1.1.
Sorry, I meant cl_khr_dx9_media_sharing :P
PS. Does anyone have an unwanted Fermi or newer card lying around they wanna contribute to the development of MPDN? :)
nevcairiel
9th April 2015, 12:37
560/Fermi is relatively old, maybe Maxwell only, or Kepler and up. Definitely not Titan X only. ;)
Zachs
9th April 2015, 12:39
Just out of curiosity, does it have cl_khr_dx9_media_sharing in the extensions?
huhn
9th April 2015, 12:57
You can check if your driver has that extension using this software - http://www.geeks3d.com/20150127/gpu-caps-viewer-1-23-0-released/
I can confirm that Nvidia drivers don't have it...
cl_khl_dx9_media_sharing is listed for my r9 270
Zachs
9th April 2015, 13:01
cl_khl_dx9_media_sharing is listed for my r9 270
And that test app still failed? Did you give it the right adapter ID?
huhn
9th April 2015, 13:13
And that test app still failed? Did you give it the right adapter ID?
i tried 0-4. it crashes with 2-4 and it simply closes with 0-1.
is there a way to find out what the right id is?
my amd is PCI bus 1, device 0, function 0
my intel 4400 is PCI bus 0, device 2, function 0
Zachs
9th April 2015, 13:28
i tried 0-4. it crashes with 2-4 and it simply closes with 0-1.
is there a way to find out what the right id is?
my amd is PCI bus 1, device 0, function 0
my intel 4400 is PCI bus 0, device 2, function 0
0 is your primary, 1 is your secondary.
huhn
9th April 2015, 13:42
0 is your primary, 1 is your secondary.
i disconnected my AMD and connected my intel HD 4400 and 0 works as intended:
at default window size it is 282.
changing back to my AMD r9 270 and using 1 still doesn't work.
it try to disable the intel in the bios later.
edit: still doesn't work with my AMD.
Zachs
9th April 2015, 15:20
Well I managed to hack together something for Nvidia using their own extension (it comes with a lot of limitations vs the official extension) but it's appallingly slow! It's around 56fps vs AMD/Intel's 300-400 range.
Is there a driver version that works better for Nvidia?
Scyna
9th April 2015, 15:45
I have amd 290 and intel hd running on my desktop at the same time.
I had to do "DxClTest.exe 2" to work. 1 didn't work for me.
Zachs
10th April 2015, 00:55
Did 3 not work as well? It is exactly the same as 2 only with more debug messages.
Zachs
10th April 2015, 05:01
OK guys, here's another OpenCL test app (http://www.zachsaw.com/downloads/mpdn_test/DxClTest4.zip).
Debug log now prints the extensions supported as well as the GPU name of your chosen adapterID.
More importantly, I've added Nvidia GPU support. Could you guys with Nvidia GPU (as well as the Optimus guys) give it a go and report back?
As before, I'm interested in min/max frame rate and your GPU model.
Oh and if you don't see flickering / flashing square then it isn't actually working.
Cheers!
ryrynz
10th April 2015, 05:31
Geforce 820M 56 FPS
Geforce 840M 66 FPS
Geforce 850M 109 FPS (updated to 350.05 driver and gained 3FPS)
Not much fluctuation in frame rates.
Zachs
10th April 2015, 05:33
Wow that's quite slow compared to even Intel GPUs.
These are Optimus systems right? What does GPU-Z say about GPU load?
ryrynz
10th April 2015, 05:39
Yup. 83 to 85% for both.
Surprisingly the 820M and the 840M have the exact same performance in this test. *edit* Was testing another 840M..
Zachs
10th April 2015, 05:49
Not very surprising if they both have the same amount of memory bandwidth :)
ryrynz
10th April 2015, 06:13
Actually tested another 840M (should've double checked) Same memory bandwidth as the 840M yeah, the 820M gets 56 FPS.
A few FPS seed boost using 350.05 drivers.
Scyna
10th April 2015, 06:22
394/404 i did DxClTest.exe 2. only 2 would work out of 0-4. the others would crash it. I had amd 290 and intel hd on here. I'm not sure how to tell which gpu ran that or how to see debug. nm my msi afterburner shows activity with the intel hd so i don't know how to get it to work with my amd.
Anima123
10th April 2015, 06:25
HD 4600: 194.xx fps
My laptop has Optimus and it seems unable to use the nVidia 880M on the test program, as GPU-Z indicated.
Edit: In the FineSharp thread, you mentioned:
Yes this change would be necessary for MPDN's UNORM (which is the default now) texture too.
Is that modification necessary? I didn't see corresponding changes made with render script.
Zachs
10th April 2015, 06:28
Ah I don't think you had it running on AMD at all then.
Can you try running the latest test app and run DebugView in the background?
When you run DxClTest.exe 0 (try all 0-4), it'll spit out debug messages in your DebugView window. The first line should say which adapter it is running on. When you find out which is the right AMD adapter ID, could you paste the log here for me?
Zachs
10th April 2015, 06:29
HD 4600: 194.xx fps
My laptop has Optimus and it seems unable to use the nVidia 880M on the test program, as GPU-Z indicated.
I think you have to set the app to use Optimus specifically in your Optimus tray icon.
Anima123
10th April 2015, 06:30
I think you have to set the app to use Optimus specifically in your Optimus tray icon.
I did set 3D settings in the nVidia Control panel, which didn't work. What's the Optimus tray icon?
Edit: From what GPU-Z told me, the test app uses nVidia 880M for a few seconds before it fall back to the HD 4600.
Zachs
10th April 2015, 06:33
I did set 3D settings in the nVidia Control panel, which didn't work. What's the Optimus tray icon?
Edit: From what GPU-Z told me, the test app uses nVidia 880M for a few seconds before it fall back to the HD 4600.
There's a tray icon that allows you to select which app to run in high performance mode - do you not have that?
Scyna
10th April 2015, 06:34
How do i see the DebugView window?
Zachs
10th April 2015, 06:34
In the FineSharp thread, you mentioned:
Is that modification necessary? I didn't see corresponding changes made with render script.
Yes, otherwise it will not work with MPDN's render quality set to Quality mode (High quality and performance modes are fine).
Zachs
10th April 2015, 06:35
How do i see the DebugView window?
Download it :)
https://technet.microsoft.com/en-us/library/bb896647.aspx
ryrynz
10th April 2015, 06:35
Radeon M265X 320 - 330 FPS.
Scyna
10th April 2015, 06:43
ok heres the log
number 0
00000001 0.00000000 [54500] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000002 0.02059710 [54500] OpenCL is available
00000003 0.21124578 [54500] Platform count: 2
00000004 0.21126309 [54500] *** Platform #0
00000005 0.21129417 [54500] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000006 0.21130730 [54500] Found KHR mem sharing extension
00000007 0.21133956 [54500] Not the GPU that was used to create the DX9 device
00000008 0.21135221 [54500] *** Platform #1
00000009 0.21142387 [54500] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000010 0.21143784 [54500] Found KHR mem sharing extension
00000011 0.21149036 [54500] Not the GPU that was used to create the DX9 device
00000012 0.21150286 [54500] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000013 0.21152897 [54500] Failed to init OpenCL for Dx9 memory sharing, error 0
number 1
00000001 0.00000000 [57100] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000002 0.02235969 [57100] OpenCL is available
00000003 0.26790410 [57100] Platform count: 2
00000004 0.26792377 [57100] *** Platform #0
00000005 0.26795542 [57100] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000006 0.26796749 [57100] Found KHR mem sharing extension
00000007 0.26801911 [57100] Not the GPU that was used to create the DX9 device
00000008 0.26805118 [57100] *** Platform #1
00000009 0.26812592 [57100] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000010 0.26814377 [57100] Found KHR mem sharing extension
00000011 0.26819196 [57100] Not the GPU that was used to create the DX9 device
00000012 0.26821083 [57100] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000013 0.26823172 [57100] Failed to init OpenCL for Dx9 memory sharing, error 0
Anima123
10th April 2015, 06:47
There's a tray icon that allows you to select which app to run in high performance mode - do you not have that?
With my laptop, the only way to do that is through nVidia Settings.
Zachs
10th April 2015, 06:57
ok heres the log
What OS are you running?
Scyna
10th April 2015, 07:08
windows 8.1 64x
ryrynz
10th April 2015, 07:09
AMD M260 170 - 183 FPS
Nvidia 750 Ti 180 FPS, 70% GPU load, 47% Memory controller load.
Overclocking 200 MHz on the core and 250MHz on the memory only gained me 8 FPS.
Zachs
10th April 2015, 08:07
OK guys, here's a new tester (http://www.zachsaw.com/downloads/mpdn_test/DxClTest5.zip). It should improve Nvidia's framerate by quite a large margin (other GPUs should benefit as well) so please give it another try.
Zachs
10th April 2015, 08:09
ok heres the log
It appears that the AMD driver reported two platforms but neither will work with the Direct3D device. I'll try to figure out what is going on.
EDIT: Can you run the latest tester with DebugView again? I'd like to see what the new log says.
ryrynz
10th April 2015, 08:21
Nvidia 750 Ti 480 FPS default, 528 FPS overlocked. Quite the jump..
90% GPU load, 85% Memory controller load.
nevcairiel
10th April 2015, 08:27
1350 fps on my TITAN X, nice jump. ;)
huhn
10th April 2015, 09:20
nvidia GTX 760
880-886
i will try my AMD now.
huhn
10th April 2015, 09:31
00000002 11.41599751 [460] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000003 11.46118355 [460] OpenCL is available
00000004 11.65129471 [460] Platform count: 2
00000005 11.65131569 [460] *** Platform #0
00000006 11.65141201 [460] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000007 11.65143967 [460] Found KHR mem sharing extension
00000008 11.65151119 [460] Not the GPU that was used to create the DX9 device
00000009 11.65153790 [460] *** Platform #1
00000010 11.65156460 [460] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000011 11.65157604 [460] Found KHR mem sharing extension
00000012 11.65160370 [460] Not the GPU that was used to create the DX9 device
00000013 11.65162563 [460] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000014 11.65165138 [460] Failed to init OpenCL for Dx9 memory sharing, error 0
yeah...
Zachs
10th April 2015, 09:33
Did you test with test5? It doesn't have a debug message that I have added...
huhn
10th April 2015, 10:11
Did you test with test5? It doesn't have a debug message that I have added...
this is 5 even the folder is called DxClTest5.
here a new debug:
00000001 0.00000000 [5356] *** Using D3D9 adapter: ?øWuìû
00000002 9.16881275 [4592] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000003 9.20585537 [4592] OpenCL is available
00000004 9.39220238 [4592] Platform count: 2
00000005 9.39222336 [4592] *** Platform #0
00000006 9.39232159 [4592] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000007 9.39234924 [4592] Found KHR mem sharing extension
00000008 9.39242458 [4592] Not the GPU that was used to create the DX9 device
00000009 9.39245129 [4592] *** Platform #1
00000010 9.39247799 [4592] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000011 9.39250469 [4592] Found KHR mem sharing extension
00000012 9.39252949 [4592] Not the GPU that was used to create the DX9 device
00000013 9.39253807 [4592] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000014 9.39256191 [4592] Failed to init OpenCL for Dx9 memory sharing, error 0
i have to use 0 even through this should be wrong but 1-5 just crashes.
Zachs
10th April 2015, 10:16
That's really strange. The debug log doesn't even have the error messages I added for DxClTest5. I'll upload another one later to be sure.
Zachs
10th April 2015, 11:53
OK I've just uploaded DxClTest6.zip (http://zachsaw.com/downloads/mpdn_test/DxClTest6.zip). Can you give that a try on the AMD?
EDIT: Can you also give DxClTest7 (http://zachsaw.com/downloads/mpdn_test/DxClTest7.zip) a try? (I don't have an AMD card capable of OpenCL with that extension so it's a little hard for me to work out what is wrong)
nekromantik
10th April 2015, 12:05
On my GTX860m Im getting around 430fps
edit: Tried it on test5 and got higher result!
Zachs
10th April 2015, 12:07
630-640fps on my GTX560 :)
huhn
10th April 2015, 12:51
OK I've just uploaded DxClTest6.zip (http://zachsaw.com/downloads/mpdn_test/DxClTest6.zip). Can you give that a try on the AMD?
EDIT: Can you also give DxClTest7 (http://zachsaw.com/downloads/mpdn_test/DxClTest7.zip) a try? (I don't have an AMD card capable of OpenCL with that extension so it's a little hard for me to work out what is wrong)
6:
00000001 0.00000000 [2312] *** Using D3D9 adapter: ?øWuüAZu\Xu¦
00000002 12.07929420 [2552] *** Using D3D9 adapter: ?þ=
00000003 22.51970100 [5864] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000004 22.55743027 [5864] OpenCL is available
00000005 23.02622986 [5864] Platform count: 2
00000006 23.02625275 [5864] *** Platform #0
00000007 23.02634621 [5864] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000008 23.02637482 [5864] Found KHR mem sharing extension
00000009 23.02644730 [5864] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000010 23.02647400 [5864] Not the GPU that was used to create the DX9 device
00000011 23.02648926 [5864] *** Platform #1
00000012 23.02651978 [5864] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000013 23.02653122 [5864] Found KHR mem sharing extension
00000014 23.02656174 [5864] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000015 23.02658272 [5864] Not the GPU that was used to create the DX9 device
00000016 23.02660370 [5864] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000017 23.02662659 [5864] Failed to init OpenCL for Dx9 memory sharing, error 0
7:
00000001 0.00000000 [5616] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000002 0.04256799 [5616] OpenCL is available
00000003 0.23263597 [5616] Platform count: 2
00000004 0.23265587 [5616] *** Platform #0
00000005 0.23275588 [5616] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000006 0.23278330 [5616] Found KHR mem sharing extension
00000007 0.23286042 [5616] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000008 0.23288633 [5616] Not the GPU that was used to create the DX9 device
00000009 0.23291224 [5616] *** Platform #1
00000010 0.23293784 [5616] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000011 0.23294748 [5616] Found KHR mem sharing extension
00000012 0.23297732 [5616] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000013 0.23299961 [5616] Not the GPU that was used to create the DX9 device
00000014 0.23302069 [5616] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000015 0.23304479 [5616] Failed to init OpenCL for Dx9 memory sharing, error 0
Zachs
10th April 2015, 13:09
Hmm for some reason the AMD driver doesn't match the OpenCL platform with the Direct3D device even though it's been created on that GPU. I'll see if I can get my 4350 to work.
Zachs
10th April 2015, 13:18
Just to confirm, does it work when you choose the Intel adapter?
EDIT:
Looking back at your posts, I think you're using DxClTest.exe incorrectly.
If you have two GPUs on your system (AMD and Intel) where AMD is your primary, you should run
DxClTest.exe 0
You can then test it out on your Intel GPU by running
DxClTest.exe 1
Unless you have 6 GPUs on your system, you can't run DxClTest.exe 5.
When I said Test5, I meant DxClTest5.zip, not running it with an argument of 5.
huhn
10th April 2015, 13:30
Just to confirm, does it work when you choose the Intel adapter?
when i connect my intel yes.
http://forum.doom9.org/showpost.php?p=1716773&postcount=1650
the intel is just running in headless mode.
i just connected my intel and run version 7: it is slower with ~256-275 FPS.
madshi openCLspeedtest tool works totally fine on my AMD and Intel. so openCL should work in general and the same dx9 <-> openCL interop is mostly likely tested.
huhn
10th April 2015, 13:32
Just to confirm, does it work when you choose the Intel adapter?
EDIT:
Looking back at your posts, I think you're using DxClTest.exe incorrectly.
If you have two GPUs on your system (AMD and Intel) where AMD is your primary, you should run
You can then test it out on your Intel GPU by running
Unless you have 6 GPUs on your system, you can't run DxClTest.exe 5.
When I said Test5, I meant DxClTest5.zip, not running it with an argument of 5.
i tested all numbesr from 1-5 none worked they simply crashed and like i said 1 should be correct but simply no chance.
Zachs
10th April 2015, 13:33
When you said it crashed, did it spit out any error messages in DebugView at all?
EDIT: DxClTest8.zip (http://zachsaw.com/downloads/mpdn_test/DxClTest8.zip) will now spit out an error and terminate gracefully if you give it an out of range adapter ID.
huhn
10th April 2015, 13:37
When you said it crashed, did it spit out any error messages in DebugView at all?
00000001 0.00000000 [5608] *** Using D3D9 adapter: `ùWu¼ú(
00000002 0.00003675 [5608] OpenCL is available
00000003 0.22444552 [5608] Platform count: 2
00000004 0.22447082 [5608] *** Platform #0
00000005 0.22456332 [5608] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000006 0.22458711 [5608] Found KHR mem sharing extension
huhn
10th April 2015, 13:42
EDIT: DxClTest8.zip (http://zachsaw.com/downloads/mpdn_test/DxClTest8.zip) will now spit out an error and terminate gracefully if you give it an out of range adapter ID.
tested 0-5
all report invalid adapter except 0 which should be the intel.
Zachs
10th April 2015, 13:43
Direct3D is reporting gibberish as your Intel GPU adapter name (e.g. mine says Intel HD Graphics)...
Zachs
10th April 2015, 13:44
tested 0-5
all report invalid adapter except 0 which should be the intel.
Is this with your AMD card in the system or not?
There's something fundamentally wrong if Direct3D can only detect one adapter if you have both the AMD and Intel GPUs enabled.
EDIT: Anyone else with a discrete AMD card tried the app?
huhn
10th April 2015, 13:48
Direct3D is reporting gibberish as your Intel GPU adapter name (e.g. mine says Intel HD Graphics)...
http://forum.doom9.org/showpost.php?p=1716926&postcount=1693
this is with 1 which should be the AMD.
0 reports the AMD when the AMD is connected and 0 reports the intel when the intel is connected
00000036 614.51904297 [1236] *** Using D3D9 adapter: Intel(R) HD Graphics 4400
maybe they changed something in my windows 10 build. but the nvidia PC is running windows 10 to and it works with "1" perfectly. and other things like madVR nnedi3 and the test tool is working fine...
Zachs
10th April 2015, 13:54
I'm not sure I understand what you're saying - if you have just the Intel active, then yes 0 should be Intel. In that scenario, does the app work at all?
When the AMD is connected, but with Intel disabled, can you get the app to run (0 is the AMD in this case)?
ryrynz managed to run the test app with AMD mobile GPUs though, so I'm not sure what the problem is. Anyway, could you isolate the problem by running just the AMD card and see if it works at all?
huhn
10th April 2015, 14:09
I'm not sure I understand what you're saying - if you have just the Intel active, then yes 0 should be Intel. In that scenario, does the app work at all?
When the AMD is connected, but with Intel disabled, can you get the app to run (0 is the AMD in this case)?
ryrynz managed to run the test app with AMD mobile GPUs though, so I'm not sure what the problem is. Anyway, could you isolate the problem by running just the AMD card and see if it works at all?
ok let's get all informations together.
i have 1 screen A TV connected with HDMI.
my PC has 2 GPUs the intel HD4400 and the AMD r9 270.
when i simply connect the intel it works by using your tool with 0 the intel is reported and the test starts.
when i connect the AMD and run your tool using 0 it reports my AMD as the d3d device and your tool doesn't work with 0 and 1-5+ just crash.
even when the intel is disabled in the device manager it is reported as platform 0 and the AMD as platform 1
00000004 0.22374628 [1748] *** Platform #0
00000005 0.22381918 [1748] Extensions: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_intel_exec_by_local_thread cl_khr_depth_images cl_khr_3d_image_writes cl_khr_fp64 cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing cl_khr_gl_sharing
00000006 0.22384751 [1748] Found KHR mem sharing extension
00000007 0.22387823 [1748] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000008 0.22390415 [1748] Not the GPU that was used to create the DX9 device
00000009 0.22391771 [1748] *** Platform #1
00000010 0.22394782 [1748] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000011 0.22396199 [1748] Found KHR mem sharing extension
00000012 0.22399694 [1748] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
the last thing i can do is disabling the intel again (i'm not even sure if i can disable the GPU completly) in the bios and try it again but this didn't work in the past.
i never actively used both GPUs at the same time.
are you using windows 8 or newer they added GPU headless mode for these version maybe there is the problem.
huhn
10th April 2015, 14:17
i "disabled" the intel iGPU in the bios and i check the device manager. the intel wasn't listed.
but when i run your tool i get the same error:
1 0.00000000 [4132] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000002 0.04985124 [4132] OpenCL is available
00000003 0.22598872 [4132] Platform count: 2
00000004 0.22602366 [4132] *** Platform #0
00000005 0.22610079 [4132] Extensions: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_intel_exec_by_local_thread cl_khr_depth_images cl_khr_3d_image_writes cl_khr_fp64 cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing cl_khr_gl_sharing
00000006 0.22612910 [4132] Found KHR mem sharing extension
00000007 0.22616556 [4132] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000008 0.22619207 [4132] Not the GPU that was used to create the DX9 device
00000009 0.22620443 [4132] *** Platform #1
00000010 0.22623274 [4132] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000011 0.22625533 [4132] Found KHR mem sharing extension
00000012 0.22628576 [4132] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000013 0.22630836 [4132] Not the GPU that was used to create the DX9 device
00000014 0.22633457 [4132] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000015 0.22635926 [4132] Failed to init OpenCL for Dx9 memory sharing, error 0
and the intel is still listed as platform 0...
here even a screen: http://abload.de/img/testsyj7m.png
Zachs
10th April 2015, 14:22
Thanks for testing huhn!
I think the Intel platform will always be there because your Intel CPU supports OpenCL as well.
I'll check my code to see if there's anything wrong with it. This is different from the Nvidia + Intel case as only one platform has cl_khr_dx9_media_sharing.
Zachs
10th April 2015, 14:29
OK last attempt to test my hypothesis before I call it a night - DxClTest9.zip (http://zachsaw.com/downloads/mpdn_test/DxClTest9.zip) initializes in the reverse order so it should pick up the AMD one first.
huhn
10th April 2015, 14:45
sorry didn't worked
00000001 0.00000000 [2680] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000002 0.03274702 [2680] OpenCL is available
00000003 0.22503611 [2680] Platform count: 2
00000004 0.22506173 [2680] *** Platform #1
00000005 0.22509155 [2680] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000006 0.22511385 [2680] Found KHR mem sharing extension
00000007 0.22514789 [2680] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000008 0.22516958 [2680] Not the GPU that was used to create the DX9 device
00000009 0.22519279 [2680] *** Platform #0
00000010 0.22526719 [2680] Extensions: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_intel_exec_by_local_thread cl_khr_depth_images cl_khr_3d_image_writes cl_khr_fp64 cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing cl_khr_gl_sharing
00000011 0.22528888 [2680] Found KHR mem sharing extension
00000012 0.22532202 [2680] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000013 0.22534370 [2680] Not the GPU that was used to create the DX9 device
00000014 0.22536540 [2680] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000015 0.22539553 [2680] Failed to init OpenCL for Dx9 memory sharing, error 0
Zachs
10th April 2015, 14:46
OK thanks again. Looks like I need to get myself an AMD card that supports the extension.
huhn
10th April 2015, 14:48
may just wait for someone else. there should be a lot of people out there with a r7 260 or a r9 270x that a is usually the choice of madVR user.
Garteal
10th April 2015, 16:09
Got a GTX970 and the application shuts down immediately.
DebugView shows that OpenCL is not available.
Tried DxClTest4 and DxClTest9 only.
huhn
10th April 2015, 16:21
Got a GTX970 and the application shuts down immediately.
DebugView shows that OpenCL is not available.
Tried DxClTest4 and DxClTest9 only.
if you have an intel iGPU you may need to run the exe with a 1
Scyna
10th April 2015, 19:08
this is with test 9
number 0
00000001 0.00000000 [47120] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000002 0.01443766 [47120] OpenCL is available
00000003 0.20814273 [47120] Platform count: 2
00000004 0.20835163 [47120] *** Platform #1
00000005 0.20872423 [47120] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000006 0.20906045 [47120] Found KHR mem sharing extension
00000007 0.20937215 [47120] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000008 0.20965646 [47120] Not the GPU that was used to create the DX9 device
00000009 0.20988548 [47120] *** Platform #0
00000010 0.21012942 [47120] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000011 0.21036193 [47120] Found KHR mem sharing extension
00000012 0.21120289 [47120] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000013 0.21187609 [47120] Not the GPU that was used to create the DX9 device
00000014 0.21244131 [47120] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000015 0.21311221 [47120] Failed to init OpenCL for Dx9 memory sharing, error 0
number 1
00000001 0.00000000 [47432] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000002 0.01411890 [47432] OpenCL is available
00000003 0.20938437 [47432] Platform count: 2
00000004 0.20939624 [47432] *** Platform #1
00000005 0.20947592 [47432] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000006 0.20948598 [47432] Found KHR mem sharing extension
00000007 0.20955338 [47432] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000008 0.20956211 [47432] Not the GPU that was used to create the DX9 device
00000009 0.20958082 [47432] *** Platform #0
00000010 0.20960639 [47432] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000011 0.20963915 [47432] Found KHR mem sharing extension
00000012 0.20965409 [47432] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000013 0.20968370 [47432] Not the GPU that was used to create the DX9 device
00000014 0.20969278 [47432] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
00000015 0.20972547 [47432] Failed to init OpenCL for Dx9 memory sharing, error 0
number 2
00000001 0.00000000 [49376] *** Using D3D9 adapter: Intel(R) HD Graphics 4600
00000002 0.00605405 [49376] OpenCL is available
00000003 0.20056851 [49376] Platform count: 2
00000004 0.20058003 [49376] *** Platform #1
00000005 0.20065910 [49376] Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
00000006 0.20066936 [49376] Found KHR mem sharing extension
00000007 0.20073131 [49376] Found the GPU that was used to create the DX9 device
Garteal
10th April 2015, 19:21
if you have an intel iGPU you may need to run the exe with a 1
Technically I do, but I can't use it with this motherboard, so this shouldn't be the problem.
It's trying with the GTX970 anyways.
[2140] *** Using D3D9 adapter: NVIDIA GeForce GTX 970
[2140] OpenCL is *NOT* available
Zachs
11th April 2015, 00:36
Hey Garteal, can you try running GPU caps to see what it says on its OpenCL tab?
ryrynz
11th April 2015, 00:44
I have had an issue running version 9 on an amd dual graphics system 8500 series + R5 graphics. I disabled each one and also set the preferred card but it didn't work. I'll copy the debugview when I post updated results.
Geforce 820M 90 FPS
Geforce 840M 105 FPS
Geforce GTX 850 187 FPS
HD Graphics (Broadwell) 115 FPS
HD Graphics 4000 360 FPS
HD Graphics 4400 (64 bit) 170 FPS
HD Graphics 5500 346 - 358 FPS
AMD M260 215 FPS
AMD M265X 390 FPS
AMD R5 / HD8570
[11560] *** Using D3D9 adapter: AMD Radeon(TM) R5 Graphics
[11560] OpenCL is available
[11560] Platform count: 1
[11560] *** Platform #0
[11560] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices cl_amd_hsa
[11560] Found KHR mem sharing extension
[11560] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
[11560] Not the GPU that was used to create the DX9 device
[11560] The GPU that was used to create the DX9 device does not support OpenCL mem sharing
[11560] Failed to init OpenCL for Dx9 memory sharing, error 0
Anima123
11th April 2015, 04:41
Test 9, I believe the 366.7 fps belong to the performance of nVidia 880M this time.
Zachs
11th April 2015, 05:17
This is odd! With AMD's mobile products their driver worked fine. This is with the same code.
@ryrynz could you run debugview on the mobile AMD systems that worked? I'd like to see what the log says!
cyberbeing
11th April 2015, 06:06
DxClTest9 | GTX 770 2GB | Win7 SP1 x64 | 350.05 Driver | PCI-E 3.0 x8
Stock (1.2Ghz Boost, 224.4GB/s Memory): 1206fps
Overclocked (1.3Ghz Boost, 243.5GB/s Memory): 1301fps
Zachs
11th April 2015, 06:21
Very nice! Nvidia's extension is working very well indeed. AMD's KHR extension on the other hand is worse than Intel's! Doesn't even work for all their discrete graphics cards! What gives!?
huhn
11th April 2015, 09:12
Very nice! Nvidia's extension is working very well indeed. AMD's KHR extension on the other hand is worse than Intel's! Doesn't even work for all their discrete graphics cards! What gives!?
AMD has a known issue with Dx9 <-> openCL interop is it terrible slow. it is clearly a copyback interop limited by the PCIe speed.
you will never see good results with amd using an dx9 <-> openCL interop.
the openCL performance is still way better on AMD than nvidia only the copyback work like a handbrake.
Zachs
11th April 2015, 09:13
OK you guys with AMD cards, can you try this out (DxClTest10.zip (http://zachsaw.com/downloads/mpdn_test/DxClTest10.zip))? I think I've found the problem - silly thing that for some reason didn't bother Intel but does AMD.
huhn
11th April 2015, 10:00
better i guess:
00000001 0.00000000 [3204] base\appmodel\execmodel\modern\lifetimemanager\appxexecutionutil.cpp(55)\modernexecserver.dll!00007FFDBBFFE8CA: (caller: 00007FFDBC0103BA) ReturnHr[PreRelease](16) tid(b04) 80073D57 The process has no application identity.
00000002 7.16983414 [2904] *** Using D3D9 adapter: AMD Radeon R9 200 Series
00000003 7.20206404 [2904] OpenCL is available
00000004 7.37989759 [2904] Platform count: 2
00000005 7.37991571 [2904] *** Platform #0
00000006 7.38002014 [2904] Extensions: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_intel_exec_by_local_thread cl_khr_depth_images cl_khr_3d_image_writes cl_khr_fp64 cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing cl_khr_gl_sharing
00000007 7.38004827 [2904] Found KHR mem sharing extension
00000008 7.38008165 [2904] clGetDeviceIDsFromDX9MediaAdapterKHR error code: -1
00000009 7.38010693 [2904] Not the GPU that was used to create the DX9 device
00000010 7.38012075 [2904] *** Platform #1
00000011 7.38015461 [2904] Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
00000012 7.38016748 [2904] Found KHR mem sharing extension
00000013 7.38324404 [2904] Found the GPU that was used to create the DX9 device
00000014 7.44802427 [2904] Error Getting CL Surface
00000015 7.44828558 [2904] Error Acquiring Dx9 Surface
00000016 7.44832802 [2904] Error Releasing Dx9 Surface
00000017 7.46745014 [2904] Error Acquiring Dx9 Surface
00000018 7.46755838 [2904] Error Releasing Dx9 Surface
00000019 7.46781921 [2904] Error Acquiring Dx9 Surface
00000020 7.46787310 [2904] Error Releasing Dx9 Surface
there was a lot more from these
00000015 7.44828558 [2904] Error Acquiring Dx9 Surface
00000016 7.44832802 [2904] Error Releasing Dx9 Surface
things
Zachs
11th April 2015, 10:27
OK really need an AMD card now!
Garteal
11th April 2015, 12:03
Hey Garteal, can you try running GPU caps to see what it says on its OpenCL tab?
Initially it said OpenCL 1.1, but after doing some research I found that NVIDIA had released a hotfix (http://nvidia.custhelp.com/app/answers/detail/a_id/3647) that adds OpenCL 1.2 support amongst other things.
With that I'm getting around 947FPS on a GTX970 in a PCIe2.0x16 slot.
Zachs
11th April 2015, 12:08
Nvidia can do true memory sharing without going to system memory and back, otherwise you'd be capped to the system memory bandwidth and there's no way it'll go anywhere near that speed! :)
Zachs
11th April 2015, 14:16
better i guess:
there was a lot more from these
00000015 7.44828558 [2904] Error Acquiring Dx9 Surface
00000016 7.44832802 [2904] Error Releasing Dx9 Surface
things
Can all of you with AMD discrete graphics card try this test app (v11) (http://zachsaw.com/downloads/mpdn_test/DxClTest11.zip)? I've written a specific code-path just for AMD's discrete GPUs.
burfadel
11th April 2015, 14:56
With test v11, I am getting around 168 fps. It has a quickly flickering big white square in the middle of the window.
With test v10, I am getting 8638.2 fps, give or take. However, the window is black.
AMD R9-280X.
huhn
11th April 2015, 16:02
build 11 works.
169 fps good old interop bug i loving it.
mrcorbo
11th April 2015, 17:04
With build 11 I'm getting around 37(!) fps on a 270X.
huhn
11th April 2015, 17:19
With build 11 I'm getting around 37(!) fps on a 270X.
what pcie version are you using?
Anime Viewer
11th April 2015, 18:25
OK guys, here's another OpenCL test app (http://www.zachsaw.com/downloads/mpdn_test/DxClTest4.zip).
Debug log now prints the extensions supported as well as the GPU name of your chosen adapterID.
More importantly, I've added Nvidia GPU support. Could you guys with Nvidia GPU (as well as the Optimus guys) give it a go and report back?
As before, I'm interested in min/max frame rate and your GPU model.
Oh and if you don't see flickering / flashing square then it isn't actually working.
Cheers!
I know other Optimus users have already shared their results, but for the record my system (with the gpu in my signature) is reporting ~338 fps (when run in its default size box ~228 if I maximize the box to the 1920x1080 screen size).
Initially it said OpenCL 1.1, but after doing some research I found that NVIDIA had released a hotfix (http://nvidia.custhelp.com/app/answers/detail/a_id/3647) that adds OpenCL 1.2 support amongst other things.
With that I'm getting around 947FPS on a GTX970 in a PCIe2.0x16 slot.
My original test (above) was with OpenCL 1.1 also, after installing 1.2 which was bundled with driver 350.05 Garteal linked I was getting 345 in the default window and 269 with the window maximized. OpenCL and the new driver were an improvement for me too based on that test.
Edit: 350.12 is now out...
Scyna
11th April 2015, 19:10
on build 11 i get 170 fps and build 10 like 8.8k on amd 290
mrcorbo
11th April 2015, 20:17
what pcie version are you using?
2.0/x16
huhn
11th April 2015, 21:17
2.0/x16
maybe the reason but pcie 2.0 should be able to do better.
Zachs
11th April 2015, 22:31
Build 10 wasn't actually working so it wasn't doing anything at all which explains why it's so fast :)
Oh BTW don't maximize the window as you'd then be causing windows desktop composition to do a bigger memory copy which would affect the result obviously.
Zachs
11th April 2015, 22:36
There's actually no requirement for any vendors to do memory sharing on the GPU itself, so technically it isn't actually a bug on AMD's part. But yeah it's painfully slow.
huhn
11th April 2015, 22:54
There's actually no requirement for any vendors to do memory sharing on the GPU itself, so technically it isn't actually a bug on AMD's part. But yeah it's painfully slow.
it's not doing a dx9 <-> openCL interop if you think about it.
Zachs
11th April 2015, 23:07
You should blame Khronous for defining it as a proper way of sharing surfaces then. It says it's up to the driver to avoid memory copy but stopped short of saying it should when possible. My feeling is it's a hardware design flaw in AMD's discrete cards that it's the actual problem and it can't be fixed unless they redesign the hardware. Just a guess.
huhn
11th April 2015, 23:25
dx9 <-> direct compute was fine as far as i remember.
Zachs
11th April 2015, 23:39
Yeah but a different set of API. OpenCL works on cards that don't support DirectCompute.
huhn
11th April 2015, 23:49
this is just my guess why this maybe isn't hardware related.
http://abload.de/img/directcomputegtugt.png
at least i remembered correctly.
edit: yeah i totally forgot. some people can't reach 24 FPS so they can't use dx9 <-> openCL for any realtime program. i call this a bug and i'm talking about GPU like r7 or r9 series.
Zachs
12th April 2015, 00:38
When I said hardware related, I meant its inability to share memory on the GPU without doing a copyback.
ryrynz
12th April 2015, 03:18
Can confirm build 11 working on the R5 system.
Zachs
12th April 2015, 03:55
What frame rate did you get with it? Around 170 too?
ryrynz
12th April 2015, 05:12
LOL. No. R5 is weak. 15 FPS. I can't get the 8570 detected debugview only says there's one platform.
huhn
12th April 2015, 08:14
When I said hardware related, I meant its inability to share memory on the GPU without doing a copyback.
but directcompute share memory on the GPU. yes it's a different APi no question but this still gives hopes doesn't it?
but speculating doesn't fix this issue. the issue is that some people can't reach 100 FPS and all AMD card even r5 should be able to do that easily. even which this copyback madness. even intel iGPU can do this and these GPU are running on the CPU ram in the first place...
aufkrawall
12th April 2015, 11:46
this is just my guess why this maybe isn't hardware related.
http://abload.de/img/directcomputegtugt.png
at least i remembered correctly.
edit: yeah i totally forgot. some people can't reach 24 FPS so they can't use dx9 <-> openCL for any realtime program. i call this a bug and i'm talking about GPU like r7 or r9 series.
Could you please relink that benchmark? :)
huhn
12th April 2015, 11:59
Could you please relink that benchmark? :)
doesn't work with nvidia.
if i remember correctly someone has written a version for nvidia(was it cyberbeing? sorry i can't remember) but yeah this is the original version from madshi from his server for AMD GPUs (works fine for intel).
i use it with every new AMD driver version just to see nothing has changed...
aufkrawall
12th April 2015, 12:15
Thanks. Since I'm with NV, I hope that the author of the compatible version will read this or maybe someone else still has it.
:thanks:
Zachs
12th April 2015, 12:46
It's a synthetic benchmark, so don't read too much into the result.
huhn
12th April 2015, 13:50
and it's a copy benchmark the really important part is the processing that's done on the frame later at openCL.
but numbers like 37 fps slow some real problem...
Zachs
12th April 2015, 13:53
I meant the Nvidia benchmark.
aufkrawall
12th April 2015, 13:58
With your benchmark 11, I'm getting 1278fps (GTX 980). Seems to be CPU limited. Cuda wrapper overhead?
Zachs
12th April 2015, 14:01
I think it's gpu memory bandwidth limited.
huhn
12th April 2015, 14:16
just run it with gpu-z.
aufkrawall
12th April 2015, 14:24
I get lower fps when I have Process Hacker opened, which consumes CPU power. But probably it could also be due to its way of GPU polling?
It's definitely bandwidth limited. When I OC VRAM from 3.6 to 4.0Ghz, I get an increase to 1380fps.
patul
12th April 2015, 19:36
I get 164 fps for v11, AMD A6-5400K APU (HD 7540D). Haven't test on my laptop yet.
Zachs
13th April 2015, 04:02
Hi guys,
Thanks for all the help so far. I'd appreciate it if I could get you guys to run version 12 of the test app (http://www.zachsaw.com/downloads/mpdn_test/DxClTest12.zip) to see if it still runs and report back the new frame rate.
Thanks again!
Cheers.
Anima123
13th April 2015, 04:48
Test version 12 on Optimus (Intel HD 4600 + nVidia 880M), 249 fps, with previous version 9, the fps was 366.
cyberbeing
13th April 2015, 05:37
doesn't work with nvidia.
if i remember correctly someone has written a version for nvidia(was it cyberbeing? sorry i can't remember).
At the time, all I did compile a build with DirectCompute-only so I could see the results on my NVIDIA card. I never attempted to fix the OpenCL tests. It doesn't appear I ever shared the DirectCompute-only build back then, so here it is if anyone wanted it: https://www.mediafire.com/?u6x778w7odoaqdi
It is somewhat reassuring to see that NVIDIA has made some improvements to DirectCompute performance improvements since then though. A nice +65% increase (172fps->285fps) in DirectCompute Error Diffusion performance with 350.05 compared to the 321.10 driver I initially tested one year ago. Still quite poor compared to AMD cards though, considering even madshi's HD7770 could break 300fps in that DirectCompute test.
Anime Viewer
13th April 2015, 05:44
Hi guys,
Thanks for all the help so far. I'd appreciate it if I could get you guys to run version 12 of the test app (http://www.zachsaw.com/downloads/mpdn_test/DxClTest12.zip) to see if it still runs and report back the new frame rate.
Thanks again!
Cheers.
Version 12 gives 400-404 on my Optimus system.
ryrynz
13th April 2015, 07:41
Zach, you need to clear your inbox. :p
750 Ti 440 FPS build 12, we've dropped some performance.
burfadel
13th April 2015, 08:45
187.039 fps this time, AMD R9-280X.
aufkrawall
13th April 2015, 09:45
Gives me a performance gain with GTX 980, 1343fps.
Zachs
13th April 2015, 11:36
750 Ti 440 FPS build 12, we've dropped some performance.
On my GTX 560, it's gone up from 640 to 716fps. On the Intel, it's gone up from 315fps to 370fps.
ryrynz
13th April 2015, 11:55
On my GTX 560, it's gone up from 640 to 716fps. On the Intel, it's gone up from 315fps to 370fps.
*cough* 540 *cough*
burfadel
13th April 2015, 11:59
187.039 fps this time, AMD R9-280X.
Please note that this is on build 10051 of the Windows 10 TP, running Windows 8.1 drivers. It would be interesting to see whether those running the Windows 10 drivers (which are feature incomplete) have any better performance.
I'm not using the Windows 10 drivers as I require the feature in the CCC where you set the screen resolution and overscan etc. Without this the image has a small black border around it (only on the connected TV) which is annoying!
The driver does seem to be quite 'different' in many ways.
huhn
13th April 2015, 12:04
this value will not change. PCIe 3.0 can't do a lot more.
the windows 10 feature have nothing to do with directx9EX openCL interop so it is very unlikely AMD will change things in the openCL and directx9 part..
burfadel
13th April 2015, 12:36
this value will not change. PCIe 3.0 can't do a lot more.
the windows 10 feature have nothing to do with directx9EX openCL interop so it is very unlikely AMD will change things in the openCL and directx9 part..
Maybe there could be a WDDM 2.0 specific capable player version sometime in the future ;). I'm guessing that is restricted to when SharpDX is updated, which going by the commitlog has had some major rework done in preparation for version 3.
Then there's this:
Projects that are still requiring to use .NET 2.0 or .NET 4.0, or API like Direct3D10 will have to continue using SharpDX 2.6.3.
The support for these functions could be provided by a 'support pack', to be installed in a 'Legacy' folder or something. Just an idea :).
Zachs
14th April 2015, 07:22
Hi all,
Thanks again for helping to test DX-OpenCL interop on the various GPUs. MPDN v2.25.0 has been released with OpenCL support via RenderScript.
I've added an example OpenCL script on GitHub that functions as a blue tint filter. If you want to test it out, simply copy the RenderScripts folder in Examples to your MPDN Extensions folder.
I'd be interested to see if it works on the GPUs you have tested DxClTest on.
Cheers.
Zachs
14th April 2015, 07:27
Unfortunately I'm ignorant to the possibilities of render scrips. Would it be possible to write a render script that would take a 1920x1080@47.952 fps source and stack even frames over odd frames with a 45 pixel gap/border between frames? The resulting output should be 1920x2205@23.976 fps. Currently I accomplish this by performing these operations with Avisynth and just play the .avs with the player. Seems like these sorts of things could be done faster by a GPU. The point of all this is to produce an HDMI 1.4a compliant frame packed stream I can play on a 3d television. Thanks for the advice.
This is now possible with MPDN v2.25.0. I've added an example that performs frame rate halving on GitHub (https://github.com/zachsaw/MPDN_Extensions/blob/master/Examples/RenderScripts/Example.FrameRateHalver.cs). RenderScript now has the capability to do what you're after, but someone would still need to write a script that does what you described.
MPDN now also allows you to access its render queue in RenderScripts (spatiotemporal image processing is now possible). Or in your case, you'd probably want to use it as a scratch pad for the odd frames before you stack the corresponding even frame on top of it.
patul
14th April 2015, 12:56
I get blank screen if I activate any of those RenderScript under Examples namespace except FrameRateHalver. Tried all versions of blue tint scripts to the same result.
Intel HD4000
Zachs
14th April 2015, 12:59
Make sure you copy all the files and folders under that folder. Sounds like you are missing the corresponding hlsl and cl files.
patul
14th April 2015, 13:06
Whoops, moving Example.*.cs into Renderscripts folder as well as Examples folder which contains the .hlsl and .cl solves the problem. Thanks. I put Example.*.cs into another Example folder under Renderscripts folder previously. All four of blue tint scripts work.
Zachs
15th April 2015, 07:35
Does anyone have the nnedi3 weights handy?
Scyna
15th April 2015, 23:23
with test 12 amd 290 189/194
Zachs
22nd April 2015, 04:37
Hi everyone,
Shiandow has kindly ported NNEDI3 to MPDN. It's currently in my nnedi3 branch on GitHub so if anyone wants to give it a test, feel free to do so. We need AMD card users especially to test it as we don't have an AMD card to work with and would appreciate your feedback on the following. It currently only upscales luma and uses MPDN's upscaler for chroma.
1) GPU name
2) 16/32/64/128/256 Neurons - GPU load / clock speed when it's running
3) Source clip resolution / frame rate
4) Target resolution (must be bigger than source clip res)
5) Render quality settings
* Note1: If you start dropping frames, don't include the result with that neuron setting.
* Note2: We would appreciate if you could test it on sources with different resolutions too.
e.g.
1) Intel HD P4600
2) 16: 41%/600Mhz, 32: 34%/600, 64: 47%/600Mhz, 128: 72%/800Mhz, 256: 71%/1150Mhz
3) 320x180 23p
4) 1280x720
5) Max Performance
2) 16: 42%/600Mhz, 32: 35%/600, 64: 49%/600Mhz, 128: 74%/800Mhz, 256: 73%/1150Mhz
5) Image Quality
To get consistent comparisons, please set your MPDN to the following,
1) Disable fluid motion
2) Use 'no dithering'
3) Presentation Direct3D 9Ex
4) Video out bitdepth = 8
5) Disable subtitles
6) No other render scripts
7) Luma/Chroma upscaler = Bicubic (No AR sharpness 75)
8) Luma/Chroma downscaler (not used by anyway) = Bicubic (No AR sharpness 75)
9) Make sure no other apps are running - treat it like a benchmark run
Links (not compatible with MPDN v2.25.3):
MPDN test build v2.25.4 (http://mpdn.zachsaw.com/Test%20Builds/)
Github nnedi3 branch (https://github.com/zachsaw/MPDN_Extensions/tree/nnedi3)
huhn
22nd April 2015, 11:25
r9 270
640x480 -> 1440x1080
256
950/1400 49% 31ms (close to the limited)
128
950/1400 32% 22ms
64
950/1400 21% 18ms
32
can't tset on my AMD you need a dual monitor system to test this. the GPU clock is totally unstable.
BTW. i still didn't get proper audio/stable playback with this player.
Zachs
22nd April 2015, 11:30
r9 270
640x480 -> 1440x1080
256
950/1400 49% 31ms (close to the limited)
128
950/1400 32% 22ms
64
950/1400 21% 18ms
32
can't tset on my AMD you need a dual monitor system to test this. the GPU clock is totally unstable.
BTW. i still didn't get proper audio/stable playback with this player.
Isn't your r9 270 an AMD card?
And what do you mean you can't get proper audio/stable playback? Does audio stutter or something?
huhn
22nd April 2015, 11:43
Isn't your r9 270 an AMD card?
yes why?
And what do you mean you can't get proper audio/stable playback? Does audio stutter or something?
audio drops frame drops the audio buffer never fills up. it's extreme with a 23p source at 23p.
Zachs
22nd April 2015, 11:50
yes why?
audio drops frame drops the audio buffer never fills up. it's extreme with a 23p source at 23p.
You said you couldn't test your AMD card because it needed dual monitor?
Did you have the audio problem from the very first version or was it a recent release that caused this?
huhn
22nd April 2015, 12:03
You said you couldn't test your AMD card because it needed dual monitor?
64
950/1400 21% 18ms
32
can't tset on my AMD you need a dual monitor system to test this. the GPU clock is totally unstable.
i can't test 32 neuron and below. it did a real world fullscreen test. that's why you don't get numbers for this.
Did you have the audio problem from the very first version or was it a recent release that caused this?
maybe never really used it for real playback. i already reported this some time ago.
http://forum.doom9.org/showpost.php?p=1710018&postcount=1274
the DWM problem is gone i'm not on windows 7 anymore.
Zachs
22nd April 2015, 12:07
i can't test 32 neuron and below. it did a real world fullscreen test. that's why you don't get numbers for this.
maybe never really used it for real playback. i already reported this some time ago.
http://forum.doom9.org/showpost.php?p=1710018&postcount=1274
the DWM problem is gone i'm not on windows 7 anymore.
What CPU and sound card are you using?
And what do you mean it did a real world fullscreen test? Are you saying 32 neurons and below don't work at all?
huhn
22nd April 2015, 12:19
What CPU and sound card are you using?
i3 4130
asus essence stx
And what do you mean it did a real world fullscreen test? Are you saying 32 neurons and below don't work at all?
i can't get proper numbers from GPU-Z it was working fine. after leaving fullscreen my GPU changes the powerstate a couple of times so the numbers are worthless.
nothing for you to bother simply no 32 neuron and lower numbers that's all. your program is not the problem here.
Zachs
22nd April 2015, 12:34
i3 4130
asus essence stx
i can't get proper numbers from GPU-Z it was working fine. after leaving fullscreen my GPU changes the powerstate a couple of times so the numbers are worthless.
nothing for you to bother simply no 32 neuron and lower numbers that's all. your program is not the problem here.
Ah understood.
Have you tried using MPC Audio Renderer with WASAPI instead just to see if it helps? Just trying to isolate the problem.
huhn
22nd April 2015, 12:49
Ah understood.
Have you tried using MPC Audio Renderer with WASAPI instead just to see if it helps? Just trying to isolate the problem.
the mpc-BE audio renderer with WASAPI has kind of the same problem for me. no frames are dropped when using madVR but some audio drops/discontinues. i don't know if the audio buffer are not filled up with mpc-be wasapi there is no way to check.
i try AC3 filter.
Zachs
22nd April 2015, 12:54
the mpc-BE audio renderer with WASAPI has kind of the same problem for me. no frames are dropped when using madVR but some audio drops/discontinues. i don't know if the audio buffer are not filled up with mpc-be wasapi there is no way to check.
i try AC3 filter.
The reason MPDN drops frames is because it's trying to sync to the audio clock. If the audio clock jumps around (which would be the case when audio skips / drops out), MPDN has to drop frames to stay in sync. It's just the way I've designed it. I believe the Asus sound card you're using is a very good card - I wasn't expecting it to have such problems at all.
huhn
22nd April 2015, 13:05
The reason MPDN drops frames is because it's trying to sync to the audio clock. If the audio clock jumps around (which would be the case when audio skips / drops out), MPDN has to drop frames to stay in sync. It's just the way I've designed it. I believe the Asus sound card you're using is a very good card - I wasn't expecting it to have such problems at all.
but is works fine with EVR/madVR using direct audio with a 90 % buffer.
but i wouldn't be shock if the driver of this card are kind of "broken".
asus and creative doesn't really care about there driver.
the ac3 filter is load but not used i tried both 32 and 64 bit MPDN.
Zachs
22nd April 2015, 13:13
but is works fine with EVR/madVR using direct audio with a 90 % buffer.
but i wouldn't be shock if the driver of this card are kind of "broken".
asus and creative doesn't really care about there driver.
the ac3 filter is load but not used i tried both 32 and 64 bit MPDN.
I don't think AC3 filter will do any good though - it's still using DirectSound in the end. What happens if you select WaveOut in MPDN's options dialog?
EDIT: I just checked my DirectSound audio filter props - it shows 30-40% fullness too but there's no breaks / discontinuities at all.
Zachs
22nd April 2015, 13:25
256
950/1400 49% 31ms (close to the limited)
By the way, when you said it's close to the limit, do you mean it's close to video interval? It's only using 49% of your GPU though... Do you have a 720p clip you can test to see if you can get it to go over 90% GPU usage?
huhn
22nd April 2015, 13:53
By the way, when you said it's close to the limit, do you mean it's close to video interval?
no video frame interval is 41.71. but you usually doesn't get 90% GPU usage an AMD and nnedi3
It's only using 49% of your GPU though... Do you have a 720p clip you can test to see if you can get it to go over 90% GPU usage?
this is from playing a 720p23 video at 1080 using 128 neurons.
http://abload.de/img/nnedi39cqcs.png
as you can see it's hard to judge the real GPU usages. rendertiems are 40.5 and sometimes frames are repeated or dropped.
and i can't test this for long my r9 270 is pretty hot 79 should be still fine but it is clocking is self sometimes to 900 hz from 925.
Zachs
22nd April 2015, 14:01
no video frame interval is 41.71. but you usually doesn't get 90% GPU usage an AMD and nnedi3
this is from playing a 720p23 video at 1080 using 128 neurons.
http://abload.de/img/nnedi39cqcs.png
as you can see it's hard to judge the real GPU usages. rendertiems are 40.5 and sometimes frames are repeated or dropped.
and i can't test this for long my r9 270 is pretty hot 79 should be still fine but it is clocking is self sometimes to 900 hz from 925.
Why can't you get 90% GPU usage? This isn't using OpenCL at all. If you try 256 neurons, would that increase GPU usage?
huhn
22nd April 2015, 14:23
Why can't you get 90% GPU usage? This isn't using OpenCL at all. If you try 256 neurons, would that increase GPU usage?
i get totally unreliable results. at the moment i got 128 running smoothly with 37-40 ms with an AVG GPU usage of ~70% at least for some mins. after some time it looks like the card is thermal throttling or something like that. looks like for some reason frames aren't rendered at all the render queue drop instantly to zero max render time jump to 120 ms.
with a GPU usage of 49-100% AVG 60-70% the GPU is at it's limited
Zachs
22nd April 2015, 14:26
Yeah that sounds like thermal throttling to me too. How's it's performance vs MadVR?
huhn
22nd April 2015, 15:08
Yeah that sounds like thermal throttling to me too.
i take that back. the GPU fan is at 60 % there is no way the GPU is thermal throttling without trying 100 % fan speed first. even through my r9 270 doesn't have a fan the GPU doesn't know that X-).
How's it's performance vs MadVR?
i set madVR to bicubic 75 for everything and disabled dither. i don't know what you use for downscaling i only know that your downscaling setting is not used for that.
720p23 -> 1080p23
64 neurons
madVR 25-26ms
MPDN 26-28ms
i got 23ms at first but this changes after some time to 26ms+
128 neurons
madVR 46ms +
MPDN 40-41 ms still not smooth at all after some mins
i would call that pretty much even.
and in this test i got frame drop problems again using MPDN the decoder queue is dropping to 0. but i can't reproduce this reliable... and i didn't used my headphones so not sure if it was the audio issue again. so these numbers aren't 100% reliable.
Anime Viewer
22nd April 2015, 21:41
1) GPU name
2) 16/32/64/128/256 Neurons - GPU load / clock speed when it's running
3) Source clip resolution
4) Target resolution (must be bigger than source clip res)
* Note1: If you start dropping frames, don't include the result with that neuron setting.
* Note2: We would appreciate if you could test it on sources with different resolutions too.
e.g.
1) Intel HD P4600
2) 16: 48%/600Mhz, 32: 39%/600, 64: 54%/600Mhz, 128: 74%/850Mhz, 256: 74%/1200Mhz
3) 320x180
4) 1280x720
To get consistent comparisons, please set your MPDN to the following,
1) Disable fluid motion
2) Use 'no dithering'
3) Presentation Direct3D 9Ex
4) Video out bitdepth = 8
5) Disable subtitles
6) No other render scripts
7) Luma/Chroma upscaler = Bicubic (No AR sharpness 75)
8) Luma/Chroma downscaler (not used by anyway) = Bicubic (No AR sharpness 75)
Links (not compatible with MPDN v2.25.3):
I know you're mainly looking for AMD tests, but here is the results of my Nvidia Optimus test with the AnyCPU version:
specs:
1) Nvidia 680m GTX
2) 16: 44%/718.5Mhz(GPU core clock)900mhz(memory clock), 32: 63%/718.5(gpu)/900(mem), 64 and higher neurons result in dropped frames, etc.
3) 1280x720
4) 1920x1080
16=21-23ms
32=29-30ms
64+=N/A
1) Nvidia 680m GTX
2) 16: 24%/718.5Mhz(GPU core clock)900mhz(memory clock), 32: 32%/718.5(gpu)/900(mem), 64: 52%/718.5(gpu)/900(mem) 128: and higher neurons result in dropped frames, etc.
3) 848x480
4) 1920x1080
16=12ms
32=15-16ms
64=23-24ms
128+=N/A
GPUZ 0.78 used to get clocks and % data.
Not surprisingly my Intel HD 4000 GPU can't handle NNEDI3 in MPDN in any setting.
Things that aren't factored in - in the reported stats that I think could influence results:
Video source frame rate: 32.810Hz is probably going to be less taxing than say 60Hz videos.
Screen refresh rate and if it is matching the video Hz (or close to it), or if its different (ex: 32hz video and 60hz monitor/tv).
Video Renderer: General: Prefer Image Quality/Performance choice as well as FSE and queue settings.
Other programs/windows that may be running at the same time as the video/MPDN.
Like with madVR I don't see any noticeably benefit (visually) from using anything above 16 neurons.
Zachs
22nd April 2015, 23:23
I have probably worded that post poorly but I'd like everyone to test it, not just AMD users.
EDIT: Thanks Anime Viewer! Forgot about frame rate, render quality etc. Will update the post.
aufkrawall
23rd April 2015, 01:51
Will test tomorrow.
Btw: There's also most certainly a bug in the AMD drivers regarding reported GPU usage, at least with Hawaii GPUs: It shows inconsistent usage while in fact there should be permanent one.
Anima123
23rd April 2015, 02:51
Well, the nnedi3 32-neurons works fine with 880m, rendering time is stable at around 21ms, when playing 576p -> 1080p, 23.976fps.
Edit1,
Actually, I am dreaming what's like with the combination of nnedi3 + SuperRes, hope there's no rendering time increasing issue.
Edit2,
Just test with 64 neurons, the rendering time around 29ms, not being able to fluent playing back with 128 though.
Maybe I should tried madVR's version with all other effects off to see if it works as fast.
Scyna
23rd April 2015, 03:18
1) Amd 290
2) 16: 50%/553 32: 80%/601 64: 90%/603 128: 100%/722 256: 100%/914
3) 1280x720
5) Max Performance
2) 16: 74%/540 32: 64%/598 64: 90%/634 128: 100%/725 256: 100%/923
5) Image Quality
2) 16: 52%/464 32: 51%/500 64: 72%/491 128: 80%/541 256: 81%/623
3) 720x392
5) Max Performance
2) 16: 40%/470 32: 54%/501 64: 57%/511 128: 64/550 256: 73%/620
5) Image Quality
Strange after finishing this I can't seem to get my subtitles to work even though I got it checked on. I never bother to check if subtitles worked on this version
Zachs
23rd April 2015, 04:17
OK guys, I've made another version to see if it's faster.
You'll need to overwrite your .cso files (in the Extensions\RenderScripts\NNEDI3 folder) with these ones (test2) (http://www.zachsaw.com/downloads/MediaPlayerDotNet/nnedi3_test2.zip).
I'd like to know if it's faster or slower for you at the various nnedi3 neuron settings.
While you're at that, give test3 (http://www.zachsaw.com/downloads/MediaPlayerDotNet/nnedi3_test3.zip) and test4 (http://www.zachsaw.com/downloads/MediaPlayerDotNet/nnedi3_test4.zip) a try too! :)
Thanks everyone!
Anima123
23rd April 2015, 06:26
original 64-neurons, rendering time is 29.50 ms or so.
test2 better with 64-neurons on nVidia 880m Optimus, 27.xx ms, 576p -> 1080p, 23.976 ftp
test3 27.60 ms or so, not as fast as test 2
test4 faster than test3, not as fast as test 2
Conclusion: test 2 is the fastest for me with 64-neurons, at least for 576p -> 1080p.
Edit: Just had a quick test with test 2, 32-neurons, which behave similar to 64-neurons, faster than the original version.
Zachs
23rd April 2015, 06:28
Can you try comparing 128 and 256 neurons too? Doesn't matter if it drop frames. I just want to know the render times.
Anima123
23rd April 2015, 06:34
For 128
Original: 62.60 ms
test2: 68.xx ms
test3: 67.xx ms
test4: N/A
The original works faster than others.
Edit: OK, I admit, I just can't resist, here's my test results for 256-neurons:
Original: 118.50 ms
test2: 119.90 ms
test3: 116.90 ms
test4: N/A
Scyna
23rd April 2015, 07:22
do u want the same information as test 1? people are mentioning render times should i include those too? btw my subtitles work again on 2.25.3.
Zachs
23rd April 2015, 12:25
I've uploaded MPDN build 3066 to the test builds folder. It fixes a problem in 3065 where scaling luma wasn't skipped even when render script told it to, so it was unnecessarily scaling luma with MPDN's internal scaler even when it's already being scaled by nnedi3. So it should be make things a little faster.
I've also updated the nnedi3 script on GitHub - it now has an extra option called "Path" which presents you with 3 options: Prefer Scaler, Prefer Vector or Avoid Branches. Each GPU+driver works differently (as I've gathered from the tests you have done so far) so try out each path for each neuron setting, you'll find one that's fastest.
Same as before, I'd like feedback to be in the following format.
1) GPU name
2) 16/32/64/128/256 Neurons - Selected Path (Scalar/Vector/NoBranch) - GPU load / clock speed when it's running + render time (optional)
3) Source clip resolution / frame rate
4) Target resolution (must be bigger than source clip res)
5) Render quality settings (preferably "Image Quality" which is the MPDN default)
* Note1: If you start dropping frames, don't include the result with that neuron setting.
* Note2: We would appreciate if you could test it on sources with different resolutions too.
e.g.
1) Intel HD P4600
2) 16/Scalar: 41%/600Mhz, 32/Scalar: 34%/600, 64/Scalar: 47%/600Mhz, 128/Scalar: 72%/800Mhz, 256/Scalar: 71%/1150Mhz
3) 320x180 23p
4) 1280x720
5) Max Performance
2) 16/Scalar: 42%/600Mhz, 32/Scalar: 35%/600, 64/Scalar: 49%/600Mhz, 128/Scalar: 74%/800Mhz, 256/Scalar: 73%/1150Mhz
5) Image Quality
To get consistent comparisons, please set your MPDN to the following,
1) Disable fluid motion
2) Use 'no dithering'
3) Presentation Direct3D 9Ex
4) Video out bitdepth = 8
5) Disable subtitles
6) No other render scripts
7) Luma/Chroma upscaler = Bicubic (No AR sharpness 75)
8) Luma/Chroma downscaler = Bicubic (No AR sharpness 75)
9) Make sure no other apps are running - treat it like a benchmark run
Links (not compatible with MPDN v2.25.3):
MPDN test build v2.25.4.3066 (http://mpdn.zachsaw.com/Test%20Builds/3066)
Github nnedi3 branch (https://github.com/zachsaw/MPDN_Extensions/tree/nnedi3)
aufkrawall
23rd April 2015, 14:16
With a GTX 980, I'm having a little higher GPU load with MPDN 64 neurons, compared to madVR (with the exact settings you have given).
With madVR, it's ~32% GPU usage when scaling 720p25 -> WQHD, with MPDN it's ~39%. The difference seems to get stronger when I additionally let both renderers downsample to maximized windowed resolution.
In both players, render and presentation queues are set to 4 frames (new windowed path).
I'm not giving much about render times since the GPU doesn't always run with the same clock.
But, it's working without any glitches on a quick try. Will do quality comparisons as soon as I got more time.
Very nice progress again! :devil:
Edit: Could someone please explain again what the technical reason is why NNEDI3 via DirectCompute is much slower than via OpenCL?
Scyna
23rd April 2015, 22:51
1) Amd 290
2)A 16/Scalar: 84%/534 Avg Render 10.50ms, 32/Scalar: 88%/564 Avg render 11.85ms, 64/Scalar: 83%/610 Avg Render 15.34ms, 128/Scalar: 100%/725 Avg Render 21.30ms, 256/Scalar: 100%/922 Avg Render 33.63ms DWM glitches present 84
2)B 16/vector: 67%/606 Avg Render 11.11ms, 32/vector: 72%/586 Avg Render 12.71ms, 64/vector: 85%/630 Avg Render 16.35ms, 128/vector: 90%/743 Avg Render 23.57ms, 256/vector: 100%/953 Avg Render 37.27ms DWM glitches present 221
2)C 16/branches: 84%/544 Avg Render 11.28ms, 32/branches: 80%/605 Avg Render 12.78ms, 64/branches: 81%/642 Avg Render 16.35ms, 128/branches: 96%/753 Avg Render 23.48ms, 256/branches: 100%/953 Avg Render 37.34ms DWM glitches present 229
3) 1280/720 24p
4) 1920x1059
5) Max Performance
2)A 16/Scalar: 67%/565Mhz Avg Render 11ms, 32/Scalar: 96%/574 Avg Render 12ms, 64/Scalar: 80%/630 Avg Render 15.65ms, 128/Scalar: 100%/720 Avg Render 21.42ms, 256/Scalar: 100%/923 avg render 33.72ms DWM glitches Present 68
2)B 16/vector: 80%/553mhz Avg Render 11.48ms, 32/vector: 62%/561 Avg Render 13.08ms, 64/vector: 81%/655 Avg Render 16.45ms, 128/vector: 100%/764 Avg Render 23.73ms, 256/vector: 100%/955 Avg Render 37.56ms DWM glitches present 127
2)C 16/branches: 72%/523 Avg Render 10.83ms, 32/branches: 95%/584 Avg Render 13.19ms, 64/branches: 98%/648 Avg Render 16.44ms, 128/branches: 100%/760 Avg Render 23.58ms, 256/branches: 100%/953 Avg Render 37.70ms DWM glitches present 203
5) Image Quality
Zachs
24th April 2015, 02:20
With a GTX 980, I'm having a little higher GPU load with MPDN 64 neurons, compared to madVR (with the exact settings you have given).
With madVR, it's ~32% GPU usage when scaling 720p25 -> WQHD, with MPDN it's ~39%. The difference seems to get stronger when I additionally let both renderers downsample to maximized windowed resolution.
In both players, render and presentation queues are set to 4 frames (new windowed path).
I'm not giving much about render times since the GPU doesn't always run with the same clock.
But, it's working without any glitches on a quick try. Will do quality comparisons as soon as I got more time.
Very nice progress again! :devil:
Edit: Could someone please explain again what the technical reason is why NNEDI3 via DirectCompute is much slower than via OpenCL?
It's very hard to compare GPU load if the clock speed isn't the same between the two. Lower clock speed will incur greater load, but that doesn't mean it's doing more work - in fact it could be doing less. What I'm interested to know is which "path" is the fastest for your 980GTX.
1) Amd 290
2)A 16/Scalar: 84%/534 Avg Render 10.50ms, 32/Scalar: 88%/564 Avg render 11.85ms, 64/Scalar: 83%/610 Avg Render 15.34ms, 128/Scalar: 100%/725 Avg Render 21.30ms, 256/Scalar: 100%/922 Avg Render 33.63ms DWM glitches present 84
2)B 16/vector: 67%/606 Avg Render 11.11ms, 32/vector: 72%/586 Avg Render 12.71ms, 64/vector: 85%/630 Avg Render 16.35ms, 128/vector: 90%/743 Avg Render 23.57ms, 256/vector: 100%/953 Avg Render 37.27ms DWM glitches present 221
2)C 16/branches: 84%/544 Avg Render 11.28ms, 32/branches: 80%/605 Avg Render 12.78ms, 64/branches: 81%/642 Avg Render 16.35ms, 128/branches: 96%/753 Avg Render 23.48ms, 256/branches: 100%/953 Avg Render 37.34ms DWM glitches present 229
3) 1280/720 24p
4) 1920x1059
5) Max Performance
2)A 16/Scalar: 67%/565Mhz Avg Render 11ms, 32/Scalar: 96%/574 Avg Render 12ms, 64/Scalar: 80%/630 Avg Render 15.65ms, 128/Scalar: 100%/720 Avg Render 21.42ms, 256/Scalar: 100%/923 avg render 33.72ms DWM glitches Present 68
2)B 16/vector: 80%/553mhz Avg Render 11.48ms, 32/vector: 62%/561 Avg Render 13.08ms, 64/vector: 81%/655 Avg Render 16.45ms, 128/vector: 100%/764 Avg Render 23.73ms, 256/vector: 100%/955 Avg Render 37.56ms DWM glitches present 127
2)C 16/branches: 72%/523 Avg Render 10.83ms, 32/branches: 95%/584 Avg Render 13.19ms, 64/branches: 98%/648 Avg Render 16.44ms, 128/branches: 100%/760 Avg Render 23.58ms, 256/branches: 100%/953 Avg Render 37.70ms DWM glitches present 203
5) Image Quality
Thank you for such a detailed feedback!
All these reports will be very handy to come up with automatic "path" selection.
Anime Viewer
24th April 2015, 04:22
I've uploaded MPDN build 3066 to the test builds folder. It fixes a problem in 3065 where scaling luma wasn't skipped even when render script told it to, so it was unnecessarily scaling luma with MPDN's internal scaler even when it's already being scaled by nnedi3. So it should be make things a little faster.
I've also updated the nnedi3 script on GitHub - it now has an extra option called "Path" which presents you with 3 options: Prefer Scaler, Prefer Vector or Avoid Branches. Each GPU+driver works differently (as I've gathered from the tests you have done so far) so try out each path for each neuron setting, you'll find one that's fastest.
Same as before, I'd like feedback to be in the following format.
1) GPU name
2) 16/32/64/128/256 Neurons - Selected Path (Scalar/Vector/NoBranch) - GPU load / clock speed when it's running + render time (optional)
3) Source clip resolution / frame rate
4) Target resolution (must be bigger than source clip res)
5) Render quality settings (preferably "Image Quality" which is the MPDN default)
1) Nvidia 680m GTX (Optimus system)
2)
16/Scalar: 24%/718.5Mhz(gpu)900mhz(mem) (render 12-13ms),
16/Vector: 22-17% gpu load (clocks remain the same as in other test) 11-12ms,
16/Branch: 22% gpu (render 11-12ms),
32/Scalar: 33% gpu (render 16ms),
32/Vector: 31% gpu (render 15ms),
32/Branch 30% gpu (render 15ms),
64/Scaler: 52% gpu (render 24ms),
64/Vector: 48% gpu (render 24ms),
64/Branch: 48% gpu (render 22ms),
128/Scalar: 94% gpu (render 64ms) in other words dropped frames and failure to be a worthwhile setting,
128/Vector: 92% gpu (render 62ms) in other words dropped frames and failure to be a worthwhile setting,
128/Branch: 84% gpu (render 36-37ms) - Actually worked!?!
3) 848x480 23p
4) 1920x1080
5) Image Quality
At first I thought they all performed pretty similar, and that it wouldn't make much difference, but then I got the the 128 neuron test and there was a very significant difference. "Avoid Branches" seems to be the better choice for 680m GTX Optimus systems.
Zachs
24th April 2015, 04:29
At first I thought they all performed pretty similar, and that it wouldn't make much difference, but then I got the the 128 neuron test and there was a very significant difference. "Avoid Branches" seems to be
If the driver does a good job at utilizing the GPU resource with any given shader code, you should get the same regardless of which option you choose. NV hardware seems to like the "Avoid Branches" path, and yes the difference could be massive like what you saw. Blame the driver!
Anime Viewer
24th April 2015, 04:46
If the driver does a good job at utilizing the GPU resource with any given shader code, you should get the same regardless of which option you choose. NV hardware seems to like the "Avoid Branches" path, and yes the difference could be massive like what you saw. Blame the driver!
While the Intel 4000 HD can't handle any forum of NNEDI3 (render times are too high) it seems the Intel (or at least Optimus Intel's) seem to like the Vector setting best (70ms vs 190-Scalar and 206-Branches).
I feel like it would be slightly amusing if AMD turns out to work best with the third option (Scalar). Then each of the three vendor cards would work better with a different shader code.
ryrynz
24th April 2015, 04:47
At first I thought they all performed pretty similar, and that it wouldn't make much difference, but then I got the the 128 neuron test and there was a very significant difference. "Avoid Branches" seems to be the better choice for 680m GTX Optimus systems.
Can confirm on a 850m Avoid Branches is fastest at 64+ neurons. 32 neurons was a touch faster on Prefer Scaler and at 16 it's too close to determine a winner.
Zachs
24th April 2015, 04:54
While the Intel 4000 HD can't handle any forum of NNEDI3 (render times are too high) it seems the Intel (or at least Optimus Intel's) seem to like the Vector setting best (70ms vs 190-Scalar and 206-Branches).
I feel like it would be slightly amusing if AMD turns out to work best with the third option (Scalar). Then each of the three vendor cards would work better with a different shader code.
My Intel HD 4600 runs best with scalar - even does 320x180 256 neurons with only 73% GPU load!
From Scyna's feedback, AMD seems to prefer scalar/vector depending on the neuron setting.
Anime Viewer
24th April 2015, 05:10
My Intel HD 4600 runs best with scalar - even does 320x180 256 neurons with only 73% GPU load!
That's interesting. I would have guessed that all 4000 series Intel gpu would work better with the same option. I just found that there is a Intel gpu driver update available for my card (version 15.33.35.64.4176), so I'm going to download, install, and test to see if that changes anything (I expect NNEDI3 to still be unusable with the 4000 after the update, but I'll be curious to see if the scalar then works better or if ms render readings drop at all).
Edit: with the new drivers the scalar ms reading dropped slightly (from 190ms to 187ms), but vector still seemed to preform better with the Intel 4000. Maybe its an Optimus thing more than a 4000 thing, but regardless it doesn't matter since NNEDI3 is unusable with the 4000 anyway.
Zachs
24th April 2015, 05:14
That's interesting. I would have guessed that all 4000 series Intel gpu would work better with the same option. I just found that there is a Intel gpu driver update available for my card (version 15.33.35.64.4176), so I'm going to download, install, and test to see if that changes anything (I expect NNEDI3 to still be unusable with the 4000 after the update, but I'll be curious to see if the scalar then works better or if ms render readings drop at all).
Can't remember the exact improvements but the new driver improved it quite a bit for me.
Anyway, I've just found two other code paths that could make a difference, I'll add that and let you guys have a play.
ryrynz
24th April 2015, 05:50
My Intel HD 4600 runs best with scalar - even does 320x180 256 neurons with only 73% GPU load!
From Scyna's feedback, AMD seems to prefer scalar/vector depending on the neuron setting.
Same with nvidia. Intel HD graphics does better with Prefer Vector and considerably so.. Strange is that 64 neurons with Prefer Vector is twice as fast as 32 neurons set the same.. Any ideas why? In fact 64 neurons is faster than 16!
Zachs
24th April 2015, 05:56
Same with nvidia. The 820m does better with Prefer Vector and considerably so.. Strange is that 64 neurons with Prefer Vector is twice as fast as 32 neurons set the same.. Any ideas why?
Nope. Only Nvidia can answer that question I'm afraid!
My only very rough guess is that they do very specific optimizations for games and some conditions must've triggered it. On other cases, they couldn't be bothered.
ryrynz
24th April 2015, 06:08
Nope. Only Nvidia can answer that question I'm afraid!
My only very rough guess is that they do very specific optimizations for games and some conditions must've triggered it. On other cases, they couldn't be bothered.
Thought something was fishy there.. It was the hd graphics not the 820 that was running. Surprising what works for one doesn't work so well for others and changing depending on neuron count... I think this should perhaps be able to be set individually per neuron count. Trying to do it automatically might not work too well.
Zachs
24th April 2015, 06:14
Thought something was fishy there.. It was the hd graphics not the 820 that was running. Surprising what works for one doesn't work so well for others and changing depending on neuron count... I think this should perhaps be able to be set individually per neuron count. Trying to do it automatically might not work too well.
Yeah it certainly looks that way now. I might just leave it the way it is so you can select the neuron and the code path individually.
Zachs
24th April 2015, 06:19
OK guys, grab the latest nnedi3 script from github - it adds two more code paths. I've also optimized it further.
ryrynz
24th April 2015, 06:42
Have the first three been optimized further?
Zachs
24th April 2015, 06:47
It's a general (minor) optimization that affects all paths.
Zachs
24th April 2015, 07:10
but is works fine with EVR/madVR using direct audio with a 90 % buffer.
but i wouldn't be shock if the driver of this card are kind of "broken".
asus and creative doesn't really care about there driver.
the ac3 filter is load but not used i tried both 32 and 64 bit MPDN.
Can you try lowering MPDN's priority to high to see if it helps? I suspect the problem may be because you've only got 2 CPU cores. If it doesn't help, try lowering it down further and let me know which one works?
Scyna
24th April 2015, 07:37
1) Amd 290
2)A 16/Scalar small code: 88%/530 Avg Render 10.78ms, 32: 78%/575 Avg Render 12.14ms, 64: 87%/638 Avg Render 15.29ms, 128: 100%/717 Avg Render 21.17ms, 256: 100%/905 Avg Render 32.87ms DWM glitches present 13
2)B 16/vector small code: 78%/556 Avg Render 10.93ms, 32: 50%/610 Avg Render 12.96ms, 64: 93%/634 Avg Render 16.54ms, 128: 100%/749 Avg Render 23.18ms, 256: 100%/951 Avg Render 36.82ms DWM glitches present 259
3) 1280/720 24p
4) 1920x1059
5) Max Performance
2)A 16/Scalar small code: 59%/579 Avg Render 10.85ms, 32: 86%/589 Avg Render 12.62ms, 64: 80%/667 Avg Render 15.15ms, 128: 100%/734 Avg Render 21.41ms, 256: 100%/918 Avg Render 33.06ms DWM glitches present 6
2)B 16/vector small code: 61%/564 Avg Render 11.30ms, 32: 82%/596 Avg Render 13.02ms, 64: 81%/649 Avg Render 16.22ms, 128: 100%/743 Avg Render 23.48ms, 256: 100%/951 Avg Render 37.07ms DWm glitches present 251
5) Image Quality
Zachs
24th April 2015, 08:24
Looks like the small code versions did help AMD at 16 neurons!
huhn
24th April 2015, 11:12
Can you try lowering MPDN's priority to high to see if it helps? I suspect the problem may be because you've only got 2 CPU cores. If it doesn't help, try lowering it down further and let me know which one works?
i tried normal priority. to be honest i don't think a CPU like this really cares as long as the file is h264 and 1080p and lower.
here a screen from the performance issue:
http://abload.de/img/mpdntestbpbv7.png
i set GPU queue and CPU queue to the max but that doesn't help at all. they are not dropping now but the issue is the same.
i do an audio test next.
this can take time. all i do is searching for a small audio issue in playback they can be very obvious.
i had the problem in the past too. about 10 years ago on a AMD 64 system and a creative xtrem music audio card same issue low buffer 15-44%. a work around was the audio switcher in mpc-hc or using the ffdshow audio mixer and a ll audio props where gone.
Anime Viewer
24th April 2015, 12:03
OK guys, grab the latest nnedi3 script from github - it adds two more code paths. I've also optimized it further.
1) Nvidia 680m GTX (Optimus system)
2)
16/Branch: 22% gpu (render 11ms),
32/Branch 29% gpu (render 15ms),
64/Branch: 47% gpu (render 22ms),
128/Branch: 82% gpu (render 37ms) - still works - looks like gpu load dropped slightly (2%) compared to previous github version at this setting.
3) 848x480 23p
4) 1920x1080
5) Image Quality
Branch still works best for the Nvidia. All the optimizations (scalar, vector, and branch) all seemed to improve slightly (less gpu load) than the previous github version. Here are the new Scalar small code and Vector small code results:
2)
16/scalar small: 25% gpu (render 12ms),
32/scalar small 32% gpu (render 16ms),
64/scalar small: 76% gpu (render 34ms),
16/vector small: 22% gpu (render 11ms),
32/vector small 30% gpu (render 15ms),
64/vector small: 82% gpu (render 37ms),
64/scaler: 49% gpu 24ms
64/vector: 48% gpu 22ms
small appears to work worse (more gpu load and higher render times) in my case.
Zachs
24th April 2015, 12:37
MPDN v2.25.4 is now properly released.
NNEDI3 branch is no more - it's been merged into the main branch, so just download it via the links on the OP.
Shiandow has also integrated SuperRes with NNEDI3!
Have fun everyone!!!
trandoanhung1991
24th April 2015, 12:44
I'm getting crashes when seeking on the latest build. Application has stopped working.
Here's the log:
Faulting application name: MediaPlayerDotNet.exe, version: 2.25.4.3067, time stamp: 0x553a27ec
Faulting module name: CallbackFilter.ax, version: 0.0.0.0, time stamp: 0x546e875c
Exception code: 0xc0000409
Fault offset: 0x00008770
Faulting process id: 0x3038
Faulting application start time: 0x01d07e83883c7cdf
Faulting application path: C:\Program Files (x86)\Media Player.NET\MediaPlayerDotNet.exe
Faulting module path: C:\Program Files (x86)\Media Player.NET\Native\x86\CallbackFilter.ax
Report Id: ca156526-ea76-11e4-82cd-54271efce7d3
Faulting package full name:
Faulting package-relative application ID:
Here's the details on the file causing trouble:
http://puu.sh/hp4MN/447375194e.png
Also I couldn't found a way to change the neuron count when using NNEDI3 with SuperRes. Any ideas?
aufkrawall
24th April 2015, 13:00
It's very hard to compare GPU load if the clock speed isn't the same between the two. Lower clock speed will incur greater load, but that doesn't mean it's doing more work - in fact it could be doing less. What I'm interested to know is which "path" is the fastest for your 980GTX.
Sorry, I should have mentioned that the clocks were identical.
I unfortunately somehow also missed your information about the paths.
Well, prefer vector is faster than prefer scalar with the 980. ~10% higher GPU load with higher clocks (max boost, 1440Mhz).
With prefer vector, clock stays at 1126Mhz.
prefer vector vs. madVR: 35 vs. 31% GPU usage with both 1126Mhz. Just little room for performance improvement. :)
Shiandow
24th April 2015, 13:06
I'm getting crashes when seeking on the latest build. Application has stopped working.
Here's the log:
[...]
Also I couldn't found a way to change the neuron count when using NNEDI3 with SuperRes. Any ideas?
Neurons can't be changed yet, I'll add that when I have time. For what it's worth I expect using more neurons will have an even smaller difference when using SuperRes on top of NNEDI3.
By the way, could you try running that file without XySubFilter?
trandoanhung1991
24th April 2015, 13:11
Neurons can't be changed yet, I'll add that when I have time. For what it's worth I expect using more neurons will have an even smaller difference when using SuperRes on top of NNEDI3.
By the way, could you try running that file without XySubFilter?
That seems to have solved the issue. Any drawbacks to using DirectVobSub over XySubFilter?
Zachs
24th April 2015, 13:13
Did you recently update LAV filters? That seems to cause troubles with MPDN.
Shiandow
24th April 2015, 13:14
That seems to have solved the issue. Any drawbacks to using DirectVobSub over XySubFilter?
It renders the subtitles before scaling so they will generally have a lower resolution.
trandoanhung1991
24th April 2015, 13:44
I'd like to report a performance regression with the latest build.
Using the same extensions as found on here (https://github.com/zachsaw/MPDN_Extensions/tree/92a1648f9b4431ec8efa3ad8aa12f8fa936122c7), there is a performance regression of about 4-5ms between 2.25.4.3067 and 2.25.3.3059. Specifically, on 2.25.3 I was getting around 13-14ms render times and with identical settings, 2.25.4 gets me between 18-19ms render times. :(
ryrynz
24th April 2015, 13:47
I'd like to report a performance regression with the latest build.
Have you tested all optimizations? This with 16 or 32 neurons? Also you'd want to compare GPU utilization, render times don't always tell the full story.
Zachs
24th April 2015, 13:47
What render scripts are you running?
trandoanhung1991
24th April 2015, 13:49
What render scripts are you running?
Same as before: SuperChromaRes 3 pass > Deband > SuperRes NEDI 3 pass.
Shiandow
24th April 2015, 13:50
I'd like to report a performance regression with the latest build.
Using the same extensions as found on here (https://github.com/zachsaw/MPDN_Extensions/tree/92a1648f9b4431ec8efa3ad8aa12f8fa936122c7), there is a performance regression of about 4-5ms between 2.25.4.3067 and 2.25.3.3059. Specifically, on 2.25.3 I was getting around 13-14ms render times and with identical settings, 2.25.4 gets me between 18-19ms render times. :(
Which settings? Also, try the new renderscripts (see first post for a link) they might work better.
Edit: Especially SuperRes + NEDI is faster.
Zachs
24th April 2015, 14:06
Strange. Nothing I've changed should've affected render time that much! Are you sure all settings are the same?
Oh by the way are you using software decoder? If not, can you try it to see if it helps? MPDN used to wait until the decoder queue is full before playing. I've changed this to let it play much sooner. Once it gets filled though you should see render duration get back down though.
trandoanhung1991
24th April 2015, 14:06
What I did:
Use the extensions found here (https://github.com/zachsaw/MPDN_Extensions/tree/92a1648f9b4431ec8efa3ad8aa12f8fa936122c7)
Use this build http://mpdn.zachsaw.com/Old%20Releases/2.25.3/MediaPlayerDotNet_x86_2_25_3_3059.zip
Compare it with the latest build.
My settings are in the attachment.
Depending on files, there is a difference between 2-4ms in render time using the exact same settings between the 2 builds.
Zachs
24th April 2015, 14:30
I'll take a look to see if I can replicate that.
Anima123
24th April 2015, 16:51
SuperResFast, is it recommended to use with NNEDI3? Or how it should be used?
Shiandow
24th April 2015, 18:13
I'd like to report a performance regression with the latest build.
Using the same extensions as found on here (https://github.com/zachsaw/MPDN_Extensions/tree/92a1648f9b4431ec8efa3ad8aa12f8fa936122c7), there is a performance regression of about 4-5ms between 2.25.4.3067 and 2.25.3.3059. Specifically, on 2.25.3 I was getting around 13-14ms render times and with identical settings, 2.25.4 gets me between 18-19ms render times. :(
I'm actually noticing a similar regression from 2.25.4.3066 to 2.25.4.3067, in the mean time using 2.25.4.3066 might help, there should be a link a few pages back.
SuperResFast, is it recommended to use with NNEDI3? Or how it should be used?
Well it's very slightly faster, but it disables anti-ringing so if the performance difference isn't too significant I wouldn't use it.
Anima123
24th April 2015, 18:32
The regression you guys experienced might due to the tuned down priority of MPDN.
Scyna
24th April 2015, 19:12
just to let you know subtitles doesn't work on this build or the last beta build. after testing i always had to revert back to 2.25.3. Shiandow are you also going to add which optimization to choose from?
Shiandow
24th April 2015, 20:06
I'll eventually add a way to customize the settings for NNEDI3, but that'll require some more time.
Zachs
24th April 2015, 23:34
Can you try to change the process priority back to high with task manager to see if the regression issue goes away?
Zachs
24th April 2015, 23:37
Scyna, do you get the same crash with subtitles enabled as trandoanhung1991?
Scyna
25th April 2015, 00:04
I don't get any crash subtitles just don't show up.
Shiandow
25th April 2015, 00:24
Can you try to change the process priority back to high with task manager to see if the regression issue goes away?
Doesn't have any effect. I'd be surprised if it had actually, since the actual GPU usage also jumps by 20~30%. I honestly have no idea what could be causing it. Best I could come up with was that it was somehow stuck in "Max Image Quality" mode, but that doesn't seem to be the case since setting it to "Max Image Quality" is even worse.
Zachs
25th April 2015, 00:42
Shouldn't be too hard to figure this one out since it only affects build 3067.
Shiandow
25th April 2015, 00:47
FWIW the XySubFilter issue doesn't occur in build 3059, but does occur in build 3066. I can't narrow it down any more than that unfortunately.
Zachs
25th April 2015, 00:49
I'm on my mobile at the moment. Could you quickly try replacing all the files under native folder with those from build 3059?
Shiandow
25th April 2015, 01:03
That seems to have fixed it.
Zachs
25th April 2015, 01:05
Ah build machine issue. Used a different one to release 2.25.4. I'll fix it in the next build.
Zachs
25th April 2015, 05:46
I think I've fixed both performance regression and XySubFilter crashing / subtitles not working issues with the latest release (version 2.25.5).
Do let me know if it fixes the problems.
Anime Viewer
25th April 2015, 06:38
I've noticed that using Script Chain: Deband -> NNEDI3 -> SuperRes is producing fast render times than Deband -> SuperRes (with NNEDI3 selected as doubler within). Anyone have a theory why that would be? (I'd think if working correctly they should be the same, or if anything the selection within SuperRes to be faster. Is it perhaps because of passes (independent selection only doing one pass while selection inside SuperRes would lead it to be applied the same number of times as passes selected), or maybe just a SuperRes bug?
Edit: Actually I'm guessing this is in part to the not being able to select optimizer (and neurons) for NNEDI3 in SuperRes while it can be selected in independent NNEDI3 script - which I know is already being worked on...
burfadel
25th April 2015, 07:35
In regards to this change:
v2.24.1 Changelog:
Graphics adapter ID now shows the name of the adapter and its attached monitor
I was wondering whether it would be better to put the monitor name first, instead of the graphics adaptor? The resaon I ask is I am running Windows 10 TP, and the graphic driver name is so long it fills the entire drop down box. Because of this, you cannot see the name of the monitor when selecting where to output. Monitor names are almost always quite short.
I have an AMD R9-280X (Tahiti XTL) which is a new stepping of the HD 7970 GHz Edition, and as such it is often reported as the 7900 Series driver. This is due to the Device Adaptor ID, the GPU is actually Tahihi XTL (the graphics BIOS even says so). Quite common for R9-280X cards. It says 'Engineering Sample' because it has full WDDM 2.0 support in the driver. Only those adaptors with fully WDDM 2.0 support are labelled as such in the driver (I checked) :).
Anyways, here is what the box looks like on my machine currently:
http://oi57.tinypic.com/2133hc9.jpg
As you can see, the display name takes up the whole selection box, masking the name of the monitor. The whole name of the display driver is:
AMD Radeon HD 7900 Series (Engineering Sample - WDDM v2.0)
meaning that even without 'Engineering Sample' it would still cut off the monitor name due to the WDDM v2.0 label. I'm not sure whether the WDDM v2.0 label, minus 'Engineering Sample' will rename once the official drivers are released, but it's possible that it may. Also, other graphics adaptors from Nvidia and Intel may face a similar truncation of the 'Graphics Adaptor' selection in MPDN.
I see it as more important to have the monitor name first, since people may have different monitors connected to the same card.
A completely separate query, are you going to go over to SharpDX version 3.0 when it is released, for DirectX 12 support? It would be nice, but apparently the library has changed a bit so would require some rewriting, and apparently support for anything less than DirectX 11 has been removed? I guess if this is the case, you could have SharpDX 3.0 used when presentaton API is 'DirectX 11' or 'DirectX 12' (which should cover most cards), and have SharpDX v2.6.3 utilised with 'DirectX 9Ex' or 'DirectX 10' is selected as the API. This legacy support could be in the form of a special 'Legacy' extension mode (separate from the normal extension download), such that you only download it if needed? :). Just an idea.
Thanks for the great work :).
Anima123
25th April 2015, 08:03
Just tested SuperRes + NNEDI3, still suffers from rendering time gradually increasing. Basically, SuperRes cannot use any doubler without rendering time increasing.
ryrynz
25th April 2015, 13:28
Just tested SuperRes + NNEDI3, still suffers from rendering time gradually increasing. Basically, SuperRes cannot use any doubler without rendering time increasing.
Have you tried changing any of the settings to 0? Or using fast mode to rule out any particular parts of SuperRes that might be causing it?
Zachs
25th April 2015, 13:35
In regards to this change:
I was wondering whether it would be better to put the monitor name first, instead of the graphics adaptor? The resaon I ask is I am running Windows 10 TP, and the graphic driver name is so long it fills the entire drop down box. Because of this, you cannot see the name of the monitor when selecting where to output. Monitor names are almost always quite short.
A completely separate query, are you going to go over to SharpDX version 3.0 when it is released, for DirectX 12 support? It would be nice, but apparently the library has changed a bit so would require some rewriting, and apparently support for anything less than DirectX 11 has been removed? I guess if this is the case, you could have SharpDX 3.0 used when presentaton API is 'DirectX 11' or 'DirectX 12' (which should cover most cards), and have SharpDX v2.6.3 utilised with 'DirectX 9Ex' or 'DirectX 10' is selected as the API. This legacy support could be in the form of a special 'Legacy' extension mode (separate from the normal extension download), such that you only download it if needed? :). Just an idea.
I will see what I can do to improve the drop-down. Showing monitor name first is a quick fix but long monitor names will have the same problem.
With regards to SharpDX 3.0, I'm still trying to find out more about it. It's still too early to even try SharpDX 3.0 yet.
trandoanhung1991
25th April 2015, 15:04
I think I've fixed both performance regression and XySubFilter crashing / subtitles not working issues with the latest release (version 2.25.5).
Do let me know if it fixes the problems.
Performance regression still happening.
Same settings, same pre-NNEDI3 extensions, 25.3 gives me 14-15ms, 25.5 gives me 19-21ms.
Shiandow
25th April 2015, 15:42
I've noticed that using Script Chain: Deband -> NNEDI3 -> SuperRes is producing fast render times than Deband -> SuperRes (with NNEDI3 selected as doubler within). Anyone have a theory why that would be? (I'd think if working correctly they should be the same, or if anything the selection within SuperRes to be faster. Is it perhaps because of passes (independent selection only doing one pass while selection inside SuperRes would lead it to be applied the same number of times as passes selected), or maybe just a SuperRes bug?
Edit: Actually I'm guessing this is in part to the not being able to select optimizer (and neurons) for NNEDI3 in SuperRes while it can be selected in independent NNEDI3 script - which I know is already being worked on...
Well NNEDI3 already scales the image to the correct final size, so using SuperRes after NNEDI3 is the same as just using NNEDI3 since SuperRes doesn't need to do anything. This is obviously faster than using NNEDI3 and SuperRes. Although it might make sense to change that behaviour, I'll see what I can do.
Anima123
25th April 2015, 18:49
Have you tried changing any of the settings to 0? Or using fast mode to rule out any particular parts of SuperRes that might be causing it?
Tried all kinds of settings already, just no luck.
Shiandow
25th April 2015, 19:35
Tried all kinds of settings already, just no luck.
Well if anything setting "passes" to 0 should have helped. Just to be sure, the CPU/RAM usage doesn't increase does it?
Zachs
26th April 2015, 00:43
Shiandow, are you still seeing performance regression with the latest build?
Zachs
26th April 2015, 00:44
Performance regression still happening.
Same settings, same pre-NNEDI3 extensions, 25.3 gives me 14-15ms, 25.5 gives me 19-21ms.
Can you try build 3066 to see if that also has the same performance regression for you?
Shiandow
26th April 2015, 01:05
Shiandow, are you still seeing performance regression with the latest build?
Yeah, it's still there. The XySubFilter issues are gone though.
Zachs
26th April 2015, 01:20
Hmm. I'll have another look at the changes in 3067. Maybe I've missed something.
Anima123
26th April 2015, 03:11
Well if anything setting "passes" to 0 should have helped. Just to be sure, the CPU/RAM usage doesn't increase does it?
It does not. I guess set passes to 0 is equivalent to disable SuperRes instead? The other settings to 0 does not make the rendering time increasing stop if either image doublers enabled.
Zachs
26th April 2015, 12:15
I think I've fixed the performance regression issue - can you try build 3070 in the MPDN "Test Builds" folder (http://mpdn.zachsaw.com/Test%20Builds/)?
Shiandow
26th April 2015, 15:40
That seems to have done it, the render time / GPU usage is now the same as it was in build 3066.
nekromantik
26th April 2015, 16:39
Its a shame AMD not fixed the dual graphics bug.
If you choose AMD card in settings you get no video still.
At least Optimus you get video out! ha
Quick question, this new version, do we only need to use Super Res plus NEDI or do we still use built in NEDI in SuperRes?
Shiandow
26th April 2015, 16:58
Quick question, this new version, do we only need to use Super Res plus NEDI or do we still use built in NEDI in SuperRes?
You need to choose NEDI in the SuperRes setting itself, otherwise it will first scale the image using NEDI and use SuperRes the rest of the way. However SuperRes can do more if it knows what the original image looked like so it works better if it can use NEDI internally.
There should be some more advanced support for this soon, allowing you to change NEDI/NNEDI3's settings, or even create your own prescaler.
nekromantik
26th April 2015, 18:07
You need to choose NEDI in the SuperRes setting itself, otherwise it will first scale the image using NEDI and use SuperRes the rest of the way. However SuperRes can do more if it knows what the original image looked like so it works better if it can use NEDI internally.
There should be some more advanced support for this soon, allowing you to change NEDI/NNEDI3's settings, or even create your own prescaler.
Thanks :thanks:
nekromantik
26th April 2015, 18:34
I chose NNEDI3 in SuperRes alone without any other scripts and Im getting high render times 50 - 60ms compared with older version NNEDI 20 - 30 using SuperChromaRes and SuperRes NNEDI.
Is this normal?
Shiandow
26th April 2015, 20:00
I chose NNEDI3 in SuperRes alone without any other scripts and Im getting high render times 50 - 60ms compared with older version NNEDI 20 - 30 using SuperChromaRes and SuperRes NNEDI.
Is this normal?
By NNEDI do you mean NEDI or NNEDI3? Because it wouldn't be weird for NNEDI3 to be a lot slower than NEDI. You may also be suffering from the performance regression form build 3067, which should be fixed soon (it's already fixed in the "beta" version 3070).
nekromantik
26th April 2015, 20:49
By NNEDI do you mean NEDI or NNEDI3? Because it wouldn't be weird for NNEDI3 to be a lot slower than NEDI. You may also be suffering from the performance regression form build 3067, which should be fixed soon (it's already fixed in the "beta" version 3070).
Yes I mean that ha
I was using the test version.
Maybe the updated Nvidia drivers slowed it down. Even on NEDI its slower then before.
Shiandow
26th April 2015, 21:25
Yes I mean that ha
I was using the test version.
Maybe the updated Nvidia drivers slowed it down. Even on NEDI its slower then before.
How much slower? And does GPU usage also increase?
nekromantik
26th April 2015, 22:42
How much slower? And does GPU usage also increase?
Not checked GPU usage.
SuperChromaRes + SuperRes NNDI used to give me 20-30 render times for 720 > 1080. but now Im getting 30 to 40.
Zachs
27th April 2015, 00:11
Not checked GPU usage.
SuperChromaRes + SuperRes NNDI used to give me 20-30 render times for 720 > 1080. but now Im getting 30 to 40.
You need to check GPU clock, as it could very well be that it no longer needs to run at max clock rate, so you see an increase in render time.
Shiandow
27th April 2015, 01:24
There's now a new version of the renderscripts on github, where you can configure NEDI / NNEDI3, as well as add your own prescaler (not recommended if you don't know what you're doing). Also if you haven't tried SuperRes + NEDI recently, it's become a lot faster with MPDN's new scalers.
It's recommended to use these with the latest MPDN (v2.25.6), the links don't seem to have been updated yet, but I expect they will be soon.
Zachs
27th April 2015, 01:28
Done. Just updated the links.
Anima123
27th April 2015, 03:23
I can confirm that SuperRes + NEDI is a lot faster than before. Now it took 30 minutes for a 576p 23.976 fps video playback start stuttering due to rendering time increase, which used to be 12 minutes or so.
It would be really nice to see the algorithm been improved, which would be perfect once the rendering time increase no longer be a problem, either in nVidia's driver or in the algorithm itself.
nekromantik
27th April 2015, 06:55
I can confirm that SuperRes + NEDI is a lot faster than before. Now it took 30 minutes for a 576p 23.976 fps video playback start stuttering due to rendering time increase, which used to be 12 minutes or so.
It would be really nice to see the algorithm been improved, which would be perfect once the rendering time increase no longer be a problem, either in nVidia's driver or in the algorithm itself.
Im surprised you keep seeing the render time increase.
Mine stays the same and Im on Optimus 860m. Could just be a issue with your specific card.
Zachs
27th April 2015, 07:02
I remember he said it happened on both his Optimus laptops. No one else with an Optimus laptop could replicate the issue though.
Zachs
27th April 2015, 13:19
I was wondering whether it would be better to put the monitor name first, instead of the graphics adaptor?
Just released v2.25.7 - the drop down for the graphics adapter selection should now auto expand to show the full description and monitor name. If you hover your mouse cursor over the drop down box, you'll also get a popup hint that shows you the full text if it's truncated.
Zachs
27th April 2015, 13:29
just to let you know subtitles doesn't work on this build or the last beta build. after testing i always had to revert back to 2.25.3. Shiandow are you also going to add which optimization to choose from?
Just a heads up, Shiandow's updated the scripts on GitHub and SuperRes is now fully featured when used with NNEDI3.
burfadel
27th April 2015, 15:42
Just released v2.25.7 - the drop down for the graphics adapter selection should now auto expand to show the full description and monitor name. If you hover your mouse cursor over the drop down box, you'll also get a popup hint that shows you the full text if it's truncated.
Thanks! Much appreciated :).
Anima123
27th April 2015, 19:30
Im surprised you keep seeing the render time increase.
Mine stays the same and Im on Optimus 860m. Could just be a issue with your specific card.
Sadly that the render time increase is real for me, it happened on both of my laptops, one is nVidia 640m and the other is with 880m.
Any help on this is much appreciated. Maybe there's some settings with nVidia control center that I've missed?
nekromantik
27th April 2015, 19:35
Sadly that the render time increase is real for me, it happened on both of my laptops, one is nVidia 640m and the other is with 880m.
Any help on this is much appreciated. Maybe there's some settings with nVidia control center that I've missed?
Nope I not changed any Nvidia settings. Only settings in Nvidia panel are DX gfx and what programs use Nvidia gpu. I disabled all intel video settings though.
Anima123
27th April 2015, 19:42
I disabled all intel video settings though.
Can you give me more details on that? It might be related with the problem I encountered somehow.
nekromantik
27th April 2015, 21:38
Can you give me more details on that? It might be related with the problem I encountered somehow.
In Intel Control panel, go to video settings and set everything to application instead of driver. And if there is a option to switch it off then do that.
Dazog
28th April 2015, 05:44
Bug:
If i skip video with the seek bar and have Auto-hide Control bar checked, the bar doesn't auto hide.
I have to uncheck the option and recheck it for it to auto-hide
Zachs
28th April 2015, 06:17
Bug:
If i skip video with the seek bar and have Auto-hide Control bar checked, the bar doesn't auto hide.
I have to uncheck the option and recheck it for it to auto-hide
Fixed in next release.
EDIT: Done - v2.25.8.
ryrynz
28th April 2015, 08:29
Give us some info on DWM handling vsync? Compatibility option?
Zachs
28th April 2015, 08:47
Oh that's basically disabling vsync in windowed mode and let DWM handle vsync (it already does). The default is basically what it was in previous MPDN versions.
Belphemur
28th April 2015, 13:48
With the Help of Zachs, I created a new PlayerExtension that will download and load automatically subtitles from OpenSubtitles.org.
You can find it in the Github repository with the other Extensions and Renderer.
To avoid annoying user that don't use subtitle, you need to activate it in the Option menu :
http://i.imgur.com/4PFyeGI.jpg
Screenshot:
http://i.imgur.com/mSsDf8S.jpg
ryrynz
28th April 2015, 14:59
Oh that's basically disabling vsync in windowed mode and let DWM handle vsync (it already does). The default is basically what it was in previous MPDN versions.
Any use cases where it is preferable to enable it?
Neat lil extension there Belphemur.
Garteal
28th April 2015, 17:28
Nice extension Belph. Looking forward to give it a try.
Suggestion: could add some way of filtering the languages available.
Belphemur
28th April 2015, 18:33
Nice extension Belph. Looking forward to give it a try.
Suggestion: could add some way of filtering the languages available.
I'm planning to add in the Configuration menu a possibility to select which language to fetch.
Shiandow
28th April 2015, 23:44
Hi everyone!
The extensions have been updated again, I've improved the Script Chain both internally and externally. It should now be somewhat easier to chain together the renderscripts you want.
I've also fixed some issue which was making it very slow to change the render chain, so switching between different renderscripts should be a lot faster.
ryrynz
29th April 2015, 00:46
Got an error latest MPDN and extensions pack.
Object reference not set to an instance of an object. (Extensions)
Zachs
29th April 2015, 03:24
Delete your RenderScripts config folder - there's a conflict that causes this error.
%localappdata%\MediaPlayerDotNet\RenderScripts.x86 (or x64)
ryrynz
29th April 2015, 03:39
Sorted, cheers.
Anima123
29th April 2015, 06:41
Cannot configure scriptchain with the latest version. The Error message read as
InvalidArgument=Value of '1' is not valid for 'index'.
Parameter name: index
Zachs
29th April 2015, 06:42
Yeah I had the same issue.
Drag and drop works though. I've informed Shiandow about the problem.
Anima123
29th April 2015, 07:12
I think that the SuperRes with NNEDI3 a little bit 'strong' to me, not as natural as SuperRes + NEDI. Anyone else ever compared the visual quality of these algorithms that MPDN brought us?
Shiandow
29th April 2015, 08:27
I think that the SuperRes with NNEDI3 a little bit 'strong' to me, not as natural as SuperRes + NEDI. Anyone else ever compared the visual quality of these algorithms that MPDN brought us?
It might be a good idea to lower some of the values of SuperRes when used with NEDI / NNEDI3. Especially with NNEDI3 you probably don't need much sharpening / anti-aliasing.
Belphemur
29th April 2015, 09:37
Using Extensions of commit : bb8b03a3dd470ab64ff4f935022ba53e8af8f8dc (last one just merged 1h ago) I get this error.
I removed the configuration for render script in %localappdata%\MediaPlayerDotNet and still get the error.
TITLE: Error
------------------------------
An unexpected error 'Mpdn.CriticalException' has occurred.
------------------------------
ADDITIONAL INFORMATION:
One or more extensions failed to load
------------------------------
c:\Program Files\Media Player .NET\Extensions\RenderScripts\Mpdn.ScriptChain.cs(40,22): error CS0534: 'Mpdn.RenderScript.Mpdn.ScriptChain.ScriptChainScript' does not implement inherited abstract member 'Mpdn.RenderScript.RenderChainUi<Mpdn.RenderScript.Mpdn.ScriptChain.ScriptChain,Mpdn.RenderScript.Mpdn.ScriptChain.ScriptChainDialog>.Category.get'
(CSScriptLibrary)
------------------------------
BUTTONS:
&Abort
------------------------------
Corrected, if you're getting this error is because you still have some of the Old Extension along with the new one.
Remove the Extensions folder in MPDN and redownload the Extensions from Github.
ryrynz
29th April 2015, 09:53
I think that the SuperRes with NNEDI3 a little bit 'strong' to me, not as natural as SuperRes + NEDI.
You're not alone there. On first glance I thought the SuperRes defaults were too high and I dropped back to 1 pass and knocked the strength way down, looked a lot better to me.
I don't think the extra passes really helped much at all picture wise but I have yet to do a proper comparison to know for certain and how SuperRes + NNEDI3 stacks up to using say just NNEDI3 + a sharpen shader or Avisynth.
Shiandow
29th April 2015, 10:23
You're not alone there. On first glance I thought the SuperRes defaults were too high and I dropped back to 1 pass and knocked the strength way down, looked a lot better to me.
I don't think the extra passes really helped much at all picture wise but I have yet to do a proper comparison to know for certain and how SuperRes + NNEDI3 stacks up to using say just NNEDI3 + a sharpen shader or Avisynth.
I've not had much time to fine tune SuperRes + NNEDI3, but personally I use the following for SuperRes + NEDI:
Passes 2,
Strength: 0.5,
Sharpness: 0.35,
AntiAliasing: 0.25
AntiRinging: 0.5
For NNEDI3 you can probably lower the strength even more, or at the very least lower the sharpness. But maybe you only need 1 pass, it only needs to remove NNEDI3 artifacts and maybe increase the sharpness a bit.
Would it be better if I saved the values of passes, strength, etc. separately for each SuperRes variant?
Shiandow
29th April 2015, 10:25
Cannot configure scriptchain with the latest version. The Error message read as
InvalidArgument=Value of '1' is not valid for 'index'.
Parameter name: index
Should be fixed now.
ryrynz
29th April 2015, 10:56
Would it be better if I saved the values of passes, strength, etc. separately for each SuperRes variant?
Definitely. I do wonder though if NEDI is still a worthwhile option now that NNEDI3 has been included.
BTW what does SuperChromaRes use for upscaling? Thought about adding a NNEDI3 option there?
Shiandow
29th April 2015, 11:19
Definitely. I do wonder though if NEDI is still a worthwhile option now that NNEDI3 has been included.
BTW what does SuperChromaRes use for upscaling? Thought about adding a NNEDI3 option there?
Okay I'll see what I can do to save those options separately.
It's definitely still worthwhile to include NEDI if only because it is an order of magnitude faster than NNEDI3, and combines very well with SuperRes (with the right settings the result is almost indistinguishable from NNEDI3, despite being almost 2x as fast).
I hadn't really though about adding a NNEDI3 / NEDI option to SuperChromaRes. At the moment neither support chroma scaling, I will probably add that at some point, but I don't consider it too high a priority. FWIW you can combine SuperChromaRes with any other chromascaler by simply adding SuperChromaRes after it (unlike with SuperRes).
Zachs
29th April 2015, 11:22
Oh NEDI is still very important. I use it all the time on lower end systems. We are still a long way from a windows tablet being able to run it, let alone NNEDI3.
ryrynz
29th April 2015, 11:46
FWIW you can combine SuperChromaRes with any other chromascaler by simply adding SuperChromaRes after it (unlike with SuperRes).
SuperCromaRes stand alone resizes based on what algorithm exactly?
Shiandow
29th April 2015, 11:49
SuperCromaRes stand alone resizes based on what algorithm exactly?
Basically the same as SuperRes without NEDI or NNEDI3. It uses MPDN's settings for the initial chroma scaling.
ryrynz
29th April 2015, 12:36
Sweet. I mentioned this to you earlier but should the ChromaScaler's preset name be blank on a fresh install? You have 0.33/0.33 settings loaded which is mitchell netravali.
http://i.imgur.com/6i5kziK.png
toniash
29th April 2015, 13:33
Would it be possible to run SuperRes as a shader outside MPDN?
:confused:
Shiandow
29th April 2015, 15:04
Would it be possible to run SuperRes as a shader outside MPDN?
:confused:
Well it isn't exactly impossible, I just wouldn't recommend it.
toniash
29th April 2015, 20:41
Well it isn't exactly impossible, I just wouldn't recommend it.
May I ask you why?
Shiandow
29th April 2015, 21:03
May I ask you why?
Implementing SuperRes as a shader or even a sequence of shaders has the problem that it is almost impossible to save any information apart from the original image. You can work around this a bit by using the alpha channel, but not much. So instead of being able to calculate something and use that result in multiple places you will have to recalculate it every time, which makes the algorithm a lot harder to write and a lot slower.
toniash
29th April 2015, 22:48
Implementing SuperRes as a shader or even a sequence of shaders has the problem that it is almost impossible to save any information apart from the original image. You can work around this a bit by using the alpha channel, but not much. So instead of being able to calculate something and use that result in multiple places you will have to recalculate it every time, which makes the algorithm a lot harder to write and a lot slower.
Thanks for you answer!:thanks:
Shiandow
29th April 2015, 23:09
Sweet. I mentioned this to you earlier but should the ChromaScaler's preset name be blank on a fresh install? You have 0.33/0.33 settings loaded which is mitchell netravali.
Fixed. I've also made SuperRes save the values of Passes etc. separately for each different variant, and also added a way to assign a hotkey to switch between the different types.
Unfortunately some of the changes I had to make may not be compatible with the previous Script Chain / Script Group, so it might be necessary to delete Mpdn.ScriptChain.config and Mpdn.ScriptGroup.config. Though, with the changes I made it shouldn't be necessary to change those again for some time (I hope).
One of nicer consequences is that you can now access the config dialogs of scripts that are parts of another scripts, through the context menu. So if you open the Script Chain dialog and right click on a Script Group / Chain, or even SuperRes then you can edit the scripts that are used inside of that script. In the case of SuperRes this gives an easy way to access the NNEDI3 settings, and it makes it easier to manage nested Script Groups and Script Chains.
ryrynz
29th April 2015, 23:55
Awesome. Small cosmetic issue (IMO) adding a script chain with a longer name than the column width makes the column auto resize out (which is good) For example SuperChromaRes
has a long name and long description, clearing it causes it to resize back (which is fine) but perhaps you could just set the column width long enough to be able to handle all options so column resizing doesn't need to take place?
BTW I had to delete Shiandow.SuperRes.config to remove an error with the latest renderscript.
Any chance of getting the ability to change the SuperRes default prescaler name, maybe add more? (not sure how useful that would be in most situations) thoughts?
BRM
30th April 2015, 00:21
MPDN "crashes" after a while (after roughly 35~40 mins of continuous playback). Basically the image will freeze, but the audio track will keep playing. GUI is unresponsive, but hotkeys still work (space to pause, for instance).
Don't know if it only happens in full screen.
Zachs
30th April 2015, 00:24
Does it continue to work if you back out of full screen? And just to be sure, your GPU isn't overheating or anything?
Shiandow
30th April 2015, 00:29
Awesome. Small cosmetic issue (IMO) adding a script chain with a longer name than the column width makes the column auto resize out (which is good) For example SuperChromaRes
has a long name and long description, clearing it causes it to resize back (which is fine) but perhaps you could just set the column width long enough to be able to handle all options so column resizing doesn't need to take place?
Unfortunately there's really no way to know how large a name is going to be, you can change it to anything you want really. Descriptions can also have unlimited length. I suppose I could simply add a few spaces to the column header to avoid some of the unnecessary resizes. But it will still need to resize if you change the name to something like "Myawesomebutverylongnamedrenderscript".
Any chance of getting the ability to change the SuperRes default prescaler name, maybe add more? (not sure how useful that would be in most situations) thoughts?
I'm not too sure how useful it is to add more prescalers. FWIW at the moment you can change the name / add more prescalers by editting the config file, or by changing the settings of the "Default" prescaler. That one is actually a script chain so you can do anything with it. If, for example, you want to add an unlimited number of prescalers with custom names you can do that using a script group in the Default prescaler. Heck with a little extra code you could make it use a different setting depending on the day of the week, I'm not planning to add a scheduler any time soon though.
I could probably add a way to change the name though, that sounds at least somewhat useful.
BRM
30th April 2015, 00:31
Does it continue to work if you back out of full screen? And just to be sure, your GPU isn't overheating or anything?
It doesn't allow me to back out of full screen, in fact, I have to fire up the task manager and kill the process using keyboard only.
GPU stays under 70c, and is a gigabyte 280x rev3 using the 14.12 drivers. Clean installation of windows (reinstalled yesterday from scratch, though I had the exact same problems 3 days ago, using the latest beta drivers, on my old installation).
Zachs
30th April 2015, 00:53
Does it always happen or was it a one time thing?
I'll try to replicate it on my systems but would help if I know more details.
BRM
30th April 2015, 01:11
Does it always happen or was it a one time thing?
I'll try to replicate it on my systems but would help if I know more details.
It has happened 3 times so far, after roughly 40 minutes of continuous video playback (though it's worth noting I have only used this player to watch a long video 4 times). I wish I could give you more details, but I'm really at a loss for words. What would you like to know?
I update MPDN x64 whenever I can, last time it happened I was using v2.25.5, watching this video https://www.youtube.com/watch?v=yBy5kYoiPB0 (downloaded it first).
Script chain is: SuperChromaRes (6 passes) --> Deband --> SuperRes (NEDI, 6 passes) --> ImageProcessor; Max image quality is selected; D3D 11; 0 dropped frames. Defaults settings elsewhere.
Zachs
30th April 2015, 01:25
Well I fixed a couple of race conditions that were introduced in v2.25.5. Did it happen before v2.25.5?
BRM
30th April 2015, 01:31
Well I fixed a couple of race conditions that were introduced in v2.25.5. Did it happen before v2.25.5?
Yes, can't remember exactly which ones I was using before 2.25.5 (I think it was 2.21 -> 2.25.2 -> 2.25.5), but yes, it occurred before that.
Zachs
30th April 2015, 01:37
OK I'll try to replicate it on my systems. Do let me know if you still get this problem with the latest build.
ryrynz
30th April 2015, 01:40
Hey Zach when do UNORM intermediates get used exactly?
Any use cases you know of where it might be preferable to enable DWM V-sync handling?
BRM
30th April 2015, 01:40
OK I'll try to replicate it on my systems. Do let me know if you still get this problem with the latest build.
I will try to replicate it again using the same video as soon as I wake up.
Zachs
30th April 2015, 01:49
Hey Zach when do UNORM intermediates get used exactly?
Any use cases you know of where it might be preferable to enable DWM V-sync handling?
When you have your render quality set to "prefer image quality" and "prefer max performance".
Let DWM handle vsync option should be left disabled in all cases unless you get very high present times. Event then, you should first try to play around with the other settings (new path / old path, backbuffer count etc.) before you resort to enabling this option.
ryrynz
30th April 2015, 02:04
Thanks. Hey, any particular reason why 4 tap Jinc and 4 tap Lanczos are in the options? MadVR skipped it's 2 tap for those (probably for good reason because image quality is kinda poo with them)
Would you prefer they stay?
Also could you give MPDN the ability to remember the previous selected options after pressing okay? For example If I previously had 16 tap Lanzcos AR enabled then switched to 16 tap Jinc AR and pressed okay, went back
into the options and selected Lanzcos it would default back to 4 tap no AR. Cheers.
Zachs
30th April 2015, 02:07
Yes I prefer they stay.
Yeah, I'll see what I can do with getting it to remember the previous selected options.
ryrynz
30th April 2015, 02:14
I just checked out the usage and it's considerably easier on the GPU with 4 tap over 6 tap with Lanczos, so yeah.
Do you think now NNEDI3 / NEDI could be moved from the renderscript page to the upscalers page. Could have an area that says 'scaling performed by render script' keeping everything together.
SuperRes or even SuperChromaRes could be moved there as an option to tick, just a thought.
Zachs
30th April 2015, 03:13
I just checked out the usage and it's considerably easier on the GPU with 4 tap over 6 tap with Lanczos, so yeah.
Do you think now NNEDI3 / NEDI could be moved from the renderscript page to the upscalers page. Could have an area that says 'scaling performed by render script' keeping everything together.
SuperRes or even SuperChromaRes could be moved there as an option to tick, just a thought.
No. MPDN doesn't and shouldn't have any concept of an 'upscaling' render script. The render script screen could be improved further to group scripts into category like what Shiandow has done in the ScriptChain script, but that's as far as I would go. It would be very confusing when you need to chain NEDI / NNEDI3 with other scripts too.
ryrynz
30th April 2015, 03:26
No. MPDN doesn't and shouldn't have any concept of an 'upscaling' render script. The render script screen could be improved further to group scripts into category like what Shiandow has done in the ScriptChain script, but that's as far as I would go. It would be very confusing when you need to chain NEDI / NNEDI3 with other scripts too.
I meant keep the renderscripts stuff where it is, but allow for NEDI/NNEDI3 to be selected via the upscalers page.
Zachs
30th April 2015, 03:35
I meant keep the renderscripts stuff where it is, but allow for NEDI/NNEDI3 to be selected via the upscalers page.
Like I said, MPDN should be agnostic to the type of renderscripts. For example, ChromaScaler is an upscaler too - should we then put it under MPDN's chroma upscaler? NEDI/NNEDI3 are more image doublers than upscalers too. The latter can scale to any resolution but the former only doubles the image. This is one idea I am fully against from both a technical and usage point of view. Sorry.
Zachs
30th April 2015, 03:38
I will try to replicate it again using the same video as soon as I wake up.
I can't replicate this problem. I've just let it play for 1 1/2 hours without any problems on two separate and differently spec'ed machines.
ryrynz
30th April 2015, 03:39
Like I said, MPDN should be agnostic to the type of renderscripts.
Fair enough. Just figured it might make things a bit easier to find/select for some users. BTW, any plans to stick player controls (pause, play, stop) into FSE mode?
I can't replicate this problem. I've just let it play for 1 1/2 hours without any problems on two separate and differently spec'ed machines.
Did you use the same chain he was using?
Enabling Anti-ringing with SuperChromaRes seems to be shifting the chroma, I don't get the same shift enabling anti-ringing when SuperChromaRes isn't enabled.
Belphemur
30th April 2015, 08:53
For those using the OpenSubtitles Extension, I added the possibility to chose a preferred language in the Configuration Window.
The extension will automatically filter the available subtitle and show only the one in the preferred language. If there isn't any subtitle available in that language, it will show all the available subtitles.
Shiandow
30th April 2015, 11:14
Enabling Anti-ringing with SuperChromaRes seems to be shifting the chroma, I don't get the same shift enabling anti-ringing when SuperChromaRes isn't enabled.
Is that with the latest version? There was a bug which caused problems when shifting the image when anti-ringing was enabled, although I'm not sure how this would affect SuperChromaRes.
ryrynz
30th April 2015, 11:34
Is that with the latest version? There was a bug which caused problems when shifting the image when anti-ringing was enabled, although I'm not sure how this would affect SuperChromaRes.
Yup .11 with latest scripts.
Zachs
30th April 2015, 11:54
Just to clarify, when you said "enabling anti-ringing with SuperChromaRes", do you mean anti-ringing in SuperChromaRes or MPDN's Luma Upscaler anti-ringing?
ryrynz
30th April 2015, 11:56
The luma upscaler, SuperChromaRes has anti-ringing enabled by default. Wait on, it ain't doing it with Lanczos.. could just be Jinc. Actually can't duplicate it now.. weird.
Pretty sure I had superChromaRes disabled when I thought it was enabled when screening, hence the shift. Enabling SuperChromaRes does make a hell of a difference..
Zachs
30th April 2015, 12:45
BTW, any plans to stick player controls (pause, play, stop) into FSE mode?
Yes, but a very low priority one - takes a lot of time and effort for minor convenience.
Shiandow
30th April 2015, 23:14
The luma upscaler, SuperChromaRes has anti-ringing enabled by default. Wait on, it ain't doing it with Lanczos.. could just be Jinc. Actually can't duplicate it now.. weird.
Pretty sure I had superChromaRes disabled when I thought it was enabled when screening, hence the shift. Enabling SuperChromaRes does make a hell of a difference..
Oh well, SuperChromaRes and ChromaScaler now use the same chroma offset as MPDN's chroma scalers. So those kind of issues shouldn't happen again. If you do notice a shift in chroma again then something went wrong.
Edit: Also found some bugs, the SuperRes dialog wasn't displaying the hotkey and NNEDI3 shifted the chroma. Should be fixed soon.
ryrynz
1st May 2015, 01:44
Edit: Also found some bugs, the SuperRes dialog wasn't displaying the hotkey and NNEDI3 shifted the chroma. Should be fixed soon.
Cool. Are the defaults for SuperChromaRes what you would recommend for the most accurate chroma? Also do you have any test patterns at all?
Oh thiat reminds me. You can change the default chroma offsets in MPDN's config file. At least until someone creates a player extension that does this in a more use friendly manne.
Oh thiat reminds me. You can change the default chroma offsets in MPDN's config file. At least until someone creates a player extension that does this in a more use friendly manne.
doesn't it read chromaloc from x264?
Any info on where I can retrieve that chromaloc from the file?
EDIT: It would appear that is x264 specific isn't it?
nevcairiel
1st May 2015, 12:34
The H264 spec optionally includes the chroma location. If its signaled in the bitstream, then LAV will also tell the video renderer through DXVA2_ExtendedFormat
In practice, any format that includes the information, LAV should tell you. If its not signaled, then MPEG2 position should be assumed.
In real world, content with any other position than MPEG2 is rather rare anyway.
Got it. Thanks Nev!
EDIT: Tested a bunch of files and they all have 'unknown' VideoChromaSubsampling (i.e. not specified), so not sure how useful it actually is... Anyway, the default chroma offset is still available as an option in MPDN's config file (no GUI for it yet as I reckon a player extension would be best suited for this). v2.25.13 will now use the info from the bitstream if it's signaled, otherwise it'll fallback to the default value.
Shiandow
1st May 2015, 16:22
Cool. Are the defaults for SuperChromaRes what you would recommend for the most accurate chroma? Also do you have any test patterns at all?
I wouldn't dare call it the "most accurate" but they are what I currently use. They are almost certainly not optimal yet.
nekromantik
1st May 2015, 23:14
Do we still need to user SuperChromaRes if using SuperRes with NNEDI3 or NNEDI?
Yes. Chroma needs to be scaled to luma size first. If you don't use it, you'll effectively be using MPDN's internal chroma scaler. There's quite a big difference in quality.
nekromantik
1st May 2015, 23:41
Yes. Chroma needs to be scaled to luma size first. If you don't use it, you'll effectively be using MPDN's internal chroma scaler. There's quite a big difference in quality.
Ah Makes sense.
Going to see if I can get viewable render times this weekend upscaling to 4k! Doubt it though as its a i7 laptop with 860m! My gtx760 desktop probably can but its packed away,
Hi again, just managed to replicate my original issue (after 5 minutes, this time):
MPDN "crashes" after a while (after roughly 35~40 mins of continuous playback). Basically the image will freeze, but the audio track will keep playing. GUI is unresponsive, but hotkeys still work (space to pause, for instance).
Don't know if it only happens in full screen.
Here are the event viewer errors: https://i.imgur.com/Odv9Wl8.png
Do you still get the same problem with the latest version?
Do you still get the same problem with the latest version?
Well, it doesn't happen every time. I have just watched over 50 minutes of continuous video playback and it didn't crash (on the same version as before).
I will update it now though.
mrcorbo
3rd May 2015, 17:43
When in fullscreen mode, if I bring up the menu by right-clicking and choose to exit the program, the program crashes. It doesn't matter if FSE mode is active or not and it happens even if playback is stopped.
This doesn't happen if I Alt-F4 instead.
Garteal
3rd May 2015, 19:03
Can't reproduce that here. What are your settings?
Btw Zachs are you from the future? :p
mrcorbo
3rd May 2015, 20:37
Can't reproduce that here. What are your settings?
I've tried to move to as generic settings as possible from my standard settings and still get the error. As of now my system/settings are:
Windows 8.1 64 bit/Radeon 270X Catalyst 15.3 beta
Enable FSE is off (have tested both on/off)
Presentation is D3D9Ex (have tested both 10.1 and 11)
New windowed mode is off (Have tested on/off)
Let DWM handle VSync is off
Render scripts are none
Dithering - No dithering (normally have set to random)
Fluid Motion Off (normally have this on)
I checked a bunch of old builds also (extracting them to an empty folder with no player extensions or renderscripts) and did find a build that didn't have this crash, but it was all they way back to 2.9.6 (build 2650) and I am missing all of the builds between there and 2.15.1 (build 2858) which has the crash, so I can't really narrow down where it broke (for me). :/
Garteal
3rd May 2015, 20:59
Seems to be something on your end then.
What type of crash is it? MPDN handled or a "generic" Windows one?
Post the message/log here (or a screeny)? Check your event logs too for anything suspicious.
mrcorbo
3rd May 2015, 21:50
Seems to be something on your end then.
What type of crash is it? MPDN handled or a "generic" Windows one?
Post the message/log here (or a screeny)? Check your event logs too for anything suspicious.
It's a Windows crash in nt.dll (access violation).
It's difficult to debug the error because the crash causes a black screen (a remnant of the fullscreen video playback) to stay on top of any active windows.
Shiandow
3rd May 2015, 23:21
MPDN extensions have been updated again, some improvements to Super(Chroma)Res and also added a few hotkeys to modify chroma settings.
The changes to Super(Chroma)Res are:
- Softness now has a slightly different effect, resulting in sharper edges (although "softening" still removes some detail).
- Added softness to SuperRes, making it possible to achieve somewhat ridiculous levels of sharpness (not without risk though)
- Changed the defaults to accomodate these changes, although the defaults could probably use some improvement, I didn't have time to check all possibilities
- Setting a value to 0 disables the corresponding part of the code, so you can trade quality for performance.
I've also added 2 hotkeys for controlling chroma:
- Ctrl+Shift+L toggles the chroma levels
- Ctrl+Shift+M switches the chroma matrix
If something has been encoded well you shouldn't need to use either of them.
I've also added 2 hotkeys for controlling chroma:
- Ctrl+Shift+L toggles the chroma levels
- Ctrl+Shift+M switches the chroma matrix
If something has been encoded well you shouldn't need to use either of them.
How come blacks look washed out when using full range (PC 0-255), but look proper when using limited color range (16-235)? Shouldn't it be the other way around?
It's a Windows crash in nt.dll (access violation).
It's difficult to debug the error because the crash causes a black screen (a remnant of the fullscreen video playback) to stay on top of any active windows.
Did you have any extensions installed at all? Perhaps try it without the extensions and see if it still happens? I've tested it on the various systems I have here as well and they all closed properly without crashing.
Shiandow
4th May 2015, 14:44
How come blacks look washed out when using full range (PC 0-255), but look proper when using limited color range (16-235)? Shouldn't it be the other way around?
No that's correct. It overrides the input colour space, not the output.
mrcorbo
4th May 2015, 17:35
Did you have any extensions installed at all? Perhaps try it without the extensions and see if it still happens? I've tested it on the various systems I have here as well and they all closed properly without crashing.
Yeah, I actually extracted all of the old builds I had downloaded to new folders and ran them, so no extensions or renderscripts were available.
I'll keep poking away at it on my end to see if I can find something on my system that may be causing it to break.
Garteal
4th May 2015, 19:34
Have you checked your event logs for anything useful?
Try deleting ScriptAsmCache.(32 or 64) in %localappdata%\MediaPlayerDotNet. Maybe something got corrupted there?
Heck, might aswell delete it all if that doesn't work and see if that helps.
Yeah, I actually extracted all of the old builds I had downloaded to new folders and ran them, so no extensions or renderscripts were available.
I'll keep poking away at it on my end to see if I can find something on my system that may be causing it to break.
Try with the latest version - I found a problem that may have been related (not very confident it's what you're seeing though).
Hi guys,
I've added an OpenCL version of the NNEDI3 render script. Since I don't have an AMD card, I've only tested it on Intel and Nvidia GPUs. It's now available on GitHub.
Cheers.
Garteal
5th May 2015, 12:08
Nice. I'll give it a try with my GTX970.
ryrynz
5th May 2015, 12:14
I've just submitted details of an out of memory bug to Zach when switching to NNEDI3 during playback in case anyone else encounters it.
Intel doesn't seem to prefer OpenCL.
Garteal
5th May 2015, 12:19
^ did it happen instantly or after a (short) while?
Edit: Can't reproduce that here so probably your setup.
ryrynz
5th May 2015, 12:21
Can replicate it instantly. Have also informed Zach about the dark screen bug when switching from NNEDI3 to OpenCL NNEDI3.
Have found out the bug mentioned in my previous post doesn't require video to be playing either.
Only happens in x86 mode - doesn't happen as well if you have your decoder queue set to 16. This is a genuine out of memory error - i.e. your 32-bit app ran out of addressable memory space.
ryrynz
5th May 2015, 12:25
My decoder Queue is 16 and I'm running 64 bit edition, just checked.
Can replicate it instantly. Have also informed Zach about the dark screen bug when switching from NNEDI3 to OpenCL NNEDI3.
Have found out the bug mentioned in my previous post doesn't require video to be playing either.
Seems to happen only on NVidia (not sure about AMD). Intel doesn't have this problem.
My decoder Queue is 16 and I'm running 64 bit edition, just checked.
Can't replicate this on the 64-bit edition.
ryrynz
5th May 2015, 12:43
Can't replicate this on the 64-bit edition.
Kay, I'll see if I can duplicate on the Intel machine.
Only happens with New windowed mode activated.
Anime Viewer
5th May 2015, 13:30
Hi guys,
I've added an OpenCL version of the NNEDI3 render script. Since I don't have an AMD card, I've only tested it on Intel and Nvidia GPUs. It's now available on GitHub.
Cheers.
I tested both the original NNEDI3 and OpenCL versions with my Optimus system using the Nvidia GPU, and they both look like they work without problem. Both seem to preform equally on my system (30-32ms render times on the video I tested them both on). NEDI seems like the better performing video doubler on my system (compared to NNEDI3). NEDI renders the same video in 17-18ms on my system (nearly twice as fast as NNEDI3).
ryrynz
5th May 2015, 13:39
Both seem to preform equally on my system (30-32ms render times on the video I tested them both on)
The difference will be in the GPU usage.
The difference will be in the GPU usage.
Actually on my 560 GTX both versions ran with similar GPU usage, with the shader version winning by the slightest margin.
ryrynz
5th May 2015, 13:57
Actually on my 560 GTX both versions ran with similar GPU usage, with the shader version winning by the slightest margin.
Across all neurons? I guess it's a case of YMMV aye.
Across all neurons? I guess it's a case of YMMV aye.
It depends on the source resolution too. For 720p sources, OpenCL wins by the same margin. Lower resolution sources it's the other way around. And yes, that's true for all neurons.
ryrynz
5th May 2015, 14:08
For 720p sources, OpenCL wins by the same margin. Lower resolution sources it's the other way around
That's just begging for profiles now..
That's just begging for profiles now..
That's quite easy via the custom render script (https://github.com/zachsaw/MPDN_Extensions/blob/master/Extensions/RenderScripts/Custom.MyRenderScript.cs).
For my case, it's a ~1% GPU usage difference. Like I said, slightest margin.
Anyone else getting out of memory problem after switching between the two NNEDI3 versions running x64 Edition? I can't replicate the problem on my machine...
EDIT: BTW, I can't even replicate this problem on x86 Edition if I don't set my decoder queue too high.
ryrynz
5th May 2015, 14:23
Anyone else getting out of memory problem after switching between the two NNEDI3 versions running x64 Edition? I can't replicate the problem on my machine...
Not necessarily switching between the two NNEDI versions, just simply changing from no renderscript to either NNEDI3 version will do it, I did focus on the shader version though and I think it was more likely to happen with that.
Just a heads up. I released v.16 which works around NV's blank screen / no luma problem when NNEDI3 OpenCL is used following a device reset. Let me know if this 'fixes' the problem for you (it's likely you'll still see the broken image for a split second before the proper one replaces it).
Garteal
5th May 2015, 14:40
^ still getting the brief black screen on my end. (GTX970)
Yeah that's normal. As long as it shows the proper one after that when playback is paused, I wouldn't be to worried about it.
Garteal
5th May 2015, 14:53
Ah okay, I see what you guys meant now. Same issue is still present upon maximizing and resizing the window and going to fullscreen.
Anime Viewer
5th May 2015, 19:00
Anyone else getting out of memory problem after switching between the two NNEDI3 versions running x64 Edition? I can't replicate the problem on my machine...
EDIT: BTW, I can't even replicate this problem on x86 Edition if I don't set my decoder queue too high.
I haven't encountered it. Does it occur instantly, or after a certain amount of time with NNEDI3 running?
Keiyakusha
5th May 2015, 20:43
Hey guys, assuming I have a container with one audio and 2 video streams, how do I switch the video stream?
Hmm it doesn't support multi video streams yet. Haven't come across any clips that contain more than one video stream. Any chance you could get me a sample?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.