Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
1st September 2014, 08:05 | #1 | Link |
Suptitle, MediaPlayer.NET
Join Date: Nov 2001
Posts: 1,721
|
Media Player .NET (MPDN) - D3D HQ GPU Video Renderer [v2.49.0/v1.31.0 27 Dec 2018]
Hi everyone,
MPDN is a modern extensible media player written in .NET (with performance critical parts in ASM/SSE2) featuring a fully integrated high quality Direct3D 9, 10, 11 video renderer that is equally extensible. In fact, its most powerful features come from its open source community contributed extensions called MPDN Extensions hosted on GitHub. Both madVR and libretro use portions of code from MPDN Extensions. MPDN Extensions MPDN Extensions consist of Custom Linear Scalers, Render Scripts, Audio Scripts and Player Extensions. For more information, see MPDN Extensions wiki page. Custom Linear Scalers These custom linear scalers extend MPDN by adding Sinc-Blackman, Gaussian etc. scaling options. If there's a new scaler you want to add, give it a kernel function and MPDN will do the rest. The same custom scalers can also be used in the EWA scaler (via Render Script). Render Scripts Render Scripts are quite similar to AviSynth scripts and plugins except they run fully on the GPU. You can script Render Scripts in a similar fashion to AviSynth with a C# syntax, or an AviSynth-like syntax with the full power of JavaScript behind it. As opposed to madVR's mostly closed source nature, MPDN's Render Scripts are fully open source and are hosted on GitHub.
Audio Scripts Audio Scripts are similar in concept to Render Scripts except they operate on audio samples. Audio Scripts can run purely on the CPU, interface with third party audio libraries or with OpenCL via Cudafy. See this 2x Audio Gain example.
Player Extensions Player Extensions allows the player to be extended via C# script. In fact MPDN's playlist is fully implemented via this extension. See this post for a getting started example.
Full UI Mode Minimal UI Mode Minimal UI Mode with Playlist Features:
Pre-requisites:
Troubleshooting:
User contributed articles: Special thanks:
Downloads (Latest version MPDN v2.49.0 / Extensions v1.31.0):
Changelogs Code:
Extensions ---------- v1.31.0 Changelog: Render Scripts Revised tag system again Deband experimental: Handle Luma and Chroma separately to improve quality SSIMDownscaling: Improvements Audio Scripts [NEW] Crossfeed: Helps reduce listening fatigue caused by the unnatural stereo image provided by headphones Player Extensions [NEW] OnScreenDisplay Framework Speedup disposing tremendously (noticeable when changing scripts) v1.30.0 Changelog: Render Scripts Revised tag system ImageProcessor: Add option to do all processing in YUV SSSR improvements Fix Conditionals causing scripts to fail to load on some systems Bilateral: Krig more fine tuning Deband improvements Player Scripts TextPainter: Allow it to work in windowed mode Code:
MPDN ---- v2.49.0 Changelog: Show more informative error messages Fix: Some usage paths may lead to old ditherers being used instead of the new ones v2.48.0 Changelog: Improved fluid motion by timing frames more accurately Improved dithering methods (especially ordered dithering) Fixed: Pixels were misaligned when there was an unequal number of blank lines on either side of the image. v2.47.0 Changelog: MPDN is now signed with a commercial code-signing certificate Cheers. Last edited by Zachs; 15th February 2019 at 13:07. |
1st September 2014, 11:00 | #2 | Link |
Registered User
Join Date: Oct 2012
Posts: 8,109
|
first of all it is work totally fine. it is missing a lot of totally basic stuff like subtitle support, audio volume.
why did you start with 4 taps not 3? 4 is usually way to sharp in my eyes. I haven't done any picture quality comparison but does it use high bit deep and/or dither? does it really use the GPU? gpu-z doesn't show anything |
1st September 2014, 12:29 | #3 | Link | |
Suptitle, MediaPlayer.NET
Join Date: Nov 2001
Posts: 1,721
|
Quote:
I don't know what madvr's 3 tap really is. But in my renderer 4 taps means it takes 4x4 texels to calculate the resulting scaled pixel. GPUs calculate in 32 bit floats by default and that's what my renderer uses. What exactly does high bit depth and dithering do? Dithering I assume is to do with conversion from yuv to rgb? Are u using an amd card? On my amd card Gpu-z seems to show no gpu usage until a certain threshold. But yes it's definitely using gpu for scaling and yuv to grb conversion. I don't think the cpu is near enough for 60fps full screen 1080p jinc |
|
1st September 2014, 12:41 | #4 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,368
|
4x4 is two taps (ie 2 pixels in each direction), or also called bicubic.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
1st September 2014, 13:02 | #6 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,368
|
If you go from a center point (ie. your target pixel), its 2 pixels to each edge, for a full grid of 4x4
The naming of these things is kinda inconsistent among different tools, but madVRs 3/4-tap filters function like I outlined here, bicubic is basically 2-tap, and the other filters with 3/4 tap configuration use more pixels.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
1st September 2014, 13:22 | #7 | Link | |
Suptitle, MediaPlayer.NET
Join Date: Nov 2001
Posts: 1,721
|
Quote:
EDIT: MPDN's 'tap' counting is based on AviSynth's as documented here: http://avisynth.nl/index.php/Lanczos_lobs/taps Last edited by Zachs; 13th October 2014 at 08:17. |
|
2nd September 2014, 06:39 | #9 | Link |
Suptitle, MediaPlayer.NET
Join Date: Nov 2001
Posts: 1,721
|
Does anyone know where I could find a sample mkv/mp4 with multi-track audio for testing purposes?
*Edit: Nevermind. I found a sample and I've released v1.1. Last edited by Zachs; 2nd September 2014 at 07:29. |
2nd September 2014, 21:24 | #10 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
You may want to sign your exe file to avoid AV false alarms. Virustotal reports 2/54 for your x86 download. Usually signing your exe helps with this problem.
FWIW, on my development PC (win8.1 x64) playback with your software doesn't seem to work. I'm getting the exception "An unexpected error 'System.Reflection.TargetInvocationException' has occurred". Also, I have to use the "File -> Open" dialog. Drag&Drop is rejected by the media player. How to count taps? Different people have different opinions on that. What madVR calls 2 taps, and you call 4 taps, some marketing guys even call 16 taps (4x4 = 16). In the end it doesn't matter much, I guess. On a side note, personally I find Lanczos, Spline and Jinc with 2 taps (in your case 4 taps) to be not worth the effort. They don't look better than Bicubic to my eyes. That's why madVR starts at 3 taps with those algorithms (which you count as 6 taps). If you want to know what dithering is for, try playing the "colors.ytp" test pattern with madVR with dithering turned off vs. on. Then try playing it with your media player. If you don't do dithering, it will probably look quite ugly. Or alternatively try zooming the "smallramp.ytp" pattern up to fullscreen, then turn dithering off vs. on. With dithering off, you should see faint vertical bands in madVR. With dithering on, the gray ramp should be perfectly smooth. The problem is that your final rendering result should be 32bit, while the GPU really only outputs 8bit. If you round to 8bit, you're introducing quantization artifacts. So you *have* to dither, to avoid those artifacts. This is a concept well known from the audio processing world. I've introduced this concept to the HTPC video processing world a couple of years ago, when madVR was introduced. At that time (to my best knowledge) nobody else used dithering in video processing. Dithering is well known when trying to convert gray scale images to black & white. E.g. see here: http://en.wikipedia.org/wiki/Dither Basically converting gray scale -> black & white means reducing bitdepth from 8bit to 1bit. When doing that, using dithering produces much better results than simple rounding. The same principle still applies when reducing the bitdepth from 32bit to 8bit, although the benefits of dithering are much smaller there compared to 8bit -> 1bit. Here's the download of the "colors.ytp" test pattern with the DirectShow filter needed for that test pattern: http://madshi.net/madTestPatternSource.zip Last edited by madshi; 2nd September 2014 at 21:27. |
6th October 2014, 05:07 | #11 | Link | |||
Suptitle, MediaPlayer.NET
Join Date: Nov 2001
Posts: 1,721
|
Quote:
You'll find that Jinc gives the best interpolation. In fact, I can't see the difference between 4 or 6 or 8 taps but I can immediately notice the difference going from Bicubic to 4-tap Jinc. Looking at the pictures side by side visually, I can't tell the difference (subjectively) between madVR's 3-tap (which is my 6 taps) to my 4 taps either. Quote:
Quote:
I can only share it as closed source or don't share it at all (for reasons I can't disclose). If you want to learn about writing a video renderer, there are plenty of resources on the net to get you started. Last edited by Zachs; 6th October 2014 at 05:51. |
|||
7th October 2014, 03:47 | #12 | Link |
Registered User
Join Date: Oct 2012
Posts: 8,109
|
looks like the general bug is fixed.
but there are other issue. lanczos creates very strange artefacts when used as downscaler and it is at least half an pixel off to the bottom right compared to spline 4 ar. spline as less deforming aliasing and it sharper at the same time. laczos even creates double lines. here 2 screens: spline 4 ar : http://abload.de/img/downsplinewvaq4.png laczos 4 ar : http://abload.de/img/downlaczosn2l61.png i added madVR 3 tab ar spline/laczos to show that the difference is very minimal compared to MPDN between them. i'm currently using windows 10 preview so this can be an windows 10 issue. on a 120 hz screen playback of 23p is very choppy and juddering a lot more than 23p on a 60 hz screen. madVr works fine with and without smoothmotion. |
7th October 2014, 06:01 | #13 | Link | |
Suptitle, MediaPlayer.NET
Join Date: Nov 2001
Posts: 1,721
|
Quote:
You'll also notice that MPDN's downscalers are much faster than madVR, only sacrificing a little bit of image quality. With madVR, I couldn't play 4k downscaled to 1080p on my system with 560GTX but MPDN works without a fuss. Also found the problem with choppy playback but to confirm, can you switch to D3D10 rendering path to see if it happens there too? On my system, the choppy playback only happens in D3D9. That was the result of increasing backbuffer count (why this would cause choppy playback, I don't know). A few versions back would have been ok too. Last edited by Zachs; 7th October 2014 at 06:06. |
|
7th October 2014, 08:26 | #14 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
With or without anti-ringing? Or both? I wonder if your algorithm does the same work that madVR does? Maybe you're not reading in enough source pixels? FWIW, are you calculating the weights in real time? Or are you reading them from a texture? I'm reading them from a texture. I sometimes do wonder whether calculating them in real time would be faster. But it will probably differ, depending on GPU generation (and on the scaling algorithm). Older generations have less shader power than newer generations. So probably reading the weights from a pre-calculated texture is faster on older generation GPUs and using real time calculation could be faster on newer generation GPUs.
|
7th October 2014, 10:22 | #15 | Link | ||
Registered User
Join Date: Oct 2012
Posts: 8,109
|
Quote:
Quote:
chroma upscales FHD to UHD (2 channels to UHD) chroma position correction and RGB conversation and now scaling the hole UHD RGB frame (3 channel) down to FHD. MPDN has a option for chroma up and down so I guess it's not working like madVR that creates always 48 bit RGB first. by just scaling the luma channel (1 channel) to 1080p, correct chroma position and by doing a RGB conversation in just 1080p it has to be a lot faster or not? not sure about the quality through. |
||
12th October 2014, 00:51 | #16 | Link | |
.NET Web App Dev
Join Date: May 2010
Location: USA
Posts: 291
|
Is dxva2n support missing or did I set things up wrong? Using this with LAV filter (testing right now), Video decoder says "DXVA2 (native)" is "Available". (DX 10.1, Win 8.1, NV 660).
EDIT: Just found my answer - "MPDN isn't written with using DXVA at any stage in mind", well that is a performance bummer. Anyway, some suggestions, Going to "File" then "Open" brings up a dialog which then brings up a Windows dialog. After choosing a file in the Windows dialog, the MPDN dialog remains and you have to close it. Four clicks. Suggestion, "Open" should bring up Windows dialog directly then when I choose a file in the Windows dialog, it should start playing the file. Two clicks. Ease of setup, Can you include subtitle renderer as part of MPDN (I fathom this is a legal question)? Requiring separate download and install is a negative in my opinion. Options, Some questions that the options menu can answer: (1) "What is faster?" (2) "What this does?" (3) "What is this options recommended for?" Quote:
__________________
Intel i7 5820k / 16 GB DDR4 / NV 970 / 4K ASUS Windows 8.1 Last edited by Hera; 12th October 2014 at 01:08. Reason: Answered my own question so provided feedback instead. |
|
12th October 2014, 02:21 | #17 | Link |
Registered User
Join Date: Oct 2012
Posts: 8,109
|
it's not rare that DXVA uses more power than normal software decoding making it pretty useless for normal content like a BD on system with a dedicated GPU.
and this is closed software. for a reason the creator knows but didn't want to tell us. Last edited by huhn; 12th October 2014 at 02:21. Reason: removed quote |
13th October 2014, 05:06 | #18 | Link |
Suptitle, MediaPlayer.NET
Join Date: Nov 2001
Posts: 1,721
|
@Hera
Quick Open File menu added in v2.6.1. A setup package will be used some time in the future when I get some time to do it. If someone wants to do a write up for the options, I'd be happy to assist and post the link on the OP but I don't want to clutter the options page further. .NET native won't make a difference to MPDN's performance (GC will still be present and like I said before, performance critical parts are in ASM). And you do know it's not available for desktop apps yet, don't you? |
3rd September 2014, 13:37 | #19 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
See here:
Code:
=================================== An unexpected error 'System.Reflection.TargetInvocationException' has occurred. ------------------------------ Error Type = System.Reflection.TargetInvocationException Error Message = Ein Aufrufziel hat einen Ausnahmefehler verursacht. Error Source = Mpdn.Threading Error Site = Void InternalInvoke(WorkItem, Boolean) Error occurred = bei Mpdn.Threading.TaskThread.InternalInvoke(WorkItem work, Boolean wait) bei Mpdn.Threading.TaskThread.Invoke(WaitCallback work, Object state) bei Mpdn.VideoPlayer.DirectShowVideo.GetAudioTracks() bei MediaPlayerDotNet.MainForm. () bei MediaPlayerDotNet.MainForm. (String , Boolean ) bei MediaPlayerDotNet.MainForm. () bei MediaPlayerDotNet.MainForm. (Object , MouseEventArgs ) bei System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e) bei System.Windows.Forms.UserControl.OnMouseDown(MouseEventArgs e) bei System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks) bei System.Windows.Forms.Control.WndProc(Message& m) bei System.Windows.Forms.ScrollableControl.WndProc(Message& m) bei System.Windows.Forms.ContainerControl.WndProc(Message& m) bei System.Windows.Forms.UserControl.WndProc(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) bei 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 = 31,9 GB Available Physical Memory = 28,1 GB Date Time = 03.09.2014 14:33:55 User Name = Dev-PC\madshi Application Startup Path = D:\Desktop\MediaPlayerDotNet_x86_1_1_2_438 Application Executable Path = D:\Desktop\MediaPlayerDotNet_x86_1_1_2_438\MediaPlayerDotNet.exe CurrentDirectory = D:\Desktop\MediaPlayerDotNet_x86_1_1_2_438 SystemDirectory = C:\WINDOWS\system32 Ran As Admin = False HasShutdownStarted = False MachineName = DEV-PC ProcessorCount = 8 LogicalDrives = C:\, D:\, W:\, Y:\ EnvironmentVariables = PROCESSOR_ARCHITEW6432 = AMD64; COMPUTERNAME = DEV-PC; CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files; VS80COMNTOOLS = C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\; HOMEPATH = \Users\madshi; CG_BOOST_ROOT = C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\include\boost_1_39; PROCESSOR_REVISION = 3a09; VS100COMNTOOLS = C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\; PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC; USERDOMAIN_ROAMINGPROFILE = Dev-PC; TEMP = C:\Users\madshi\AppData\Local\Temp; LOCALAPPDATA = C:\Users\madshi\AppData\Local; PUBLIC = C:\Users\Public; IBREDISTDIR = C:\Users\Public\Documents\InterBase\redist\InterBaseXE3; windir = C:\WINDOWS; USERDOMAIN = Dev-PC; ProgramFiles(x86) = C:\Program Files (x86); Path = C:\Program Files (x86)\Embarcadero\Studio\14.0\bin;C:\Users\Public\Documents\Embarcadero\Studio\14.0\Bpl;C:\Program Files (x86)\Embarcadero\Studio\14.0\bin64;C:\Users\Public\Documents\Embarcadero\Studio\14.0\Bpl\Win64;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Users\madshi\AMD APP SDK\2.9\bin\x86_64;C:\Users\madshi\AMD APP SDK\2.9\bin\x86;C:\Program Files (x86)\AMD APP SDK\2.9\bin\x86_64;C:\Program Files (x86)\AMD APP SDK\2.9\bin\x86;C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin;C:\Users\Public\Documents\RAD Studio\12.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin64;C:\Users\Public\Documents\RAD Studio\12.0\Bpl\Win64;C:\Program Files (x86)\Borland\Delphi 7\Bin;C:\Program Files (x86)\Borland\Delphi 7\Projects\Bpl\;C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\bin;C:\Users\Public\Documents\RAD Studio\11.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\bin64;C:\Users\Public\Documents\RAD Studio\11.0\Bpl\Win64;C:\Program Files (x86)\CollabNet;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin;C:\Users\Public\Documents\RAD Studio\10.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin64;C:\Users\Public\Documents\RAD Studio\10.0\Bpl\Win64;C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\bin;C:\Users\Public\Documents\RAD Studio\9.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\bin64;C:\Users\Public\Documents\RAD Studio\9.0\Bpl\Win64;C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\bin;C:\Users\Public\Documents\RAD Studio\8.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\bin;C:\Users\Public\Documents\RAD Studio\7.0\Bpl;C:\Program Files (x86)\CodeGear\RAD Studio\6.0\bin;C:\Users\Public\Documents\RAD Studio\6.0\Bpl;C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bin;C:\Users\Public\Documents\RAD Studio\5.0\Bpl;C:\Windows\Microsoft.NET\Framework\v1.1.4322\;C:\Program Files (x86)\Borland\BDS\4.0\Bin;C:\Program Files (x86)\Borland\Shared\BDE\;C:\Program Files (x86)\Borland\BDS\3.0\Bin;C:\PROGRA~2\Borland\CBUILD~2\Bin;C:\PROGRA~2\Borland\CBUILD~2\Projects\Bpl;C:\PROGRA~2\Borland\DELPHI~2\Projects\Bpl;C:\PROGRA~2\Borland\DELPHI~2\Bin;C:\PROGRA~2\Borland\Delphi5\Projects\Bpl;C:\PROGRA~2\Borland\Delphi5\Bin;C:\PROGRA~2\Borland\CBUILD~1\Projects\Bpl;C:\PROGRA~2\Borland\CBUILD~1\Bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files\EmEditor;C:\PROGRA~2\Borland\DELPHI~4\Bin;C:\PROGRA~2\Borland\DELPHI~4\Projects\Bpl;C:\Sources\eac3to;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files (x86)\CineForm\Tools;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Users\madshi\Documents\Borland Studio Projects\Bpl;C:\PROGRA~2\Borland\DELPHI~3\Bin;C:\Program Files (x86)\Python27;C:\Program Files (x86)\Python27\Scripts; MINGW = C:\mingw; PROCESSOR_LEVEL = 6; PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 58 Stepping 9, GenuineIntel; DXROOT = C:\Program Files (x86)\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Tools\Sandcastle\; PSModulePath = C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\; NUMBER_OF_PROCESSORS = 8; CommonProgramFiles = C:\Program Files (x86)\Common Files; JAM_TOOLSET = MINGW; ProgramData = C:\ProgramData; ProgramW6432 = C:\Program Files; ProgramFiles = C:\Program Files (x86); BDSCOMMONDIR = C:\Users\Public\Documents\RAD Studio\5.0; FP_NO_HOST_CHECK = NO; TMP = C:\Users\madshi\AppData\Local\Temp; SESSIONNAME = Console; SystemRoot = C:\WINDOWS; CommonProgramW6432 = C:\Program Files\Common Files; LOGONSERVER = \\DEV-PC; USERPROFILE = C:\Users\madshi; APPDATA = D:\Eigene Dateien\AppData; HOMEDRIVE = C:; VS110COMNTOOLS = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\; USERNAME = madshi; PROCESSOR_ARCHITECTURE = x86; OS = Windows_NT; ComSpec = C:\WINDOWS\system32\cmd.exe; SystemDrive = C:; AMDAPPSDKROOT = C:\Program Files (x86)\AMD APP SDK\2.9\; INTELOCLSDKROOT = C:\Program Files (x86)\Intel\OpenCL SDK\3.0\; ALLUSERSPROFILE = C:\ProgramData RuntimeVersion = 4.0.30319.34014 Thread Count = 50 Handle Count = 882 VM Size = 474,1 MB Peak VM Size = 474,1 MB Working Set Size = 165,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, 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, ADvdDiscHlp1.dll, clrjit.dll, OLEAUT32.dll, System.ni.dll, System.Drawing.ni.dll, System.Windows.Forms.ni.dll, bcrypt.dll, CRYPTSP.dll, rsaenh.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, d3d9.dll, VERSION.dll, aticfx32.dll, atiu9pag.dll, atiumdag.dll, atiumdva.dll, dcomp.dll, winmm.dll, WINMMBASE.dll, cfgmgr32.dll, DEVOBJ.dll, d3dx9_43.dll, D3D9NativeServices.dll, SETUPAPI.dll, WTSAPI32.dll, powrprof.dll, WINSTA.dll, usp10.dll, clbcatq.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, CallbackFilter.ax, Microsoft.VisualBasic.ni.dll, System.Management.ni.dll, diasymreader.dll, psapi.dll =================================== Ein Aufrufziel hat einen Ausnahmefehler verursacht. (Mpdn.Threading) ------------------------------ Program Location: bei Mpdn.Threading.TaskThread.InternalInvoke(WorkItem work, Boolean wait) bei Mpdn.Threading.TaskThread.Invoke(WaitCallback work, Object state) bei Mpdn.VideoPlayer.DirectShowVideo.GetAudioTracks() bei MediaPlayerDotNet.MainForm. () bei MediaPlayerDotNet.MainForm. (String , Boolean ) bei MediaPlayerDotNet.MainForm. () bei MediaPlayerDotNet.MainForm. (Object , MouseEventArgs ) bei System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e) bei System.Windows.Forms.UserControl.OnMouseDown(MouseEventArgs e) bei System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks) |
3rd September 2014, 15:16 | #20 | Link |
Suptitle, MediaPlayer.NET
Join Date: Nov 2001
Posts: 1,721
|
Ah thanks for the stack trace!
I wasn't checking for media files without audio in one of my methods. Will be fixed in next release. As for the actual use, I needed a relatively high quality 64-bit (because the host app which I can't say what it is deals with a huge amount of data) video player with support for custom text/bitmap overlays (event driven). |
Tags |
direct3d, mpdn, nnedi3, opencl, reclock |
Thread Tools | Search this Thread |
Display Modes | |
|
|