Log in

View Full Version : Media Player Classic Home Cinema (MPC-HC) - DXVA!


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 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 [323] 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410

Hera
6th February 2011, 22:16
Very general question, but, how will these changes affect performance?

JanWillem32
7th February 2011, 02:23
pdanpdan: I updated linking in these builds, does this solve it? It should also be independent from the Microsoft Visual C++ 2010 Redistributable Packages now.

HoP: That's purely my fault, I tried to add some scalers to the bitmap based subtitle rendering. It's in the early stages of development.

Fadeout: I can't work on things without some technical data about what to change. From a technical point of view, both of the images look really bad.
The specific chroma transformations look like this: http://forum.doom9.org/showthread.php?p=1463132#post1463132 .
For any kind of analysis, there's always the reference factor. The "ffdshow NV12" sample shows the unmodified state of 4:2:0 sub-sampled chroma. CiNcH also added information about what the mixer output was, and the system information.
I can't see what the actual chroma state is, what the mixer does or what the system configuation is from your picture. That's the reason for my previous post.

@janos666: Which SVN manager and compiler do you use? I altered src\apps\mplayerc\FileVersionInfo.h , referencing http://www.codeproject.com/KB/files/fileversioninfo.aspx?msg=396945#xx396945xx (from the original writer).

@thuan: This image is scaled. In my previous post, I explained how the chroma can be analyzed in an optimal way.
Please some samples of an older build, my build with shaders and my build without shaders to help me solve this problem. I can't really see if any shaders are enabled at all on these pictures. Is the mixer output a correct NV12, YV12 or IYUV/I420?

@cyberbeing: My patches are very experimental, and tend to break a lot of stuff. It's usually best to test a lot before committing anything. The very reason I post builds on this forum thread and on IRC, is to get usable error reports returned (and recruiting some extra programmers, alpha- and beta-testers).

@cca: Very glad to hear that you like to test stuff.

@Hera: I've had very consistent performance increases. The biggest performance increase for me came when the DirectX 9 renderers stopped over-filtering. I had quite a few performance and quality problems when I first reported that bug. http://forum.doom9.org/showthread.php?p=1463148#post1463148
I've always made sure that all quality options, will stay optional.
With quality options and a ton of shaders enabled, even I have to give my GPU a higher clockspeed than the regular 2D load setting. It's a lot better than what it was before, though.

These are compiled with MSVS 2010, and deviated from build r2916. I didn't add many changes, other than renderer optimization and setting the subtitles to the previous filter setting.

Stephen R. Savage
7th February 2011, 05:49
@JanWillem32: What's going on here?

http://img43.imageshack.us/img43/6159/mpchc.th.png (http://img43.imageshack.us/i/mpchc.png/)
Unpatched MPC-HC build.

http://img838.imageshack.us/img838/9025/mpchcold.th.png (http://img838.imageshack.us/i/mpchcold.png/)
Patched MPC-HC.

Why is my video being converted to YUY2? If anything, it looks worse now, with some sharp edges being blurred. Also, the dithering options don't seem to do anything at all.

thuan
7th February 2011, 05:52
@Jan: Here you go http://www.mediafire.com/?2elbm3xuezrkmv3
I'm using DXVA so that's NV12. As for shader settings I used 4÷2÷0 to 4÷2÷2 intermediate Catmull-Rom spline5 chroma up-sampling for SD&HD video input + 4÷2÷2 Catmull-Rom spline5 chroma up-sampling for SD&HD video input in normal Combined Shader with your r2916 build.

EDIT: Forgot the MediaInfo log:
General
Unique ID : 224811950960145443359033246477980259306 (0xA92134F239065372BD3A79CC8B27D3EA)
Complete name : D:\My Documents\Videos\[aether] Kalafina - oblivious ~ufotable edit~ [E9AD753B].mkv
Format : Matroska
File size : 101 MiB
Duration : 4mn 4s
Overall bit rate : 3 470 Kbps
Movie name : pv: oblivious ~ufotable edit~
Encoded date : UTC 2008-09-05 21:24:21
Writing application : mkvmerge v2.2.0 ('Turn It On Again') built on Mar 4 2008 12:58:26
Writing library : libebml v0.7.7 + libmatroska v0.8.1
Cover : Yes / Yes

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 8 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 4mn 4s
Width : 704 pixels
Height : 368 pixels
Display aspect ratio : 16:9
Original display aspect ratio : 1.913
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Title : omfg anamorphic
Writing library : x264 core 61 r957M 7ce0f2c
Encoding settings : cabac=1 / ref=8 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=7 / psy_rd=0.0:0.0 / brdo=1 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=8 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=crf / crf=12.0 / qcomp=1.00 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 / aq=2:1.00
Language : Japanese

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : A_AAC
Duration : 4mn 4s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Title : different from full version
Language : Japanese

Text
ID : 3
Format : ASS
Codec ID : S_TEXT/ASS
Codec ID/Info : Advanced Sub Station Alpha
Compression mode : Lossless
Title : lazy karafx - and ripped from #gg
Language : English

Hera
7th February 2011, 06:35
@Jan, build you just linked to,
Error when trying D3D fullscreen and 10-bit input: DX9AllocatorPreseter Failed
Worked just fine before. Specs in sig.
Works with ATi Radeon 4250 Mobile though.
Not video dependent.

cyberbeing
7th February 2011, 07:15
@cyberbeing: My patches are very experimental, and tend to break a lot of stuff. It's usually best to test a lot before committing anything. The very reason I post builds on this forum thread and on IRC, is to get usable error reports returned (and recruiting some extra programmers, alpha- and beta-testers).
It's just that CMS is still grayed-out in the latest svn MPC-HC builds on my PC. Your test builds last week fixed it, so I hope you can finalize a simple patch soon, so I'm not stuck with an old build of MPC-HC forever.

cca
7th February 2011, 10:22
@JanWillem32 not sure if you removed them, mediafire says "Invalid or Deleted File"

HoP
7th February 2011, 13:16
@JanWillem32:tnx for your effort...i'm wait for your new build...goodluck

JanWillem32
7th February 2011, 13:55
@Stephen R. Savage: Dithering requires 16-bit floating point processing support and one of the three surface options enabled. For 10-bit output in D3DFS it even requires one of the two floating point surface options to be enabled on top of the 10-bit output option.
http://sourceforge.net/apps/trac/mpc-hc/wiki/New_Renderer_Settings
The YUY2 output is odd. The mixer merit of YUY2 for 4:2:0 video is lower than YV12, I420/IYUV and NV12. Are you using any external filters? I would definitely like to look into this problem.

@thuan: The chroma problem when enabling shaders in your case is due to previous filtering, so it causes double filtering. This is the first time I've seen the mixer do both horizontal and vertical basic linear filtering on the chroma with any of my recent builds. It has some chroma bleeding, so it's not really full chroma up-sampling. I know someone with a video card of that generation and a similar system configuration that didn't get any filtering on the chroma. So, this is another thing I'd like to take a look at. Thank you for the pictures and information for comparison, they were fine for a proper first analysis.

@cyberbeing: I already made 6 patches. They are just waiting in line for testing and committing, editing or refusal. Development of functions is fast, but actual testing and debugging takes a bit more time.
http://sourceforge.net/apps/trac/mpc-hc/ticket/1120
http://sourceforge.net/apps/trac/mpc-hc/ticket/1121

I noticed errors, so I updated some renderer settings, these builds should work better during renderer initialization.

Thank you all for your continuing responses, the development team can really use some help with testing, analysis and advices to get things done right.

thuan
7th February 2011, 14:07
I'm using the old driver 258.96 BTW, because with newer Nvidia drivers, DXVA stutters a lot according to a lot of ppl, I'm not the only one. I wonder if my chroma issue was because of the old driver, but for now I think I keep using it as I haven't seen anything better worth updating.

god_md5
7th February 2011, 14:55
reported bug
over the ffdshow 2882 can show idx subtitle(inside ts) .
hdtv is ok .
but my area sdtv is not have video outout
other software can't spilte the subtitle,only hpc-hc can spilter ,but not video out ,like is the hpc-hc spilter bug?
can you help to fix this ,thank you

sample ts
http://www.mediafire.com/?b5wcwcf4klljewk
Sourceforge and doom9 have Attack??

HoP
7th February 2011, 15:13
is there any setting for "only one instance"?
http://upit.cc/images/beafe0fc.jpg

namaiki
7th February 2011, 15:19
is there any setting for "only one instance"?

Yes, but it only means a new instance will not be created for files opened from Windows Explorer.

HoP
7th February 2011, 15:53
@namaiki:tnx for your comment but i think we need to solve this problem :D

@JanWillem32:tnx for new build...in this build subtitle quality is great...tnx again

6205
7th February 2011, 16:08
Website with changelog of every single revision is not working anymore
http://mpc-hc.svn.sourceforge.net/viewvc/mpc-hc/?view=log

namaiki
7th February 2011, 16:10
I believe it's closed by sourceforge, due to recent attacks.
You can use http://sourceforge.net/apps/trac/mpc-hc/timeline?changeset=on&update=Update while it's down.

I prefer this view here, its more concise

https://sourceforge.net/apps/trac/mpc-hc/log/trunk

Website with changelog of every single revision is not working anymore
http://mpc-hc.svn.sourceforge.net/viewvc/mpc-hc/?view=log

cheers.

Hera
7th February 2011, 16:45
Recently this became an issue - might be the latest ATi Drivers,
HalfFP/FullFP (No difference) + W7 64 + 1080p video + Radeon 4250 Mobile = System almost not-responsive, mouse cursor getting stuck, laggy or very laggy video.
Behavior on NV ION did not get affected - still skips frames, sometimes audio stops.

god_md5
7th February 2011, 17:34
@JanWillem32

Got an error about missing "mfc100u.dll" , can you make a static compile?

EDIT: OK, will get the redistributable and try the x86 build.
http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84

Stephen R. Savage
7th February 2011, 17:45
@Stephen R. Savage: Dithering requires 16-bit floating point processing support and one of the three surface options enabled. For 10-bit output in D3DFS it even requires one of the two floating point surface options to be enabled on top of the 10-bit output option.
http://sourceforge.net/apps/trac/mpc-hc/wiki/New_Renderer_Settings
The YUY2 output is odd. The mixer merit of YUY2 for 4:2:0 video is lower than YV12, I420/IYUV and NV12. Are you using any external filters? I would definitely like to look into this problem.

I am using ffdshow to decode H.264/MKV, configured to output YV12. In your patched builds, EVR-CP has switched from RGB32 to YUY2 for "mixer output", though as far as I can tell, the image is still RGB32 as this test image (http://img820.imageshack.us/img820/1119/yuvtest.png) is not degraded. I am using an Intel GMA X3100 on Windows 7 (64); could it be that my GPU doesn't support YV12 images?

Edit: EVR-Sync has always been using YUY2 "mixer output" since it was committed, though like EVR-CP, it appears to also be running in RGB32 actually...

cca
7th February 2011, 17:50
I am using ffdshow to decode H.264/MKV, configured to output YV12. In your patched builds, EVR-CP has switched from RGB32 to YUY2 for "mixer output", though as far as I can tell, the image is still RGB32 as this test image (http://img820.imageshack.us/img820/1119/yuvtest.png) is not degraded. I am using an Intel GMA X3100 on Windows 7 (64); could it be that my GPU doesn't support YV12 images?

Interesting. In my own configuration, at least in the past (didn't try this in recent builds) whenever I was forcing YV12 in ffdshow, it couldn't even connect to EVR-CP and the system was falling back to the default system renderer.

EDIT: Just tried it with JanWillem32's latest test build, falls back to video mixing renderer and produces horrible video in my case. NV12 is the way to go in ATI cards.

JanWillem32
7th February 2011, 18:40
@thuan: That could very well be the reason. Maybe others with similar hardware can confirm this? I currently can't reproduce this.

@god_md5: http://sourceforge.net/apps/trac/mpc-hc/ticket/523 It's known, but personally I don't know if there's any updates on DVB subtitle source filters. I'll ask others later.

@Hera: Indeed, for ATi I've noticed that during driver installation, almost all video filtering options in the control panel get enabled by default. Did you correct the settings on that tab? There's also a little bug with the display options tab. If the check for the setting "use EDID" isn't set, the color management acts weird.

@Stephen R. Savage & cca: When using ffdshow tryouts, it's usually best to let the mixer do a lot of the conversion work. In the output tab of the video decoder, use "Set pixel aspect ratio in output media type", "Set interlace flag in output media type" and "Allow output format changes during playback".
The next problem is the actual supported output types. I420/IYUV and YV12 are often refused by EVR, that leaves only NV12 as an option for 4:2:0 chroma sub-sampled video. Unfortunately, YUY2, YVYU and YUYV are selected by default instead. The only solution to that, is to disable those formats. Only enable YUY2, YVYU or YUYV if you want to play an actual 4:2:2 chroma sub-sampled video (not very common).
That should make a good NV12 connection without any chroma conversions before the mixer.

cca
7th February 2011, 18:58
Indeed, and this is what I have always done for some years now, ffdshow is forced to NV12. Because I also use ffdshow to play some interlaced DVDs, and ATI cards can only do Vector Adaptive deinterlacing when NV12 is used, that was another reason for me to force it as output format.

pdanpdan
7th February 2011, 20:01
@JanWillem32 - still the same problem with resources not available for internal filters properties in the latest builds, and still aero always disabled in d3d fullscreen (by the way, is this by design or a defect?).
Subtitles resizing seems to work as it should.

Ger
7th February 2011, 20:18
Indeed, and this is what I have always done for some years now, ffdshow is forced to NV12. Because I also use ffdshow to play some interlaced DVDs, and ATI cards can only do Vector Adaptive deinterlacing when NV12 is used, that was another reason for me to force it as output format.

I do the same thing, mostly for DVB sourced material though, since I rarely use DVD sources. One of the reasons I prefer ffdshow over the internal MPEG-2 decoder is that I can force NV12 output in ffdshow, while the internal MPEG-2 decoder always seem to prefer YUY2 (even when "Set interlace flag in output media type" is checked), which along with UYVY only supports some/simpler deinterlacing methods according to DXVAChecker.

I believe the situation is the same with Nvidia as well, with NV12 being the safe bet for getting all hardware deinterlacers working.

So the question is, shouldn't the internal software decoders also have NV12 as the top output priority, at least if "Set interlace flag in output media type" is checked?

Another problem with the internal MPEG-2 decoder is that 4:2:2 source material (DVB feeds etc.) is not supported, unlike ffdshow which handles it just fine.

Dstruct
7th February 2011, 21:16
Just got this crash in 1.5.0.2827 while closing MPC:

Anwendungsausnahme aufgetreten:
Anwendung: C:\Programme\Media Player Classic\mpc-hc.exe (pid=1888)
Wann: 07.02.2011 @ 18:56:53.093
Ausnahmenummer: c0000005 (Zugriffsverletzung)

*----> Systeminformationen <----*
Terminalsitzungskennung: 0
Prozessoranzahl: 2
Prozessortyp: x86 Family 6 Model 15 Stepping 6
Windows-Version: 5.1
Aktuelles Build: 2600
Service Pack: 3
Aktueller Typ: Multiprocessor Free

*----> Taskliste <----*
0 System Process
4 System
332 smss.exe
388 csrss.exe
412 winlogon.exe
456 services.exe
468 lsass.exe
628 svchost.exe
688 svchost.exe
744 svchost.exe
796 spoolsv.exe
1120 Explorer.EXE
1300 hdsp32.exe
1376 hdspmix.exe
1592 TOTALCMD.EXE
1888 mpc-hc.exe
1804 uTorrent.exe
1492 drwtsn32.exe

*----> Modulliste <----*
(0000000000340000 - 0000000000349000: C:\WINDOWS\system32\Normaliz.dll
(0000000000400000 - 0000000000f49000: C:\Programme\Media Player Classic\mpc-hc.exe
(00000000019b0000 - 0000000001c89000: C:\WINDOWS\system32\xpsp2res.dll
(0000000002520000 - 000000000271f000: C:\WINDOWS\system32\d3dx9_43.dll
(0000000002ef0000 - 0000000003336000: C:\Programme\Ffdshow\ffdshow.ax
(0000000010000000 - 000000001004c000: C:\Programme\Media Player Classic\mpcresources.de.dll
(00000000408b0000 - 0000000040996000: C:\WINDOWS\system32\WININET.dll
(0000000040f50000 - 0000000041139000: C:\WINDOWS\system32\iertutil.dll
(00000000452e0000 - 0000000045413000: C:\WINDOWS\system32\urlmon.dll
(000000004fd50000 - 000000004fef6000: C:\WINDOWS\system32\d3d9.dll
(000000005b0f0000 - 000000005b128000: C:\WINDOWS\system32\uxtheme.dll
(000000006de80000 - 000000006de86000: C:\WINDOWS\system32\d3d8thk.dll
(0000000071a00000 - 0000000071a08000: C:\WINDOWS\system32\WS2HELP.dll
(0000000071a10000 - 0000000071a27000: C:\WINDOWS\system32\WS2_32.dll
(0000000072210000 - 000000007223b000: C:\WINDOWS\system32\DINPUT.dll
(0000000072c80000 - 0000000072c88000: C:\WINDOWS\system32\msacm32.drv
(0000000072c90000 - 0000000072c99000: C:\WINDOWS\system32\wdmaud.drv
(0000000072f70000 - 0000000072f96000: C:\WINDOWS\system32\WINSPOOL.DRV
(0000000073620000 - 0000000073627000: C:\WINDOWS\system32\msdmo.dll
(0000000073aa0000 - 0000000073ab5000: C:\WINDOWS\system32\mscms.dll
(0000000073e40000 - 0000000073e44000: C:\WINDOWS\system32\KsUser.dll
(0000000073e70000 - 0000000073ecc000: C:\WINDOWS\system32\DSOUND.dll
(0000000074790000 - 00000000748ff000: C:\WINDOWS\system32\quartz.dll
(0000000074cb0000 - 0000000074cd3000: C:\WINDOWS\system32\oledlg.dll
(0000000075250000 - 000000007527e000: C:\WINDOWS\system32\msctfime.ime
(0000000075790000 - 00000000757fb000: C:\WINDOWS\system32\usp10.dll
(0000000076330000 - 000000007634d000: C:\WINDOWS\system32\IMM32.DLL
(0000000076350000 - 000000007639a000: C:\WINDOWS\system32\COMDLG32.dll
(00000000765f0000 - 0000000076601000: C:\WINDOWS\system32\devenum.dll
(0000000076af0000 - 0000000076b1e000: C:\WINDOWS\system32\WINMM.dll
(0000000076bb0000 - 0000000076bbb000: C:\WINDOWS\system32\PSAPI.DLL
(0000000076bf0000 - 0000000076c1e000: C:\WINDOWS\system32\WINTRUST.dll
(0000000076c50000 - 0000000076c78000: C:\WINDOWS\system32\IMAGEHLP.dll
(0000000076f90000 - 000000007700f000: C:\WINDOWS\system32\CLBCATQ.DLL
(0000000077010000 - 00000000770e3000: C:\WINDOWS\system32\COMRes.dll
(00000000770f0000 - 000000007717b000: C:\WINDOWS\system32\OLEAUT32.dll
(00000000773a0000 - 00000000774a3000: C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\COMCTL32.dll
(00000000774b0000 - 00000000775ee000: C:\WINDOWS\system32\ole32.dll
(00000000778f0000 - 00000000779e4000: C:\WINDOWS\system32\setupapi.dll
(0000000077a50000 - 0000000077ae6000: C:\WINDOWS\system32\CRYPT32.dll
(0000000077af0000 - 0000000077b02000: C:\WINDOWS\system32\MSASN1.dll
(0000000077b10000 - 0000000077b32000: C:\WINDOWS\system32\Apphelp.dll
(0000000077ba0000 - 0000000077ba7000: C:\WINDOWS\system32\midimap.dll
(0000000077bb0000 - 0000000077bc5000: C:\WINDOWS\system32\MSACM32.dll
(0000000077bd0000 - 0000000077bd8000: C:\WINDOWS\system32\VERSION.dll
(0000000077be0000 - 0000000077c38000: C:\WINDOWS\system32\msvcrt.dll
(0000000077da0000 - 0000000077e4a000: C:\WINDOWS\system32\ADVAPI32.dll
(0000000077e50000 - 0000000077ee3000: C:\WINDOWS\system32\RPCRT4.dll
(0000000077ef0000 - 0000000077f39000: C:\WINDOWS\system32\GDI32.dll
(0000000077f40000 - 0000000077fb6000: C:\WINDOWS\system32\SHLWAPI.dll
(0000000077fc0000 - 0000000077fd1000: C:\WINDOWS\system32\Secur32.dll
(000000007c800000 - 000000007c908000: C:\WINDOWS\system32\kernel32.dll
(000000007c910000 - 000000007c9c9000: C:\WINDOWS\system32\ntdll.dll
(000000007e360000 - 000000007e3f1000: C:\WINDOWS\system32\USER32.dll
(000000007e670000 - 000000007ee91000: C:\WINDOWS\system32\SHELL32.dll

*----> Statusabbild für Threadkennung 0x348 <----*

eax=04733040 ebx=7c911000 ecx=0175af80 edx=003f0608 esi=04733040 edi=0175aff4
eip=005a407e esp=01f8fd48 ebp=0175afdc iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202

*** ERROR: Module load completed but symbols could not be loaded for C:\Programme\Media Player Classic\mpc-hc.exe
Funktion: mpc-hc
005a405e ff83c41cc38d inc dword ptr [ebx+0x8dc31cc4]
005a4064 b600 mov dh,0x0
005a4066 0000 add [eax],al
005a4068 008dbc270000 add [ebp+0x27bc],cl
005a406e 0000 add [eax],al
005a4070 83ec0c sub esp,0xc
005a4073 8b442410 mov eax,[esp+0x10]
005a4077 85c0 test eax,eax
005a4079 7415 jz mpc-hc+0x1a4090 (005a4090)
005a407b 83e0fc and eax,0xfffffffc
FEHLER ->005a407e 8b40fc mov eax,[eax-0x4] ds:0023:0473303c=????????
005a4081 89442410 mov [esp+0x10],eax
005a4085 83c40c add esp,0xc
005a4088 e9dfab3900 jmp mpc-hc+0x53ec6c (0093ec6c)
005a408d 8d7600 lea esi,[esi]
005a4090 83c40c add esp,0xc
005a4093 c3 ret
005a4094 8db600000000 lea esi,[esi]
005a409a 8dbf00000000 lea edi,[edi]
005a40a0 83ec3c sub esp,0x3c
005a40a3 89742430 mov [esp+0x30],esi

*----> Stack Back Trace <----*
WARNING: Stack unwind information not available. Following frames may be wrong.
ChildEBP RetAddr Args to Child
0175afdc 00000000 00000001 00000348 00000000 mpc-hc+0x1a407e

*----> Raw Stack Dump <----*
0000000001f8fd48 d0 8a 69 04 50 74 75 01 - f8 00 64 04 b3 4f 83 00 ..i.Ptu...d..O..
0000000001f8fd58 40 30 73 04 80 af 75 01 - da 50 83 00 8c af 75 01 @0s...u..P....u.
0000000001f8fd68 1c ba 65 00 e4 b8 8c 46 - 80 bc 35 00 0c b5 35 00 ..e....F..5...5.
0000000001f8fd78 ac fd f8 01 70 b5 35 00 - f4 af 75 01 24 fe f8 01 ....p.5...u.$...
0000000001f8fd88 b0 67 9d 00 01 00 00 00 - 1d 79 7c 74 dc af 75 01 .g.......y|t..u.
0000000001f8fd98 0c b5 35 00 00 00 00 00 - 78 b6 35 00 54 b5 35 00 ..5.....x.5.T.5.
0000000001f8fda8 a4 b5 35 00 c0 fd f8 01 - 4b 89 7c 74 00 00 00 00 ..5.....K.|t....
0000000001f8fdb8 b8 b4 35 00 54 b5 35 00 - dc fd f8 01 f2 8f 7c 74 ..5.T.5.......|t
0000000001f8fdc8 00 b5 35 00 b8 b4 35 00 - 80 3a 73 01 d8 b4 35 00 ..5...5..:s...5.
0000000001f8fdd8 00 b5 35 00 e8 fd f8 01 - 3c 8f 7c 74 08 b5 35 00 ..5.....<.|t..5.
0000000001f8fde8 fc fd f8 01 b9 a3 7a 74 - 01 00 00 00 d8 43 71 01 ......zt.....Cq.
0000000001f8fdf8 38 44 71 01 00 00 00 00 - 3a 88 42 00 00 b5 35 00 8Dq.....:.B...5.
0000000001f8fe08 98 bb 8c 46 d8 43 71 01 - d8 43 71 01 ff ff ff ff ...F.Cq..Cq.....
0000000001f8fe18 00 00 00 00 d8 43 71 01 - ec 43 71 01 68 fe f8 01 .....Cq..Cq.h...
0000000001f8fe28 29 a7 9a 00 0a 00 00 00 - f8 fc 42 00 e0 43 71 01 ).........B..Cq.
0000000001f8fe38 41 b5 65 00 01 00 00 00 - 3d 9e 37 7e e0 44 72 01 A.e.....=.7~.Dr.
0000000001f8fe48 d3 41 46 00 d8 43 71 01 - c0 bb 8c 46 00 c0 00 00 .AF..Cq....F....
0000000001f8fe58 74 f6 9f 00 94 fe f8 01 - 00 00 00 00 e0 44 72 01 t............Dr.
0000000001f8fe68 64 ff f8 01 d8 28 9e 00 - ff ff ff ff 6c 44 46 00 d....(......lDF.
0000000001f8fe78 85 9b 91 00 00 00 00 00 - a4 f3 12 00 60 17 19 00 ............`...

*----> Symboltabelle <----*
C:\Programme\Media Player Classic\mpc-hc.exe

mark0077
7th February 2011, 22:48
I am also seeing mpc crashing if u try to open a file while one is playing. Mpc also isn't closing gracefully as I can still see ffdshow and reclock icons in the taskbar after it's closed in recent versions.

robpdotcom
7th February 2011, 23:30
Mpc also isn't closing gracefully as I can still see ffdshow and reclock icons in the taskbar after it's closed in recent versions.

I've had that for quite some time - no idea which version it started with. Hovering the mouse over the icons makes them disappear though.

mark0077
8th February 2011, 00:02
I've had that for quite some time - no idea which version it started with. Hovering the mouse over the icons makes them disappear though.

Yeah I know but unfortunately if some settings are changed for example in various filters guis, like reclock, and if it doesn't shut down gracefully, then the settings changes can be lost. Good job ffdshow can save its settings using the apply button, and not on filter shut down...

robpdotcom
8th February 2011, 00:15
if some settings are changed for example in various filters guis, like reclock, and if it doesn't shut down gracefully, then the settings changes can be lost.

Ahhh, I wondered why Reclock settings didn't always stick. Thanks for that info.

Stephen R. Savage
8th February 2011, 01:41
@Stephen R. Savage & cca: When using ffdshow tryouts, it's usually best to let the mixer do a lot of the conversion work. In the output tab of the video decoder, use "Set pixel aspect ratio in output media type", "Set interlace flag in output media type" and "Allow output format changes during playback".
The next problem is the actual supported output types. I420/IYUV and YV12 are often refused by EVR, that leaves only NV12 as an option for 4:2:0 chroma sub-sampled video. Unfortunately, YUY2, YVYU and YUYV are selected by default instead. The only solution to that, is to disable those formats. Only enable YUY2, YVYU or YUYV if you want to play an actual 4:2:2 chroma sub-sampled video (not very common).
That should make a good NV12 connection without any chroma conversions before the mixer.

Even when all formats besides NV12 are disabled, I still get "Mixer Output: YUY2". The only difference is that I get very strange chroma artifacts (solid 8x8 red/blue blocks).

http://img547.imageshack.us/img547/4528/evrcpnv12.th.png (http://img547.imageshack.us/i/evrcpnv12.png/)
NV12

http://img29.imageshack.us/img29/7281/evrcpyv12.th.png (http://img29.imageshack.us/i/evrcpyv12.png/)
YV12

http://img822.imageshack.us/img822/5899/evrcprgb.th.png (http://img822.imageshack.us/i/evrcprgb.png/)
RGB32

In each of these cases, the OSD reports the mixer output to be YUY2.

G_M_C
8th February 2011, 07:53
Even when all formats besides NV12 are disabled, I still get "Mixer Output: YUY2". The only difference is that I get very strange chroma artifacts (solid 8x8 red/blue blocks).

http://img547.imageshack.us/img547/4528/evrcpnv12.th.png (http://img547.imageshack.us/i/evrcpnv12.png/)
NV12

http://img29.imageshack.us/img29/7281/evrcpyv12.th.png (http://img29.imageshack.us/i/evrcpyv12.png/)
YV12

http://img822.imageshack.us/img822/5899/evrcprgb.th.png (http://img822.imageshack.us/i/evrcprgb.png/)
RGB32

In each of these cases, the OSD reports the mixer output to be YUY2.

Is the connection to your monitor configured as YUY2 ?
My connection to my TV can be configured in CCC as 4:2:2 (limited or full) and 4:4:4 (limited or full), and afaik both as RGB or YUV. Might be the place to look ?

thuan
8th February 2011, 09:44
@Jan: I have tried the latest driver version and still the same chroma upsampling with your build and shaders problem happens on my setup, not to mention the stuttering DXVA (stupid nvidia, but ATI has chroma upsampling problem).

Jong
8th February 2011, 12:32
Sorry if this has been discussed before. I've been happy with the last stable build since it came out, so have not been updating regularly or reading this thread very often for a while.

I have just updated to the new "1.5.0.2827" stable build, which defaulted to using its own Matroska splitter instead of Haali that I was using previously. I very quickly spotted that it was always showing the first subtitle stream, if available.

Haali will only show forced streams, by default. Other subtitles default to "off" but are selectable as required. The inbuilt splitter seems to always show the first stream.

I know I could turn off all embedded subtitles, but that would not then be good for forced subtitle streams.

Am I missing something or is this a limitation of the current splitter?

yetanotherid
8th February 2011, 14:25
Anyone else having problems getting MPC-HC to open AVS scripts?

So far, on my XP SP3 machine, version 1.3.1249.0 is the last version capable of successfully opening one. The newer versions just sit there displaying "opening" while they slowly eat up RAM. Version 1.3.1249.0 also seems to be the last version which gives you a choice of more than three logos, so I assume newer versions aren't reading the mpciconlib.dll file?

Oh..... And as mentioned in a different thread, version 1.3.1249.0 also opens those problem vob files with the correct aspect ratio. By "those problem vob files" I'm referring to the occasional one which opens with a 2.35 aspect ratio using newer versions of MPC-HC. http://forum.doom9.org/showthread.php?t=159286

JanWillem32
8th February 2011, 14:53
@pdanpdan: Solved the resource problem. Aero gave problems in combination of the exclusive mode with clear video memory commands and enforcing settings on the video driver. Aero isn't rendered during D3DFS exclusive mode, anyway. Windowed mode can work with Aero enabled and re-initialization of Aero should only take a few seconds. (If not, I can try to solve it.)

@Ger: The internal MPEG-2 decoder is old. I don't know much about it, but it could very well be that it just doesn't have any routines for 4:2:2 chroma sub-sampled data. I use the default Microsoft decoder, as it seems to be able to use at least IDCT DXVA mode in my situation. My video card can't do the full VLD DXVA decoding mode for MPEG2. I don't know if that decoder can do 4:2:2 structures, either.

@Stephen R. Savage: I can't really see it very well because of the scaling artifacts, but it does look like 4:2:2 input indeed. I changed a few settings in the attached builds.
Can you also check that file with MediaInfo? If it reports that the file itself is 4:2:2 chroma sub-sampled, YUY2 would be a correct format for the mixer. Could you also check if the ffdshow tryouts video filter is loaded properly from the "Play", "Filters" menu?

@thuan: I'm starting to think that writing a custom mixer is the only way to get proper and uniform color conversion across all hardware brands, video cards and drivers. You really can't find any setting in the video card control panel for video playback, 2D/3D rendering, or whatever that will disable the chroma alteration?

@Jong: I couldn't really find an active ticket for this, so please report it on: http://sourceforge.net/apps/trac/mpc-hc/report . You could try a nightly build, I've seen an update on the source splitters a few days ago.

@yetanotherid: The graphics can get an update: http://forum.doom9.org/showthread.php?t=156694 . You are not the only one with aspect ratio problems. See if there's a report that fits your description in the bug tracker, else make a new one.

I removed the convertor to YUY2, and gave NV12 a higher merit than YV12 and I420/IYUV. If it's preferred, I can set different merits for interlaced and non-interlaced content in future builds. I also tried a bit of optimizing for start-up speed.

yetanotherid
8th February 2011, 15:17
An update to my previous post #16152.

Now I'm more confused regarding the inability to open AVS scripts.
Previously I had the latest version of the CCCP installed and the version of MPC-HC which comes with it (1.4.2677.0) had always successfully opened AVS scripts. (Was version 1.4.2677.0 a special CCCP version of MPC-HC? I can't find it anywhere else.)

Recently I uninstall the CCCP and installed the latest version of MPC-HC as well as the latest stable version of ffdshow. I just tried the version of MPC-HC which came with the CCCP (I'd saved it before uninstalling the CCCP) and it won't open AVS files any more either. However version 1.3.1249.0 will quite happily open and play them.

I'd have assumed if one version of MPC-HC will play AVS scripts then my PC's setup is okay and any other version should play them as well. As that's not the case though, is there something I'm missing? An ffdshow decoder which should be enabled for example, or an internal MPC-HC filter which I need to disable? AVS scripts still open in VirtualDub without a problem.

One other question.... I may be remembering incorrectly but I was sure AVS was listed as a supported file type in MPC-HC's "Open file" menu, but this doesn't seem to be the case any longer. Am I remembering incorrectly? I generally open AVS scripts via the Explorer SendTo menu so I could be imagining AVS scripts appearing as a supported file type, but I'm sure when I had the CCCP installed they did..

Jong
8th February 2011, 15:25
@Jong: I couldn't really find an active ticket for this, so please report it on: http://sourceforge.net/apps/trac/mpc-hc/report . You could try a nightly build, I've seen an update on the source splitters a few days ago.Thanks Jan. I'll leave it a day or so to see if anyone else has some comment/insight into this. If not, I'll raise a ticket.

thuan
8th February 2011, 15:58
@Jan: I tried every setting in the video section of my video card, nothing fixed the problem and some make the video looks worse. Still on latest driver.

GrofLuigi
8th February 2011, 16:18
@yetanotherid: Recently I had similar problems with MPC hanging on opening AVS scripts. I solved it by moving away ffavisynth.dll and ffavisynth.avsi from Avisynth/plugins directory.

I tried just now returning them and they give no problems, but it might have been some combination of script/version...

GL

Taurus
8th February 2011, 16:27
@yetanotherid
I never had problems opening avs scripts with MPC-HC.
Just tried the latest from xvidvideo.ru (1.5.1.2910.x86.msvc2010).
Everything o.k.

yetanotherid
8th February 2011, 18:48
@yetanotherid: Recently I had similar problems with MPC hanging on opening AVS scripts. I solved it by moving away ffavisynth.dll and ffavisynth.avsi from Avisynth/plugins directory.

I tried just now returning them and they give no problems, but it might have been some combination of script/version...

GL

GrofLuigi,
Thank you. If I had a first born, he/she'd be yours.
After spending hours messing around, not to mention the mess I've probably made of file associations and codecs in the process, removing the ffavisynth.avsi file has me opening avs scripts like there's no tomorrow, returning it stops me opening them, removing it...... etc. etc.

Why the newer versions of MPC-HC are effected while the older versions not? I guess it'd be nice to know, but I think I'll try to block this one out and pretend it never happened.....

JanWillem32
8th February 2011, 19:24
@thuan: What settings make video look worse, or any other setting that could hinder the picture looking like the reference output? (I'd like to know what to tell people what they have to disable or enable for video playback.) What about the 3D or display settings? I know that "quality" and "performance" settings can have an effect on full screen scaling scaling settings. Maybe these settings can influence mixer objects as well.

For reference, I'm trying to get chroma scaling completely disabled in the mixer, so the renderer can do it in a proper, user-selectable way. For that to work, the mixer has to deliver unmodified chroma data: http://forum.doom9.org/showthread.php?p=1463132#post1463132 . (In the mean time I've written better scalers than the one in the sample, by the way.) Many users with various hardware have reported that the chroma is properly unmodified from the mixer when testing these nightly builds. I need to be sure that if I add a chroma scaling option, people will not get distorted output when enabling it.
I'll try to make some sample screenshots of the different chroma up-sampling modes. It's been a while since I made some picture quality comparisons. (I also feel the need to show off that I can actually write a proper scaler. :D)

Hera
8th February 2011, 20:02
@JanW,
I have all the stuff disabled for Radeon 4250 Mobile. Still the same issue with FullFP.
1.5.0.2827 works fine.

JanWillem32
8th February 2011, 20:21
1.5.0.2827 is rather old, I didn't contribute to it. It doesn't have a real Full Floating Point Processing rendering path or Half, for that matter. Surfaces were created from three different places in the past, with many items hard-coded to 8-bit RGB/RGBA.
You can use the Hardware, Monitoring Graphs function of ATi Tray tools to log the GPU usage during rendering. If it's at 100% usage for longer than the buffer period, it's too much for the GPU to handle. It also helps a lot to set higher GPU clock speeds than the usual 2D settings. Even on low end video cards, many basic quality settings can be used with some overclocking.

mark0077
8th February 2011, 20:40
Figured out why my mpc-hc wasn't shutting down gracefully. Without arcsoft audio decoder in the external filter chain, it shuts down correctly. With it, reclock and ffdshow icons don't disappear from the taskbar nor does reclock exit and save its settings...

Anyone know why mpc-hc has a hard time shut down correctly when using arcsoft decoder? Could the fact that we have to modify the exe with hex changes to get the arcsoft decoder to work, have an impact?

Dstruct
8th February 2011, 21:01
It also helps a lot to set higher GPU clock speeds than the usual 2D settings.

Could you add an option to MPC to switch graphic cards to higher clock speed?

JanWillem32
8th February 2011, 22:38
@Dstruct: Unfortunately, no. It's very hard to send such settings to the video card at all. I've been trying to get all anti-aliasing and anisotropic filtering disabled from within the program, but it usually doesn't work at all (and it returns errors). Clock speeds are even harder. The rendering process is usually detected as a 2D item, so the GPU usually runs at 2D load settings during video playback. Setting custom adjusted clock speeds (as I do with an ATi Tray Tools profile), is near impossible to implement into the program. The best I could do, is loading some vertex data to fake 3D rendering and try to get full 3D clock speeds (with very loud fans as a consequence :p).

Chroma up-sampling comparison pictures: (I tried very hard not to post red-on-black items this time.)
Normally, I would post-process video like this with full image scaling, "sharpen complex v3 + deband + medium denoise" to get rid of some of the luma and chroma imperfections, color management and dithering on top of chroma scaling. These images are a bit "raw" for my taste, but optimal for pure chroma scaling quality comparison.

Hera
9th February 2011, 05:30
EDIT 2: JanW Test Builds + NV ION + 10-bit in = Error creating EVR Custom renderer CreateDevice failed DX9AllocatorPreseter failed D3DERR_NOTAVAILABLE
EDIT 3: FullFP doesn't stutter for some reason on NV ION EDIT 4: with *some* 1080p content and stutters with other... >.<
EDIT 5: The quality is horrible though, purely horrific.

1.5.0.2827 is rather old, I didn't contribute to it. It doesn't have a real Full Floating Point Processing rendering path or Half, for that matter. Surfaces were created from three different places in the past, with many items hard-coded to 8-bit RGB/RGBA.
You can use the Hardware, Monitoring Graphs function of ATi Tray tools to log the GPU usage during rendering. If it's at 100% usage for longer than the buffer period, it's too much for the GPU to handle. It also helps a lot to set higher GPU clock speeds than the usual 2D settings. Even on low end video cards, many basic quality settings can be used with some overclocking.

Interesting, same issue with 1.5.1.2910. 10-bit in works now though with Radeon 4250.

Shouldn't it automatically up the clock speeds if 2D clock speeds are inefficient? I assumed that was the default behavior on modern GPUs anyway.

Absolutely no changes in FullFP performance on NV ION though.

EDIT1: It would be nice if 10-bit input would work in windowed mode...

thuan
9th February 2011, 05:42
@Jan: So I tried to change 3d settings, but to no avail, it's not exhaustive, but I gave up half way, disappointed >_<. So what is your current GFX card, I might buy something soon, so at least I want something that works with your future features. As for what made video looks bad, basically for my current config keeps everything at defaults, both dynamic contrast enhancement and color enhancement did that for Japanese animation IMO, other features to change color and gamma should not be touched unless you were calibrating your display of course.

pdanpdan
9th February 2011, 08:08
@JanWillem32: The problem with resources is fixed now, thank you.
Ref. Aero: I have 2 displays (LCD+CRT TV), and I keep MPC interface on LCD, and the movie in D3D Fulscreen on TV. In the oficial builds this kept Aero on on my LCD. I agree that if there's only one display, Aero off is not a problem.