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
15th September 2014, 08:00
Will do.

madshi
15th September 2014, 11:37
Yes a few others have mentioned the same. I'm going to drop support for d3d9 GPUs in the next version and only target ones that support d3d10.
So no DXVA decoding/deinterlacing? Or does LAV already support DXVA for DX10/11?

nevcairiel
15th September 2014, 11:40
You can do deinterlacing just fine, its independent of what the decoder does.
You're right however that it might make DXVA2-Native decoding break for now.

Zachs
15th September 2014, 12:38
Dxva cb will still work too. I never supported dxva native to begin with anyway. Is there much to gain from dxva native decoding?

huhn
15th September 2014, 13:04
you spare the a copyback/upload so it is a little bit faster.

maybe a problem for weaker GPU but you can't really notice a difference with mid-high end gpus.

madshi
15th September 2014, 13:12
AMD generations older than 7xxx were very slow with copyback. They might still be able to do copyback 1080p24/1080i60, but just barely, IIRC. Personally, I'm not a big fan of DXVA decoding, anyway, but it seems to be important for some users.

Anima123
15th September 2014, 18:55
I wonder if dithering methods in MPDN are similar to madVR, since madVR's dithering cost a lot more GPU power.

madshi
15th September 2014, 20:02
Which dithering option did you choose in madVR? And did you enable the related "trade quality for performance" option? And did you disable smooth motion FRC? FWIW, madVR uses a rather advanced version of ordered dithering. I don't know what MPDN is doing. It's probably a simpler implementation.

Anima123
15th September 2014, 22:10
Usually I'm using ordered dithering with madVR. I have tried more advanced algorithm, yet cannot get normal playback due to the weak gpu I had.

madshi
15th September 2014, 22:28
Yes, but the ordered dithering algorithm in madVR is more advanced than what e.g. LAV does, or probably also what MPDN does. What is more, madVR's ordered dithering also by default (unless you enable that "trade quality" option) runs in linear light instead of gamma light. And if you enable smooth motion FRC, it has to dither many more frames than otherwise. So unless you level the playing field, it would not be fair to compare the rendering performance of madVR and MPDN. So you should at least enable that "trade quality" option and disable smooth motion FRC. And even then madVR still probably does more work because madVR's ordered dithering mask is probably bigger than MPDN's. I can't say the latter for sure, though, because I don't know what MPDN does exactly.

Zachs
16th September 2014, 06:24
MPDN's ordered dithering is slightly more expensive than random dithering on weaker GPUs. For the purpose of video playback, I actually prefer to use random dithering as it feels more natural (film grain). I could also tune the strength to suit the monitor. E.g. my laptop has a really lousy display. I find that a strength of 4.0 gives me the smoothest gradient.

It's really hard to compare MPDN to MadVR. What should matter in the end is what your eyes can see (a combo of personal preference, monitor quality, and anything in between) and what your GPU is capable of.

kostik
21st September 2014, 17:59
I have Quadro 4000m and 10bit works, lets say, It doesn't crash or make any problems (I am using Exclusive full screen).
I will test the new version and report back

Zachs
22nd September 2014, 05:47
MPDN now supports 10-bit and 16-bit output modes in Direct3D 10 and 11. In Direct3D 9Ex mode, selecting 10-bit and 16-bit output modes will cause MPDN to attempt to use the respective modes but fallback when it's not supported (i.e. if 16-bit mode is unsupported, use 10-bit. If 10-bit isn't supported, fallback to 8-bit).

You will find this feature particularly useful especially if you have 10-bit sources and/or if you use 3DLUTs as you can now faithfully reproduce the picture as intended.

One thing to note though, displays / links that don't support deep color (i.e. pre-HDMI 1.3 and DVI) will produce horrible banding effects unless 8-bit output is selected. Analog output is perfectly happy with the deep color output though.

A final word of warning: 16-bit output mode is quite buggy across different cards (even with the same version of driver). In my testing with 3 different generations of NVIDIA cards on Win8.1 and Win7, I found only one instance where the backcolor was cleared to white instead of black (with 9600GTX on Win8.1). AMD cards displays with incorrect gamma while in 16-bit mode (MPDN has a workaround for this and AMD cards now displays correctly). Intel GPUs are even more of a mixed bag - on P4600 Win7, I get completely wrong colours while displaying through DVI.

I'm very interested to find out what other bugs you guys encounter.

kostik
22nd September 2014, 13:04
tried 2.0V but I get this error :An unexpected error 'Mpdn.VideoPlayer.DsGraphException' has occurred.
No metter what bitdepth setting I choose, tried x64 and AnyCPU ver.

Zachs
22nd September 2014, 13:08
tried 2.0V but I get this error :An unexpected error 'Mpdn.VideoPlayer.DsGraphException' has occurred.
No metter what bitdepth setting I choose, tried x64 and AnyCPU ver.

Did you get this problem with the old version when playing the same files?

The DirectShow portion of MPDN hasn't changed.

Also, there's a show detail button on the lower left when the error dialog is displayed. Can you get me the stack trace please?

kostik
22nd September 2014, 13:19
Did you get this problem with the old version when playing the same files?

The DirectShow portion of MPDN hasn't changed.

Also, there's a show detail button on the lower left when the error dialog is displayed. Can you get me the stack trace please?

Didnt have this issue with previous version.

===================================

An unexpected error 'Mpdn.VideoPlayer.DsGraphException' has occurred.

------------------------------
Error Type = Mpdn.VideoPlayer.DsGraphException
Error Message = Failed to render file 'H:\Movies\The.Amazing.Spider-Man.2.2014.RETAIL.1080p.Bluray.DTS-HD.x264-EVO\The.Amazing.Spider-Man.2.2014.RETAIL.1080p.Bluray.DTS-HD.x264-EVO.mkv'
Error Source = Mpdn.VideoPlayer
Error Site = Void .ctor(System.String, RenderFrameEventHandler, GraphNotifyEventHandler, Int32, Boolean, Filter, Filter[])
Error occurred = at Mpdn.VideoPlayer.DirectShowVideo..ctor(String fileName, RenderFrameEventHandler renderFrameEventHandler, GraphNotifyEventHandler graphNotifyEventHandler, Int32 queueFrames, Boolean loadSubtitles, Filter audioRenderer, Filter[] extraAudioFilters)
at Mpdn.VideoPlayer.VideoPlayer.Load(String fileName, Int32 aspectRatioX, Int32 aspectRatioY, YuvColorimetry yuvColorimetry, Boolean loadSubtitles, Filter audioRenderer, Filter[] extraAudioFilters)
at MediaPlayerDotNet.MainForm.
(String )
at MediaPlayerDotNet.MainForm.
(String , Boolean )
at MediaPlayerDotNet.MainForm.
(String )
at MediaPlayerDotNet.MainForm.
(Object , EventArgs )
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.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 = 16 GB
Available Physical Memory = 13.9 GB
Date Time = 22/09/2014 12:12:32
User Name = DaniK\DaniKe
Application Startup Path = C:\Users\DaniKe\Desktop\New folder (2)
Application Executable Path = C:\Users\DaniKe\Desktop\New folder (2)\MediaPlayerDotNet.exe
CurrentDirectory = C:\Users\DaniKe\Desktop\New folder (2)
SystemDirectory = C:\Windows\system32
Ran As Admin = True
HasShutdownStarted = False
MachineName = DaniR
ProcessorCount = 8
LogicalDrives = C:\, F:\, G:\, H:\
EnvironmentVariables = COMPUTERNAME = DaniR; USERPROFILE = C:\Users\DaniKe; HOMEPATH = \Users\DaniKe; LOCALAPPDATA = C:\Users\DaniKe\AppData\Local; asl.log = Destination=file; PSModulePath = C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files\Intel\; PROCESSOR_ARCHITECTURE = AMD64; Path = C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\; CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files; ProgramFiles(x86) = C:\Program Files (x86); PROCESSOR_LEVEL = 6; LOGONSERVER = \\DaniR; PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC; HOMEDRIVE = C:; SystemRoot = C:\Windows; ALLUSERSPROFILE = C:\ProgramData; PUBLIC = C:\Users\Public; FP_NO_HOST_CHECK = NO; APPDATA = C:\Users\DaniKe\AppData\Roaming; PROCESSOR_REVISION = 2a07; USERNAME = DaniKe; CommonProgramW6432 = C:\Program Files\Common Files; CommonProgramFiles = C:\Program Files\Common Files; OS = Windows_NT; USERDOMAIN_ROAMINGPROFILE = DaniK; PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 42 Stepping 7, GenuineIntel; ComSpec = C:\Windows\system32\cmd.exe; SystemDrive = C:; TEMP = C:\Users\DaniKe\AppData\Local\Temp; ProgramFiles = C:\Program Files; NUMBER_OF_PROCESSORS = 8; TMP = C:\Users\DaniKe\AppData\Local\Temp; ProgramData = C:\ProgramData; ProgramW6432 = C:\Program Files; windir = C:\Windows; USERDOMAIN = DaniK; __COMPAT_LAYER = Installer
RuntimeVersion = 4.0.30319.34014
Thread Count = 14
Handle Count = 357
VM Size = 780.5 MB
Peak VM Size = 791.6 MB
Working Set Size = 75.9 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, apphelp.dll, ADVAPI32.dll, msvcrt.dll, sechost.dll, RPCRT4.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, CRYPTBASE.dll, bcryptPrimitives.dll, uxtheme.dll, Start8_64.dll, PROPSYS.dll, OLEAUT32.dll, clrjit.dll, CRYPTSP.dll, rsaenh.dll, bcrypt.dll, System.ni.dll, System.Drawing.ni.dll, System.Windows.Forms.ni.dll, DirectShowLib-2005.dll, SharpDX.Direct3D9.dll, SharpDX.dll, SharpDX.Direct3D10.dll, comctl32.dll, dwmapi.dll, gdiplus.dll, DWrite.dll, WindowsCodecs.dll, System.Core.ni.dll, shell32.dll, SHCORE.dll, YAXLib.dll, System.Xml.Linq.ni.dll, System.Xml.ni.dll, System.Configuration.ni.dll, VideoFrameServicesNative.dll, d3d9.dll, VERSION.dll, nvd3dumx.dll, PSAPI.DLL, SharpDX.DXGI.dll, dxgi.dll, powrprof.dll, nvSCPAPI64.dll, SETUPAPI.dll, CFGMGR32.dll, d3d10_1.dll, d3d10_1core.dll, d3d11.dll, nvwgf2umx.dll, D3D9NativeServices.dll, WINMM.dll, WTSAPI32.dll, WINMMBASE.dll, DEVOBJ.dll, nvapi64.dll, WINTRUST.dll, CRYPT32.dll, MSASN1.dll, WINSTA.dll, d3dx10_43.dll, usp10.dll, CommandLine.dll, clbcatq.dll, tiptsf.dll, quartz.dll, LAVSplitter.ax, avformat-lav-55.dll, avutil-lav-52.dll, avcodec-lav-55.dll, libbluray.dll, WS2_32.dll, NSI.dll, sxs.dll, LAVVideo.ax, swscale-lav-2.dll, avfilter-lav-4.dll, qedit.dll, MSVFW32.dll, COMDLG32.dll, Microsoft.ExceptionMessageBox.dll, Microsoft.VisualBasic.ni.dll, System.Management.ni.dll, diasymreader.dll, SspiCli.dll


===================================

Failed to render file 'H:\Movies\The.Amazing.Spider-Man.2.2014.RETAIL.1080p.Bluray.DTS-HD.x264-EVO\The.Amazing.Spider-Man.2.2014.RETAIL.1080p.Bluray.DTS-HD.x264-EVO.mkv' (Mpdn.VideoPlayer)

------------------------------
Program Location:

at Mpdn.VideoPlayer.DirectShowVideo..ctor(String fileName, RenderFrameEventHandler renderFrameEventHandler, GraphNotifyEventHandler graphNotifyEventHandler, Int32 queueFrames, Boolean loadSubtitles, Filter audioRenderer, Filter[] extraAudioFilters)
at Mpdn.VideoPlayer.VideoPlayer.Load(String fileName, Int32 aspectRatioX, Int32 aspectRatioY, YuvColorimetry yuvColorimetry, Boolean loadSubtitles, Filter audioRenderer, Filter[] extraAudioFilters)
at MediaPlayerDotNet.MainForm.†††
††††”Œ(String )
at MediaPlayerDotNet.MainForm.†††
††††”‹(String , Boolean )
at MediaPlayerDotNet.MainForm.†††
††††”†(String )
at MediaPlayerDotNet.MainForm.†††
††††•œ(Object , EventArgs )
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

===================================

The owner SID on a per-user subscription doesn't exist (Exception from HRESULT: 0x80040207) (Mpdn.VideoPlayer)

------------------------------
Program Location:

at Mpdn.VideoPlayer.DirectShowVideo.Load(String fileName, Boolean loadSubtitles)
at Mpdn.VideoPlayer.DirectShowVideo..ctor(String fileName, RenderFrameEventHandler renderFrameEventHandler, GraphNotifyEventHandler graphNotifyEventHandler, Int32 queueFrames, Boolean loadSubtitles, Filter audioRenderer, Filter[] extraAudioFilters)

Zachs
22nd September 2014, 13:31
With the previous version, did you have to drop d3dx9_43.dll into the MPDN folder?

Can you try doing that with the new version too?

Does this happen with every media file you're trying to play?

kostik
22nd September 2014, 13:41
With the previous version, did you have to drop d3dx9_43.dll into the MPDN folder?

Can you try doing that with the new version too?

Does this happen with every media file you're trying to play?

No, I didnt have to drop it into the MPDN folder with previous version.
And it happens with every media file.
Droping d3dx9_43.dll into the main folder didnt help :(

Zachs
22nd September 2014, 13:43
No, I didnt have to drop it into the MPDN folder with previous version.
And it happens with every media file.
Droping d3dx9_43.dll into the main folder didnt help :(

This is really strange. I have 5 machines here with different OSes and hardware setup but I can' t replicate your error. If you run the old version now (i.e. v1.3.4), would you also get the error?

kostik
22nd September 2014, 14:35
This is really strange. I have 5 machines here with different OSes and hardware setup but I can' t replicate your error. If you run the old version now (i.e. v1.3.4), would you also get the error?

I dont have the old version, had it deleted, but It worked today,
lets wait for someone else to check if it works.

Zachs
22nd September 2014, 14:37
I dont have the old version, had it deleted, but It worked today,
lets wait for someone else to check if it works.

Only other thing I could think of is DirectVobSub throwing an error while it was trying to connect. Untick the "Load Subtitles" option and see if it works.

kostik
22nd September 2014, 14:52
Only other thing I could think of is DirectVobSub throwing an error while it was trying to connect. Untick the "Load Subtitles" option and see if it works.

It was the first thing I tried. Also I tried a media file which has no subs embedded

huhn
22nd September 2014, 16:45
2.0 works for me.

8 and 10 bit look alike (10 bit is a tiny bit more darker) but 16 bit is changing the picture somehow.

and the most important bug in this version is that it used always nearest neighbor as downscaler:
http://abload.de/img/downscalingifdgs.png

and something is going totally wrong too it can't show black in 1-Black Clipping.mp4

8 bit http://abload.de/img/8bit7eisg.png
10 bit http://abload.de/img/10bita0fn8.png
16 bit http://abload.de/img/16bitmgi4j.png

Zachs
23rd September 2014, 01:29
It was the first thing I tried. Also I tried a media file which has no subs embedded

In your LAV video decoder, do you have YV12 output ticked?

MPDN currently only supports YV12 inputs from upstream (mainly to shorten dev time).

Zachs
23rd September 2014, 06:12
2.0 works for me.

8 and 10 bit look alike (10 bit is a tiny bit more darker) but 16 bit is changing the picture somehow.

and the most important bug in this version is that it used always nearest neighbor as downscaler:
http://abload.de/img/downscalingifdgs.png

and something is going totally wrong too it can't show black in 1-Black Clipping.mp4

8 bit http://abload.de/img/8bit7eisg.png
10 bit http://abload.de/img/10bita0fn8.png
16 bit http://abload.de/img/16bitmgi4j.png

Next release will have all these fixed, including the difference in color in 16-bit mode.

EDIT: I've just released v2.0.1 with fixes for the bugs you reported and a few more. Could you let me know if that fixes the "always used nearest neighbor as downscaler problem"?

kostik
24th September 2014, 12:38
In your LAV video decoder, do you have YV12 output ticked?

MPDN currently only supports YV12 inputs from upstream (mainly to shorten dev time).

Thanks now it works, YV12 was unticked .
Full screen+16bit/10bit+direct3D10.1 works on my Quadro card

Zachs
24th September 2014, 12:49
Here are some of the driver bugs I discovered while developing / testing MPDN. I hope this will help those who encountered the same problem.

Bugs (Direct3D 9Ex):

Intel
My HD 3000 on Win8.1 (driver ver 15.28.22.64.3517) gets color corruption after exiting 10-bit FSE mode (i.e. Windows DWM color appears like GIF image's palette corruption).
Custom gamma settings in Intel graphics control panel also does not have any effects in 10-bit FSE mode

AMD
Frame drop in windowed mode only when monitor is set to 50Hz (non MPDN specific, affects Windows DWM too) on my HD4350 - see http://zachsaw.blogspot.com.au/2014/09/state-of-legacy-drivers-2014-amd-vs.html

NVIDIA
None

Bugs (Direct3D 10.1):

Intel
Custom gamma settings in Intel graphics control panel does not have any effects in 10-bit/16-bit output mode (FSE mode).
Additionally, 16-bit output (FSE mode) appears to have most of its colors set to black when it is sent through the monitor via non-deepcolor compatible links.

AMD
Same as D3D9Ex.
Additionally, 16-bit output mode in FSE mode has its gamma settings completely wrong on HD4350.

NVIDIA
Critical bug in FSE mode where it changes the monitor refresh rate even when *specifically* told not to. It also does not adhere to the custom refresh rates user has setup in the NVIDIA control panel.
E.g. At 23Hz refresh rate (23.976Hz), I have custom refresh rate setup that gets pretty close to the desired rate. Switching to FSE mode, the driver changes the composition rate to 24Hz but reverts the refresh rates to the default one for 23Hz! This bug occurs on all the NVIDIA cards I've tested - 8400GS, 9600GT and 560GTX (drivers from Jan 2014 to latest).

In light of my findings, I have brought back the Direct3D 9 renderer (this is the default and along with 8-bit output provides for the most stable daily use). MPDN now allows user to choose between the D3D9 and D3D10 renderer. Obviously if you have an NVIDIA card and relies on 23Hz custom refresh rate setup, you should use the D3D9 renderer for now until NVIDIA fixes their long standing bug.

Zachs
24th September 2014, 13:01
Thanks now it works, YV12 was unticked .
Full screen+16bit/10bit+direct3D10.1 works on my Quadro card

Thanks for testing.

Your Quadro card should have 10-bit working in D3D9 too!
MPDN v2.1 (latest version) allows you to choose D3D9 mode with 10-bit output. I haven't got a Quadro card to test but on all my consumer grade cards, the D3D10 mode runs into a driver bug where refresh rates are set wrongly in FSE mode.

Zachs
24th September 2014, 13:25
BTW, does anyone know how to submit a bug on the AMD website for their Graphics products? It was so easy to submit a bug on both Intel and NVIDIA websites.

Snowknight26
24th September 2014, 14:39
BTW, does anyone know how to submit a bug on the AMD website for their Graphics products? It was so easy to submit a bug on both Intel and NVIDIA websites.

http://www.amd.com/report or http://www.amd.com/betareport depending on driver being used.

Anime Viewer
24th September 2014, 14:40
tried 2.0V but I get this error :An unexpected error 'Mpdn.VideoPlayer.DsGraphException' has occurred.
No metter what bitdepth setting I choose, tried x64 and AnyCPU ver.

What GPU and driver version are you using?

If you're using Nvidia, do you have GeForce Experience 2.1.2 installed? The 2.1.2 update broke a not of functions, so if you have it you should try uninstalling it to see if the problem goes away.

Zachs
24th September 2014, 14:41
http://www.amd.com/report or http://www.amd.com/betareport depending on driver being used.

Ah thanks. Not sure if they would do anything with their legacy products though :)

huhn
24th September 2014, 16:10
Next release will have all these fixed, including the difference in color in 16-bit mode.

EDIT: I've just released v2.0.1 with fixes for the bugs you reported and a few more. Could you let me know if that fixes the "always used nearest neighbor as downscaler problem"?

not working.

it looks like it is not nearest neighbour it is bilinear when i select nearest neighbour it aliased even more the rest doesn't have an effect even softcubic 100.

http://abload.de/img/resizet3jkt.png

not the same screen i know it's not an comparison.

i play around with high bit deep next.

edit: in the first screen they don't use the same resizer. here one with both softcubic 100
http://abload.de/img/resizeiofce.png

huhn
24th September 2014, 16:28
my short experience with high bit deep.
i used a nvidia 760 gtx for the test and no display capable of 10 bit most likely not even 8 bit.

MPDN works only in full screen on the main screen not the second the second is always windowed or at least 8 bit.

16 bit can't deal with display calibrations. it looks like it is unloaded but the black is totally destroyed it's brown or something like that. without loaded calibration it works fine. 8 bit and 10 doesn't care about the calibration.

Anime Viewer
24th September 2014, 22:03
I haven't read through the entire thread (yet), but here are the list of issues I've seen on my Optimus equipped Windows 8.1 64-bit OS notebook:

If Nvidia control panel is set to use the Nvidia 680m GTX GPU (instead of the Intel 4000), and render technology is set to Direct3D 10.1 then there will be a black screen when the video plays. Audio will play, but no video is displayed - the screen is black, with the white "Play" word in the top left corner. There is no way to tab out and get back to desktop view. The black screen stays in the foreground, and the only way to escape is CTRL+ALT+Del and tell the system to Logout, Shutdown, or Restart. I suspect this is similar to the other Direct3D 10.1 issue currently known about with Nvidia cards, but I don't know if non-optimus systems experience the locked to black screen crash behavior of an Optimus system which is why I mention it.


LAV splitter error when trying to launch videos in 64-bit player. Error message box shown below as well as more extensive technical details inside the code tag below:
http://i59.tinypic.com/11afrjl.jpg


===================================

An unexpected error 'Mpdn.VideoPlayer.DsGraphException' has occurred.

------------------------------
Error Type = Mpdn.VideoPlayer.DsGraphException
Error Message = Failed to render file 'E:\Users\NotMyName\Downloads\[HorribleSubs] One Piece - 662
[480p].mkv'
Error Source = Mpdn.VideoPlayer
Error Site = Void .ctor(System.String, RenderFrameEventHandler, GraphNotifyEventHandler, Int32,
Boolean, Filter, Filter[])
Error occurred = at Mpdn.VideoPlayer.DirectShowVideo..ctor(String fileName,
RenderFrameEventHandler renderFrameEventHandler, GraphNotifyEventHandler graphNotifyEventHandler,
Int32 queueFrames, Boolean loadSubtitles, Filter audioRenderer, Filter[] extraAudioFilters)
at Mpdn.VideoPlayer.VideoPlayer.Load(String fileName, Int32 aspectRatioX,
Int32 aspectRatioY, YuvColorimetry yuvColorimetry, Boolean loadSubtitles, Filter audioRenderer,
Filter[] extraAudioFilters)
at MediaPlayerDotNet.MainForm.†††
††††”•(String )
at MediaPlayerDotNet.MainForm.†††
††††””(String , Boolean )
at MediaPlayerDotNet.MainForm.†††
††††”(String )
at MediaPlayerDotNet.MainForm.†††
††††”œ(Object , EventArgs )
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.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 = 15.9 GB
Available Physical Memory = 13.5 GB
Date Time = 9/24/2014 1:34:52 PM
User Name = SAGER-NP9150\NotMyName
Application Startup Path = E:\Downloads\MediaPlayerDotNet_x64_2_1_0_1424
Application Executable Path = E:\Downloads\MediaPlayerDotNet_x64_2_1_0_1424\MediaPlayerDotNet.exe
CurrentDirectory = E:\Downloads\MediaPlayerDotNet_x64_2_1_0_1424
SystemDirectory = C:\Windows\system32
Ran As Admin = False
HasShutdownStarted = False
MachineName = SAGER-NP9150
ProcessorCount = 8
LogicalDrives = C:\, E:\, F:\, G:\, Z:\
EnvironmentVariables = COMPUTERNAME = SAGER-NP9150; USERPROFILE = C:\Users\NotMyName; HOMEPATH =
\Users\NotMyName;
LOCALAPPDATA = C:\Users\NotMyName\AppData\Local; PSModulePath =
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;

PROCESSOR_ARCHITECTURE = AMD64; Path = C:\Program Files (x86)\NVIDIA
Corporation\PhysX\Common;C:\Program Files\AuthenTec TrueSuite\;
C:\Program Files\AuthenTec TrueSuite\x86;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\Intel\Intel(R) Management Engine Components\IPT;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files
(x86)\Intel\Intel(R) Management Engine Components\IPT;

C:\Program Files\AuthenTec TrueSuite\x86\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common
Files\Intel\WirelessCommon\;

C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;
CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files;
ProgramFiles(x86) = C:\Program Files (x86); NVIDIAWHITELISTED = 0x01; LOGONSERVER =
\\MicrosoftAccount; PATHEXT = .COM;.
EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;
HOMEDRIVE = C:;
SystemRoot = C:\Windows; SESSIONNAME = Console; ALLUSERSPROFILE = C:\ProgramData; PUBLIC =
C:\Users\Public; FP_NO_HOST_CHECK = NO;

APPDATA = C:\Users\NotMyName\AppData\Roaming; PROCESSOR_REVISION = 3a09; USERNAME = NotMyName;
CommonProgramW6432 = C:\Program Files\Common Files;

SHIM_MCCOMPAT = 0x810000001; CommonProgramFiles = C:\Program Files\Common Files; OS = Windows_NT;
USERDOMAIN_ROAMINGPROFILE = SAGER-NP9150; PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 58 Stepping
9, GenuineIntel;

ComSpec = C:\Windows\system32\cmd.exe; SystemDrive = C:; TEMP =
C:\Users\NotMyName\AppData\Local\Temp; ProgramFiles = C:\Program Files; NUMBER_OF_PROCESSORS = 8;
PROCESSOR_LEVEL = 6; TMP = C:\Users\NotMyName\AppData\Local\Temp; ProgramData = C:\ProgramData;
ProgramW6432 = C:\Program Files; windir = C:\Windows;
USERDOMAIN = SAGER-NP9150
RuntimeVersion = 4.0.30319.34014
Thread Count = 18
Handle Count = 367
VM Size = 771.8 MB
Peak VM Size = 771.8 MB
Working Set Size = 106.2 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, mscoreei.dll, SHLWAPI.dll, combase.dll, USER32.dll,
GDI32.dll, IMM32.DLL, MSCTF.dll, nvinitx.dll, detoured.dll, nvd3d9wrapx.dll, SETUPAPI.dll,
CFGMGR32.dll, nvdxgiwrapx.dll, clr.dll, MSVCR120_CLR0400.dll, mscorlib.ni.dll, ole32.dll,
kernel.appcore.dll, CRYPTBASE.dll, bcryptPrimitives.dll, uxtheme.dll, tiptsf.dll, OLEAUT32.dll,
clrjit.dll, System.ni.dll, System.Drawing.ni.dll, System.Windows.Forms.ni.dll, bcrypt.dll,
CRYPTSP.dll,

rsaenh.dll, DirectShowLib-2005.dll, SharpDX.Direct3D9.dll, SharpDX.dll, comctl32.dll, dwmapi.dll,
gdiplus.dll, DWrite.dll, WindowsCodecs.dll, System.Core.ni.dll, shell32.dll, SHCORE.dll,
YAXLib.dll,

System.Xml.Linq.ni.dll, System.Xml.ni.dll, System.Configuration.ni.dll,
VideoFrameServicesNative.dll, d3d9.dll, VERSION.dll, nvumdshimx.dll, igdumdim64.dll, igdusc64.dll,
nvd3dumx.dll, PSAPI.DLL,

DEVOBJ.dll, WINTRUST.dll, CRYPT32.dll, MSASN1.dll, nvspcap64.dll, nvapi64.dll, oleacc.dll,
Accessibility.ni.dll, clbcatq.dll, D3D9NativeServices.dll, WINMM.dll, WTSAPI32.dll, WINMMBASE.dll,

powrprof.dll, WINSTA.dll, dcomp.dll, d3dx9_43.dll, usp10.dll, CommandLine.dll, quartz.dll,
Microsoft.ExceptionMessageBox.dll, Microsoft.VisualBasic.ni.dll, System.Management.ni.dll,
diasymreader.dll, SspiCli.dll


===================================

Failed to render file
'E:\Users\NotMyName\Downloads\[HorribleSubs] One Piece
- 662 [480p].mkv' (Mpdn.VideoPlayer)

------------------------------
Program Location:

at Mpdn.VideoPlayer.DirectShowVideo..ctor(String fileName, RenderFrameEventHandler
renderFrameEventHandler, GraphNotifyEventHandler graphNotifyEventHandler, Int32 queueFrames,
Boolean loadSubtitles, Filter audioRenderer, Filter[] extraAudioFilters)
at Mpdn.VideoPlayer.VideoPlayer.Load(String fileName, Int32 aspectRatioX, Int32 aspectRatioY,
YuvColorimetry yuvColorimetry, Boolean loadSubtitles, Filter audioRenderer, Filter[]
extraAudioFilters)
at MediaPlayerDotNet.MainForm.†††
††††”•(String )
at MediaPlayerDotNet.MainForm.†††
††††””(String , Boolean )
at MediaPlayerDotNet.MainForm.†††
††††”(String )
at MediaPlayerDotNet.MainForm.†††
††††”œ(Object , EventArgs )
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr
lparam)

===================================

Failed to load LAV Splitter Source DirectShow filter (Mpdn.VideoPlayer)

------------------------------
Program Location:

at Mpdn.VideoPlayer.DirectShowVideo.Load(String fileName, Boolean loadSubtitles)
at Mpdn.VideoPlayer.DirectShowVideo..ctor(String fileName, RenderFrameEventHandler
renderFrameEventHandler, GraphNotifyEventHandler graphNotifyEventHandler, Int32 queueFrames,
Boolean loadSubtitles, Filter audioRenderer, Filter[] extraAudioFilters)

===================================

Retrieving the COM class factory for component with CLSID {B98D13E7-55DB-4385-A33D-09FD1BA26338}
failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154
(REGDB_E_CLASSNOTREG)). (Mpdn.VideoPlayer)

------------------------------
Program Location:

at Mpdn.VideoPlayer.DirectShowVideo.LoadSourceFilter(IFilterGraph2 graph, String fileName)


In the General options area under Load subtitles
it says *requires DirectVobSub (auto loading version) to be installed, but going into the DirectShow area that is not listed under Available Filters (but things like XySubFilter and XYSubFilterAutoLoader are listed, but neither of them appears to work to play many softsubbed videos).

The good news is the 32-bit version appear to work without problems (aside from the subtitle issue) when Direct3D 9Ex is used. I'm perfectly content using the 32-bit in Direct3D 9Ex mode for the time being, and simply mention the other errors for reference (in case other users try that version or configuration and want to know a different version/configuration that may work in that situation).

kostik
24th September 2014, 22:14
I haven't read through the entire thread (yet), but here are the list of issues I've seen on my Optimus equipped Windows 8.1 64-bit OS notebook:

If Nvidia control panel is set to use the Nvidia 680m GTX GPU (instead of the Intel 4000), and render technology is set to Direct3D 10.1 then there will be a black screen when the video plays. Audio will play, but no video is displayed - the screen is black, with the white "Play" word in the top left corner. There is no way to tab out and get back to desktop view. The black screen stays in the foreground, and the only way to escape is CTRL+ALT+Del and tell the system to Logout, Shutdown, or Restart. I suspect this is similar to the other Direct3D 10.1 issue currently known about with Nvidia cards, but I don't know if non-optimus systems experience the locked to black screen crash behavior of an Optimus system which is why I mention it.


LAV splitter error when trying to launch videos in 64-bit player. Error message box shown below as well as more extensive technical details inside the code tag below:
http://i59.tinypic.com/11afrjl.jpg


An unexpected error 'Mpdn.VideoPlayer.DsGraphException' has occurred.


The good news is the 32-bit version appear to work without problems when Direct3D 9Ex is used. I'm perfectly content using the 32-bit in Direct3D 9Ex mode for the time being, and simply mention the other errors for reference (in case other users try that version or configuration and want to know a different version/configuration that may work in that situation).

I think it's the exact issue I had. As suggested I had to turn on YV12 in Lav Filter (which is by default turned on but I had it unticked).

Anime Viewer
24th September 2014, 22:44
I think it's the exact issue I had. As suggested I had to turn on YV12 in Lav Filter (which is by default turned on but I had it unticked).

Thanks for the recommended setting change, but I already have YV12 checked in Output Formats in LAV Video Decoder, so something else may be the issue. (The only outputs I have unchecked in LAV Video decorder are AYUV and RGB48.

Zachs
25th September 2014, 01:22
it looks like it is not nearest neighbour it is bilinear when i select nearest neighbour it aliased even more the rest doesn't have an effect even softcubic 100.

my short experience with high bit deep.
i used a nvidia 760 gtx for the test and no display capable of 10 bit most likely not even 8 bit.

MPDN works only in full screen on the main screen not the second the second is always windowed or at least 8 bit.

16 bit can't deal with display calibrations. it looks like it is unloaded but the black is totally destroyed it's brown or something like that. without loaded calibration it works fine. 8 bit and 10 doesn't care about the calibration.

I'll definitely look into the downscaling problem.

To get MPDN to use your second screen with FSE mode, you need to change Adapter ID from 0 to 1.

I think there's still a fair bit of work from the GPU vendors to get 16-bit support up to scratch. I don't think there are too many renderers using that at the moment (does madVR?).

I don't know if non-optimus systems experience the locked to black screen crash behavior of an Optimus system which is why I mention it.

LAV splitter error when trying to launch videos in 64-bit player.


I don't have an Optimus equipped system to test with but I suspect it is specific to that setup only. On my various setups here with single, multiple and secondary NVIDIA cards in one system, there's no such problem. But thanks for pointing it out so others can watch out for such an issue in the D3D10.1 mode.

The LAV splitter error in 64-bit mode -- did you install x64 LAV Filters? :)

huhn
25th September 2014, 01:33
I'll definitely look into the downscaling problem.

To get MPDN to use your second screen with FSE mode, you need to change Adapter ID from 0 to 1.

I think there's still a fair bit of work from the GPU vendors to get 16-bit support up to scratch. I don't think there are too many renderers using that at the moment (does madVR?).

madVR outputs only 8 bit RGB nothing else. I highly doubt the GPU can output more than 12 bit and send this with DP or HDMi to a display.
so the output should be dithered to something the display accepts and is not round or dithering down to 8 bit. so 99.9% of all displays get the best result with dithered 8 bit. I highly doubt that the gpu driver can do this any better than madVr or MPDN.

so high bit deep output doesn't help most people at the moment but how to tell them X-)?

and we still don't know if the GPU doesn't round the 10 bit down to 8 bit even for 10 bit displays nothing I can test.

Zachs
25th September 2014, 01:47
madVR outputs only 8 bit RGB nothing else. I highly doubt the GPU can output more than 12 bit and send this with DP or HDMi to a display.
so the output should be dithered to something the display accepts and is not round or dithering down to 8 bit. so 99.9% of all displays get the best result with dithered 8 bit. I highly doubt that the gpu driver can do this any better than madVr or MPDN.

so high bit deep output doesn't help most people at the moment but how to tell them X-)?

and we still don't know if the GPU doesn't round the 10 bit down to 8 bit even for 10 bit displays nothing I can test.

NVIDIA GPUs will output 12-bit via HDMI v1.3 and above if set to 16-bit in D3D10. So with the driver dithering 16-bit to 12, it is still better than 10-bit output. Can't remember where I read it from though (I'll update this post when I have time to dig up my history to see where I read this from).

huhn
25th September 2014, 02:17
NVIDIA GPUs will output 12-bit via HDMI v1.3 and above if set to 16-bit in D3D10. So with the driver dithering 16-bit to 12, it is still better than 10-bit output. Can't remember where I read it from though (I'll update this post when I have time to dig up my history to see where I read this from).

yeah and you can force to output 12 bit with AMD too. that's not the point.
the point is is this properly used?

thanks to MPDN we can test this now. 10 bit displays are going to be totally mainstream in the future.

we don't know what is happening in the gpu and is 12 bit dithered/rounded from the GPU better for our 8 bit displays that have to get this to 8 bit too with there dithering/rounding compared to untouched dithered 8 bit RGB?

a lot of displays transform the input to 4:2:2 YCBCR how do they do this?
is the 12 bit dithered at all? is it better to send 10 bit dithered from the renderer because this can be used from the dispalys directly?

I can send 12 bit 4:4:4 RGB right now to my TV that accept this without downsampling it to 4:2:2 YCBCR. the display has to make 8 bit RGB out of it because this displays is for sure not 12 bit and 99.9% not 10 bit but why should the algorithm in my TV better than your dithering?

Anime Viewer
25th September 2014, 02:31
The LAV splitter error in 64-bit mode -- did you install x64 LAV Filters? :)

I already had it (both 64x and x86 versions) installed, but I re-downloaded, and reinstalled the x64 one again from:
https://github.com/Nevcairiel/LAVFilters/releases/tag/0.62

An error (same type) still appears, but now it lacks the LAV line, and has a bit different registry address. (shown below)
http://i58.tinypic.com/29nbggz.jpg

Edit:
Upon further investigation I found LAV Video Decoder listed as the lone Selected Fitlers item in Options DirectShow area. (Don't know how it got there since I don't recall adding it in my testing to find a solution to the 64-bit player error...) Removing it now lets videos load correctly.


Downloaded the 64-bit DirectVobsub, and fresh installed that, and now the 64-bit version seems to be working for subtitles. :)
http://www.videohelp.com/tools/VSFilter-DirectVobSub

Zachs
25th September 2014, 02:43
I already had it (both 64x and x86 versions) installed, but I re-downloaded, and reinstalled the x64 one again from:
https://github.com/Nevcairiel/LAVFilters/releases/tag/0.62

An error (same type) still appears, but now it lacks the LAV line, and has a bit different registry address. (shown below)
http://i58.tinypic.com/29nbggz.jpg

That's the CLSID for XySubFilter, which is weird as MPDN does not even attempt to load it. I think there's a non-MPDN specific DirectShow config problem on your machine in the x64 setup (whereas x86 has a different config set).

A quick try, disable "Load subtitles" in options. Also give MPC-HC x64 a try and see if you encounter the same problem.

EDIT: Ah I see you've solved it.
With regards to the Optimus bug in x86 -- it is definitely an NVIDIA driver bug since MPDN does not have a separate code branch for x86 / x64. If one works and the other doesn't, you can definitely point your finger to an underlying issue.

huhn
25th September 2014, 03:04
AMD
Same as D3D9Ex.
Additionally, 16-bit output mode in FSE mode has its gamma settings completely wrong on HD4350.

same with r9 270.

@Anime Viewer

I highly recommend you to use xy vobsub. there is a good reason this is the vsfilter in CCCP and KCP

Anime Viewer
25th September 2014, 03:24
@Anime Viewer

I highly recommend you to use xy vobsub. there is a good reason this is the vsfilter in CCCP and KCP

I prefer using xySubfilters or vsfilters to the DirectVobSub filters, but so far I've been unable to get either of them to work with MPDN. Installing the x64 version of DirectVobSubs was the best way I could think of to keep if from conflicting with the x86 configurations on the system that uses xySubfilters or vsfilters (depending on the player I'm using).

That's the CLSID for XySubFilter, which is weird as MPDN does not even attempt to load it. I think there's a non-MPDN specific DirectShow config problem on your machine in the x64 setup (whereas x86 has a different config set).

A quick try, disable "Load subtitles" in options. Also give MPC-HC x64 a try and see if you encounter the same problem.

EDIT: Ah I see you've solved it.
With regards to the Optimus bug in x86 -- it is definitely an NVIDIA driver bug since MPDN does not have a separate code branch for x86 / x64. If one works and the other doesn't, you can definitely point your finger to an underlying issue.

I jumped to conclusions on the DirectX 10.1 working. It was working in a window, but the minute I maximized it to full screen the video playback froze and took dominance of the system again (where I couldn't close MPDN again, and had to sign out of Windows again to get it to close).


I unchecked "Load Subtitles" in options, and not surprisingly the subtitles disappeared again. Having either of the xysubfilter (auto-load and not auto-load) didn't make a difference as neither displayed subtitles in the video(s). I'll download/install/test with the x64 MPC-HC and report back as to if that has the same problem.

The same video that was running without subtitles in MPDN is running with subtitles displayed in MPC-HC 1.7.6.253. The filters listed as running with the video (in MPC-HC x64) are: Default DirectSound Device, Enhanced Video renderer (custom presenter), audio switcher, LAV video decorder (internal), LAV audio decorder (internal), and LAV splitter source (internal). If I hover over LAV splitter source it shows the subtitle track correctly. In the past when I've used MPC-HC x86, MPC-BE x86, KCP (both versions) I've disabled all internal filters, so I did that as well. Now its the same filters (except not LAV internals) and File Source (Async.) is now there.
I'll continue testing with MPDN and see if I can get non-directVobsub working.

huhn
25th September 2014, 03:44
direct vobsub is just an alias for vsfilter (vs= vob sub).

the name difference is only XY.

the 64 bit version of xy is here https://code.google.com/p/xy-vsfilter/wiki/Downloads?tm=2

and works fine with mpdn.

edison
25th September 2014, 04:37
I have a sample which include some PGS, the subtitle position is not show correctly:
http://www.mediafire.com/download/geyrporisbp9etb/line_walker_sample.ts

huhn
25th September 2014, 05:00
this is a problem with the vsfilter.

mpdn has no influences on subtitle positions the subtitle are burn in the picture from the vsfilter be for npdn gets the picture.

I don't know the bug tracker for the vsfilter but using the vsfilter on interlaced videos is not a good idea at all.

foxyshadis
25th September 2014, 08:44
MPC-HC maintains vsfilter and a bug tracker (https://trac.mpc-hc.org/wiki/How_to_Report_Issues), but it's basically dead now except for crash fixes. Only xy-vsfilter is actively maintained.

Zachs
25th September 2014, 14:50
not working.

it looks like it is not nearest neighbour it is bilinear when i select nearest neighbour it aliased even more the rest doesn't have an effect even softcubic 100.

Found the bug. Will be fixed in the next release.

EDIT: Released as v2.1.1.