Log in

View Full Version : Media Player .NET (MPDN) - D3D HQ GPU Video Renderer [v2.49.0/v1.31.0 27 Dec 2018]


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [21] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

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.