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

JanWillem32
13th October 2011, 11:00
A nice example for why scheduling such things can really ruin playback. Note that I'm not exactly a specialist on timing items, I very much prefer to not touch the VSync or scheduler code at all (these two tend to break really easily whenever I change something).

the base fraction is 60/25 = 2.4
This means 40% will be presentations for three screen refresh intervals, 60% for two.
interval loop:
(outputs rounded, else the picture would just tear in the middle of the screen)
2.4 = 2
2*(2.4)-2 = 3
3*(2.4)-2-3 = 2
4*(2.4)-2-3-2 = 3
5*(2.4)-2-3-2-3 = 2

graph of the spread over a second: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 25 fps
||||-||||/||||-||||/||||-||||/||||-||||/||||-||||/||||-|||| 60 Hz

Additional factors:
The input could be interlaced material, with an output of 50 frames per second.
If the screen refresh rate turns out to have the NTSC slowdown problem from 1953, the refresh rate will be 60/1.001.
As not every part of the system is linked to an atomic clock, the signals in the memory buffer to screen path will have jitter.
The subtitle engine can stall the main paint loop long enough to even drop entire frames (even the initialization of it is very slow).
Windowed modes can be a limitation. I've yet to see stable presentations in both windowed modes when filling a full 1:1 fps to display refresh rate queue. I've seen both skip some of the 80 presentations per second with my 80 Hz monitor whenever I tried. This is much less of a problem in exclusive mode.
The internal VSync and flushing modes really kill off any chance to queue multiple frames for the video card. This often causes dropped frames.

ADude
13th October 2011, 18:39
Additional factors:
The input could be interlaced material, with an output of 50 frames per second.
If the screen refresh rate turns out to have the NTSC slowdown problem from 1953, the refresh rate will be 60/1.001.
As not every part of the system is linked to an atomic clock, the signals in the memory buffer to screen path will have jitter.
The subtitle engine can stall the main paint loop long enough to even drop entire frames (even the initialization of it is very slow).
Windowed modes can be a limitation. I've yet to see stable presentations in both windowed modes when filling a full 1:1 fps to display refresh rate queue. I've seen both skip some of the 80 presentations per second with my 80 Hz monitor whenever I tried. This is much less of a problem in exclusive mode.
The internal VSync and flushing modes really kill off any chance to queue multiple frames for the video card. This often causes dropped frames.

- Not interlaced in this case (usually 720p re-encode)
- I'm not knowledgeable about the NTSC issue, but all of the hardware is from 2007, both the PC and the HD TV. If there is a test for this, that would be interesting.
- I use the MPC-HC "launch files in full screen" option
- I'm actually currently using build 1043 for these frame rate 25 files (the last pre-Belliyaal build) - EVR Custom Presenter with Lock Back-Buffer and 10 EVR BUffers (and Bilinear resizer to lighten the load). Some of the later work by another Swedish developer helped the sync issues for other files, but some other things were broken along the way (for example, in 1043, one can connect to the HT PC with VNC without affecting playback, while in later builds, any VNC connection would cause dropped frames and tearing).
- And I'm doing some testing on 3456 to see if any of the above has been fixed (and will report back).

cca
13th October 2011, 19:28
A nice example for why scheduling such things can really ruin playback. Note that I'm not exactly a specialist on timing items, I very much prefer to not touch the VSync or scheduler code at all (these two tend to break really easily whenever I change something).

the base fraction is 60/25 = 2.4
This means 40% will be presentations for three screen refresh intervals, 60% for two.
interval loop:
(outputs rounded, else the picture would just tear in the middle of the screen)
2.4 = 2
2*(2.4)-2 = 3
3*(2.4)-2-3 = 2
4*(2.4)-2-3-2 = 3
5*(2.4)-2-3-2-3 = 2

graph of the spread over a second: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 25 fps
||||-||||/||||-||||/||||-||||/||||-||||/||||-||||/||||-|||| 60 Hz

Additional factors:
The input could be interlaced material, with an output of 50 frames per second.
If the screen refresh rate turns out to have the NTSC slowdown problem from 1953, the refresh rate will be 60/1.001.
As not every part of the system is linked to an atomic clock, the signals in the memory buffer to screen path will have jitter.
The subtitle engine can stall the main paint loop long enough to even drop entire frames (even the initialization of it is very slow).
Windowed modes can be a limitation. I've yet to see stable presentations in both windowed modes when filling a full 1:1 fps to display refresh rate queue. I've seen both skip some of the 80 presentations per second with my 80 Hz monitor whenever I tried. This is much less of a problem in exclusive mode.
The internal VSync and flushing modes really kill off any chance to queue multiple frames for the video card. This often causes dropped frames.

The subtitles ideally should be buffered and not real time, otherwise frame drops, jerks, skips, are unavoidable. In the trunk build, they *are* buffered.

ADude
13th October 2011, 23:21
Okay, I've test 3456 and I think the VNC incompatibility problem is fixed, but it still is not as good as 1043 on frame rate 25.

However, I have found that D3D Exclusive Full Screen fixes all visual problems with frame rate 25 on 60hz refresh display with either version of the player, so I may do that, even though there are some minor functionality disadvantages of using Exclusive.

Lincoln Burrows
15th October 2011, 01:38
Folks,
after extensive analysis I think I might have uncovered some issue with MPC regarding some kind of subtitles.

First of all, I have converted to Matroska, using MAKEMKV, a bunch of decrypted files from the TV show "Ally McBeal", season 3. It's using yellow subtitles.

When I attempt to watch the original DVD using Media Player Classic, this is what I see:

http://i.imgur.com/XmRBi.png

But when I attempt to watch the converted Matroska files from every episode, the subtitles can't be displayed.

That's right: I can't see any of them. I have changed all my settings, enabled/disabled Vobsub, ffdshow, all kinds of filters and settings. Nothing.

This is the info from the Matroska files:


Codec ID : S_VOBSUB
Codec ID/Info : The same subtitle format used on DVDs And before you ask, I can see any kinds of subtitles, from DVDs, Blu-rays, Matroska-converted files.

But this is the 1st time EVER I can't see them using MPC-HC. I tried using different players and this was the result:

Using VLC Player:

http://i.imgur.com/5DYrV.png

At first I believed the subtitles were almost transparent, but then I tested using MPlayer:

http://i.imgur.com/PUD98.png

They are perfectly normal!

MPlayer settings:

http://i.imgur.com/XTsps.png

Now let's see my current MPC-HC settings:

http://i.imgur.com/E5UsM.png

http://i.imgur.com/Ym34k.png

When you click to change the font (which is currently Verdana, Bold, size 22, black), even if you select white, and returns to that screen, it's still black!

Why is MPC refusing to change the colour? Are those settings locked?

I know what you might be thinking: I need to change the colours from "Primary/Secondary/Outline/Shadow". I tried changing the colours and the % but I still can't see any subtitles in the Matroska files. Unless I am using the wrong colours.

I don't know what to do anymore.

Kurtnoise
15th October 2011, 07:16
upload a sample...

watchman
15th October 2011, 13:15
Hello.
I did a small modification in subtitle resizing/positioning relative to the video frame, which I think may be also useful for someone else. I posted some info + modified source code file in JanWillem32's thread: http://forum.doom9.org/showpost.php?p=1532030&postcount=567

Here is an explanation about what led me to this: http://forum.doom9.org/showpost.php?p=1531184&postcount=537

I'd be great if there is someone willing to implement this small change to official repository and provide some simple GUI option for changing outline aspect ratio value. And even better another bottom positioning value for second case :)

Code itself also can be improved a little bit by removing abs() function since I did not know which value is higher.

ikarad
15th October 2011, 21:32
I have problem with subs animation in video

With ffdshow I have animation of sub
http://www.zshare.net/video/948504735a7fead8/

With mpc-hc I don't have animation
http://www.zshare.net/video/94850476de2f6541/


video downloaded here
http://fileserve.com/list/FwVnhUG

problem with all version of mpc-hc even the last 1.5.3.3757

MokrySedeS
15th October 2011, 21:48
Go to Options --> Subtitles.
Enable "Allow animation when buffering" or set "Sub pictures to buffer" to 0.

Lincoln Burrows
15th October 2011, 22:42
Go to Options --> Subtitles.
Enable "Allow animation when buffering" or set "Sub pictures to buffer" to 0.It's not working. I already tried...

upload a sample...Anyway, there you go, a 3 minute sample (MKV file converted directly from the original disc, using MakeMKV):

http://www.embedupload.com/?d=2EMHWJFVKA

Now let's see if you can display any subtitle (2 are available - portuguese/english) using MPC-HC. I wasn't able to, they were only displayed using these players:

http://en.wikipedia.org/wiki/MPlayer
http://en.wikipedia.org/wiki/VLC_Player

The reason is still a mistery to me, I was hoping you could shed some light on it.

Since my MPC-HC is displaying all kinds of subtitles, I find very odd it's refusing to do this time.

MokrySedeS
16th October 2011, 06:04
It's not working. I already tried...
I was replying to ikarad :P

ikarad
16th October 2011, 06:44
Go to Options --> Subtitles.
Enable "Allow animation when buffering" or set "Sub pictures to buffer" to 0.

Thanks.

Why set "Sub pictures to buffer" to 0 and not to set 3 like by default?

v0lt
16th October 2011, 10:12
Why set "Sub pictures to buffer" to 0 and not to set 3 like by default?

Read carefully.
Enable "Allow animation when buffering" or set "Sub pictures to buffer" to 0.
You can only enable the option "Allow animation when buffering" and not change buffer settings.

Thunderbolt8
16th October 2011, 10:53
it seems that mpc-hc displays the wrong runtime of a movie, if there is a similar named audio track with a different fps rate in the same directory.

got a 1080i50 movie with runtime of 1:29:45, but mpc-hc keeps displaying its runtime as 1:33:35 (=slowdown to 1080i48) as long as there is such an audio track with this slowed down fps rate present in the same dir which shares partly the same filename (at least at the beginning).

Aleksoid1978
17th October 2011, 01:36
Hi to ALL.
Test please
http://aleksoid.tosei.ru/Test/mpc-hc_ffmpegupdate_x64_final.7z
http://aleksoid.tosei.ru/Test/mpc-hc_ffmpegupdate_x86_final.7z

This is latest SVN revision + latest ffmpeg update from ffdshow + latest libswscale update from libav.

Jong
17th October 2011, 19:17
Hi all,

Been away from here for a long time :(. Glad to see things are still progressing really well. Very impressed with Blu-ray playback with LAV Splitter/Audio. Perfectly smooth and full HD audio goodness. :)

Anybody aware of a .net wrapper for this, similar to what is available for vlc. I'd like to get this embedded into MeediOS as its principal media player, especially as it is now smooth as can be even without D3D mode. MeediOS is a WPF/.net app.

I saw some talk about mpc-hc 2.0 but it seems it has yet to really go anywhere, right?

naoan
17th October 2011, 19:38
I can only wish time could be displayed on control bar instead of status bar...

betaking
18th October 2011, 12:42
to all dev,thanks for update last ffmpeg for mpc-hc! but i found a bug! use mpc-hc Internal vc1(dxva) or standalone mpcvideo.ax vc1(dxva) play some ts or mkv file mpc-hc give carsh! if i turn off vc1 dxva play is ok! and use athoer codecs ARCSOFT(dxva)cyberlink(dxva)play is fine too!
http://www.mediafire.com/?o26rphjvd5smlso
Faulting application mpc-hc.exe, version 1.5.3.3776, time stamp 0x4e9ce42c, faulting module mpc-hc.exe, version 1.5.3.3776, time stamp 0x4e9ce42c, exception code 0x40000015, fault offset 0x00658ab2, process id 0x14dc, application start time 0x01cc8d3eb1b0ab80.
Faulting application mpc-hc.exe, version 1.5.3.3776, time stamp 0x4e9ce42c, faulting module mpc-hc.exe, version 1.5.3.3776, time stamp 0x4e9ce42c, exception code 0x40000015, fault offset 0x00658ab2, process id 0x4a4, application start time 0x01cc8d3edc5a3590.
Faulting application mpc-hc.exe, version 1.5.3.3776, time stamp 0x4e9d53d2, faulting module mpc-hc.exe, version 1.5.3.3776, time stamp 0x4e9d53d2, exception code 0x40000015, fault offset 0x00695632, process id 0x104c, application start time 0x01cc8d3f30b944f0.

Lincoln Burrows
18th October 2011, 13:27
I found another title (Matroska converted from DVD with help from MAKEMKV) that MPC-HC can't display subtitles (but MPlayer/VLC Player can)... in fact, two of them, but the 1st one it can't display the 1st subtitle from the file, but it can display the rest.

That's odd.

I have uploaded a new sample, if you can please check...

http://www.embedupload.com/?d=1JVYFTUIMF

I need to know if this is a MPC bug or it's simply my system that has some problem.

Tom Keller
18th October 2011, 16:29
I've got a strange behavior with Haalis Video Renderer, after going from (x86) build 1.5.3.3677 to build 1.5.3.3734. While using Haalis Renderer, the MPC-HC starts with a black screen. The playback is running fine (according to the audio output, the slider and timecode) - there's simply no video output visible. But when using the slider to jump through the video, i'll suddenly get an output :eek: .

This happens most of the time with all MPC-HC builds beginning with 1.5.3.3734 (and above), with different video formats and different decoders. Starting in fullscreen with Haalis Renderer wont work at all (the MPC-HC always starts in window mode) - manually switching to fullscreen works though (but again: only with a black video output). With build 1.5.3.3677 (and below) there are no such problems at all.

I'm using WinXP SP3, running on a Core2Duo E6600 @2,4Ghz with NVIDIA 9600GT GPU (forceware driver 275.27) and Asus Xonar DX soundcard.
This behavior only happens with Haalis Video Renderer - other Renderers work fine though. I even tried different builds of the Haali Renderer - with no change.

Is it reproducible for others? Was there any change from build 1.5.3.3677 to build 1.5.3.3734, which could possibly lead to this kind of problem :confused: ?

v0lt
18th October 2011, 18:07
@betaking
Recommended version is 1.5.3.3760 (http://www.mediafire.com/?6p9cdes26i30d)


r3776 has a few problems:
1) Poor picture quality with some h264 videos in DXVA mode
(it's not present in the r3760)
Sample: http://samples.mplayerhq.hu/Matroska/H264+EAC3.mkv
2) Hi10P: bad picture on AMD graphics cards
(it's not present in ffdshow and LAV Video)

clsid
18th October 2011, 21:16
To fix one issue with DXVA corruption, add this line to CMPCVideoDecFilter::SetMediaType:
m_pAVCtx->h264_using_dxva = m_bDXVACompatible;
(this is different issue as one mentioned by v0lt above)

To fix crash with x64 and threads, use the static pthread lib from mingw toolchain instead of file included in trunk.

Mercury_22
20th October 2011, 10:49
Can't compile last rev. 3785 (pthreads / w32threads change ?) Please help:confused:
x86 1>------ Build started: Project: libavcodec_gcc, Configuration: Release Win32 ------
1>Build started 10/20/2011 05:44:39.
1>Build:
1> make -j2
1> make.exe: Nothing to be done for `all'.
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:02.62
2>------ Build started: Project: mpc-hc, Configuration: Release Win32 ------
2>Build started 10/20/2011 05:44:42.
2>InitializeBuildStatus:
2> Touching "C:\MPC-HC\bin10\obj\Release_Win32\mpc-hc\mpc-hc.unsuccessfulbuild".
2>PreBuildEvent:
2> SubWCRev: 'C:\MPC-HC'
2> Last committed at revision 3785
2> Updated to revision 3785
2> Local modifications found
2>ClCompile:
2> All outputs are up-to-date.
2> All outputs are up-to-date.
2> All outputs are up-to-date.
2>ResourceCompile:
2> All outputs are up-to-date.
2>LINK : fatal error LNK1181: cannot open input file 'libpthreadGC2.a'
2>
2>Build FAILED.
2>
2>Time Elapsed 00:00:03.44
========== Build: 1 succeeded, 1 failed, 65 up-to-date, 0 skipped ==========

x64 1>------ Build started: Project: libavcodec_gcc, Configuration: Release x64 ------
1>Build started 10/20/2011 05:46:26.
1>Build:
1> make -j2 64BIT=yes
1> make.exe: Nothing to be done for `all'.
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:07.87
2>------ Build started: Project: mpc-hc, Configuration: Release x64 ------
2>Build started 10/20/2011 05:46:34.
2>InitializeBuildStatus:
2> Touching "C:\MPC-HC\bin10\obj\Release_x64\mpc-hc\mpc-hc.unsuccessfulbuild".
2>PreBuildEvent:
2> SubWCRev: 'C:\MPC-HC'
2> Last committed at revision 3785
2> Updated to revision 3785
2> Local modifications found
2>ClCompile:
2> All outputs are up-to-date.
2> All outputs are up-to-date.
2> All outputs are up-to-date.
2>ResourceCompile:
2> All outputs are up-to-date.
2>MPCVideoDec.lib(utils.o) : warning LNK4217: locally defined symbol toupper imported in function ff_toupper4
2>MPCVideoDec.lib(dict.o) : warning LNK4049: locally defined symbol toupper imported
2>MPCVideoDec.lib(avstring.o) : warning LNK4049: locally defined symbol toupper imported
2>MPCVideoDec.lib(log.o) : warning LNK4217: locally defined symbol _vsnprintf imported in function av_log_default_callback
2>MPCVideoDec.lib(avstring.o) : warning LNK4049: locally defined symbol _vsnprintf imported
2>MPCVideoDec.lib(log.o) : warning LNK4217: locally defined symbol __iob_func imported in function av_log_default_callback
2>MPCVideoDec.lib(interf_dec.o) : warning LNK4049: locally defined symbol __iob_func imported
2>MPCVideoDec.lib(sp_dec.o) : warning LNK4049: locally defined symbol __iob_func imported
2>MPCVideoDec.lib(eval.o) : warning LNK4217: locally defined symbol isspace imported in function av_expr_parse
2>libmingwex.a(lib64_libmingwex_a-mingw_getsp.o) : warning LNK4217: locally defined symbol longjmp imported in function longjmp
2>libpthreadGC2.a(pthread.o) : warning LNK4217: locally defined symbol _ftime64 imported in function ptw32_relmillisecs
2>libpthreadGC2.a(pthread.o) : warning LNK4217: locally defined symbol _errno imported in function sched_get_priority_max
2>libpthreadGC2.a(pthread.o) : warning LNK4217: locally defined symbol _beginthreadex imported in function pthread_create
2>libpthreadGC2.a(pthread.o) : warning LNK4217: locally defined symbol _endthreadex imported in function ptw32_threadStart
2>libpthreadGC2.a(pthread.o) : error LNK2019: unresolved external symbol _mingw_getsp referenced in function ptw32_threadStart
2>C:\MPC-HC\bin10\mpc-hc_x64\mpc-hc64.exe : fatal error LNK1120: 1 unresolved externals
2>
2>Build FAILED.
2>
2>Time Elapsed 00:00:14.13
========== Build: 1 succeeded, 1 failed, 65 up-to-date, 0 skipped ==========

betaking
20th October 2011, 10:53
Can't compile last rev. 3785 (pthreads / w32threads change ?) Please help:confused:
x86 1>------ Build started: Project: libavcodec_gcc, Configuration: Release Win32 ------
1>Build started 10/20/2011 05:44:39.
1>Build:
1> make -j2
1> make.exe: Nothing to be done for `all'.
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:02.62
2>------ Build started: Project: mpc-hc, Configuration: Release Win32 ------
2>Build started 10/20/2011 05:44:42.
2>InitializeBuildStatus:
2> Touching "C:\MPC-HC\bin10\obj\Release_Win32\mpc-hc\mpc-hc.unsuccessfulbuild".
2>PreBuildEvent:
2> SubWCRev: 'C:\MPC-HC'
2> Last committed at revision 3785
2> Updated to revision 3785
2> Local modifications found
2>ClCompile:
2> All outputs are up-to-date.
2> All outputs are up-to-date.
2> All outputs are up-to-date.
2>ResourceCompile:
2> All outputs are up-to-date.
2>LINK : fatal error LNK1181: cannot open input file 'libpthreadGC2.a'
2>
2>Build FAILED.
2>
2>Time Elapsed 00:00:03.44
========== Build: 1 succeeded, 1 failed, 65 up-to-date, 0 skipped ==========

x64 1>------ Build started: Project: libavcodec_gcc, Configuration: Release x64 ------
1>Build started 10/20/2011 05:46:26.
1>Build:
1> make -j2 64BIT=yes
1> make.exe: Nothing to be done for `all'.
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:07.87
2>------ Build started: Project: mpc-hc, Configuration: Release x64 ------
2>Build started 10/20/2011 05:46:34.
2>InitializeBuildStatus:
2> Touching "C:\MPC-HC\bin10\obj\Release_x64\mpc-hc\mpc-hc.unsuccessfulbuild".
2>PreBuildEvent:
2> SubWCRev: 'C:\MPC-HC'
2> Last committed at revision 3785
2> Updated to revision 3785
2> Local modifications found
2>ClCompile:
2> All outputs are up-to-date.
2> All outputs are up-to-date.
2> All outputs are up-to-date.
2>ResourceCompile:
2> All outputs are up-to-date.
2>MPCVideoDec.lib(utils.o) : warning LNK4217: locally defined symbol toupper imported in function ff_toupper4
2>MPCVideoDec.lib(dict.o) : warning LNK4049: locally defined symbol toupper imported
2>MPCVideoDec.lib(avstring.o) : warning LNK4049: locally defined symbol toupper imported
2>MPCVideoDec.lib(log.o) : warning LNK4217: locally defined symbol _vsnprintf imported in function av_log_default_callback
2>MPCVideoDec.lib(avstring.o) : warning LNK4049: locally defined symbol _vsnprintf imported
2>MPCVideoDec.lib(log.o) : warning LNK4217: locally defined symbol __iob_func imported in function av_log_default_callback
2>MPCVideoDec.lib(interf_dec.o) : warning LNK4049: locally defined symbol __iob_func imported
2>MPCVideoDec.lib(sp_dec.o) : warning LNK4049: locally defined symbol __iob_func imported
2>MPCVideoDec.lib(eval.o) : warning LNK4217: locally defined symbol isspace imported in function av_expr_parse
2>libmingwex.a(lib64_libmingwex_a-mingw_getsp.o) : warning LNK4217: locally defined symbol longjmp imported in function longjmp
2>libpthreadGC2.a(pthread.o) : warning LNK4217: locally defined symbol _ftime64 imported in function ptw32_relmillisecs
2>libpthreadGC2.a(pthread.o) : warning LNK4217: locally defined symbol _errno imported in function sched_get_priority_max
2>libpthreadGC2.a(pthread.o) : warning LNK4217: locally defined symbol _beginthreadex imported in function pthread_create
2>libpthreadGC2.a(pthread.o) : warning LNK4217: locally defined symbol _endthreadex imported in function ptw32_threadStart
2>libpthreadGC2.a(pthread.o) : error LNK2019: unresolved external symbol _mingw_getsp referenced in function ptw32_threadStart
2>C:\MPC-HC\bin10\mpc-hc_x64\mpc-hc64.exe : fatal error LNK1120: 1 unresolved externals
2>
2>Build FAILED.
2>
2>Time Elapsed 00:00:14.13
========== Build: 1 succeeded, 1 failed, 65 up-to-date, 0 skipped ==========

REM Copy the needed libs
COPY /V /Y "%MINGW32%\i686-pc-mingw32\lib\libmingwex.a" "lib\"
rem See Part D for libmingwex.a x64
COPY /V /Y "%MINGW32%\lib\gcc\i686-pc-mingw32\%gccver%\libgcc.a" "lib\"
COPY /V /Y "%MINGW32%\i686-pc-mingw32\lib\libpthreadGC2.a" "lib\"
COPY /V /Y "%MINGW64%\lib\gcc\x86_64-w64-mingw32\%gccver%\libgcc.a" "lib64\"

Mercury_22
20th October 2011, 11:13
REM Copy the needed libs
COPY /V /Y "%MINGW32%\i686-pc-mingw32\lib\libmingwex.a" "lib\"
rem See Part D for libmingwex.a x64
COPY /V /Y "%MINGW32%\lib\gcc\i686-pc-mingw32\%gccver%\libgcc.a" "lib\"
COPY /V /Y "%MINGW32%\i686-pc-mingw32\lib\libpthreadGC2.a" "lib\"
COPY /V /Y "%MINGW64%\lib\gcc\x86_64-w64-mingw32\%gccver%\libgcc.a" "lib64\"
:thanks: betaking
So now we need to ..., use the static pthread lib from mingw toolchain instead of file included in trunk.

P.S. To add x64 too :
REM Copy the needed libs
COPY /V /Y "%MINGW32%\i686-pc-mingw32\lib\libmingwex.a" "lib\"
rem See Part D for libmingwex.a x64
COPY /V /Y "%MINGW32%\lib\gcc\i686-pc-mingw32\%gccver%\libgcc.a" "lib\"
COPY /V /Y "%MINGW64%\lib\gcc\x86_64-w64-mingw32\%gccver%\libgcc.a" "lib64\"
COPY /V /Y "%MINGW32%\i686-pc-mingw32\lib\libpthreadGC2.a" "lib\"
COPY /V /Y "%MINGW64%\x86_64-w64-mingw32\lib\libpthreadGC2.a" "lib64\"

v0lt
20th October 2011, 14:18
P.S. To add x64 too :
...
COPY /V /Y "%MINGW64%\x86_64-w64-mingw32\lib\libpthreadGC2.a" "lib64\"
This is not required. "libpthreadGC2.a" already exists in "lib64".

How to compile MPC-HC (http://sourceforge.net/apps/trac/mpc-hc/wiki/How_to_compile_the_MPC)

Mercury_22
20th October 2011, 14:25
This is not required. "libpthreadGC2.a" already exists in "lib64".

How to compile MPC-HC (http://sourceforge.net/apps/trac/mpc-hc/wiki/How_to_compile_the_MPC)
Yes but
...
To fix crash with x64 and threads, use the static pthread lib from mingw toolchain instead of file included in trunk.
So you're saying he is wrong ? :confused: Or I'm missing something here ?

v0lt
20th October 2011, 14:59
So you're saying he is wrong ? :confused: Or I'm missing something here ?
Maybe he's right. I can not test the x64 version.

daWsOn_s
21st October 2011, 20:58
Is there a way to playback mov ProRes files? With haali media splitter it doesn't work, with internal splitter mpc hc just crashes before doing anything

v0lt
21st October 2011, 21:21
Is there a way to playback mov ProRes files?
You're talking about this (http://wiki.multimedia.cx/index.php?title=Apple_ProRes)?
What is DirectShow decoder can decode this video format?
ffdshow (or ffmpeg) supports this format?

nevcairiel
21st October 2011, 22:10
You're talking about this (http://wiki.multimedia.cx/index.php?title=Apple_ProRes)?
What is DirectShow decoder can decode this video format?
ffdshow (or ffmpeg) supports this format?

LAV Video supports Apple ProRes.

ADude
21st October 2011, 22:38
LAV is new to me (since I've been away from this Forum for about a year or so).

Can someone quickly summarize the advantages - and what it replaces ?

( I did go to the linked thread and it is mostly about details - like most threads. )

Thanks !

pirlouy
21st October 2011, 22:41
It's the new reference for video/audio decoders and splitters, especially for lazy guys like you. :P

ADude
22nd October 2011, 00:43
It's the new reference for video/audio decoders and splitters, especially for lazy guys like you. :P

While I am no less lazy than anyone else ;) , I honestly cannot find any general information on LAV.

And, in this thread on MPC-HC, the relevant information is whether LAV replaces some of the internal features of MPC-HC and whether or not it does them better.

Again, thanks.

SamuriHL
22nd October 2011, 01:27
While I am no less lazy than anyone else ;) , I honestly cannot find any general information on LAV.

And, in this thread on MPC-HC, the relevant information is whether LAV replaces some of the internal features of MPC-HC and whether or not it does them better.

Again, thanks.

While I've switched to a commercial player these days, I still keep MPC-HC around. I build a version with *NO* internal filters at all and only use LAV Filters + madVR. It's a stellar combination.

tetsuo55
22nd October 2011, 01:51
I would like to ask all (potential) developers of MPC-HC to read this: http://itscommonsensestupid.blogspot.com/2008/11/working-effectively-with-legacy-code.html
I think applying the idea's mentioned there could considerably increase the maintainability of MPC-HC at relatively little cost.

ADude
22nd October 2011, 04:49
I build a version with *NO* internal filters at all and only use LAV Filters + madVR. It's a stellar combination.

In what way is it better ?

cez4r
22nd October 2011, 08:15
I honestly cannot find any general information on LAV.

http://forum.doom9.org/showthread.php?t=156191

tetsuo55
22nd October 2011, 08:21
In what way is it better ?If you do not use any of the internal filters it saves a bit of space on the hdd, and it might load a few ms faster on startup.

About LAV. I would explain it as my dream come true. Platform independent libraries wrapped into a directshow filter for video, sound and containers. Thanks to this many bugs and feature requests are shared over many platforms and the chances of any given bug being fixed is far larger.
Because LAV does not suffer from as much legacy stuff as mpc-hc itself its also a little bit faster and the code is far cleaner.

bozek
22nd October 2011, 09:04
It's actually the jumping, the small and medium jumps specifically.

http://forum.doom9.org/showthread.php?p=1516826#post1516826

If I'm not mistaken, then the current (3757) build of MPC-HC BE mod does not suffer from the 'hotkey' issue :)

SamuriHL
22nd October 2011, 13:54
If you do not use any of the internal filters it saves a bit of space on the hdd, and it might load a few ms faster on startup.

About LAV. I would explain it as my dream come true. Platform independent libraries wrapped into a directshow filter for video, sound and containers. Thanks to this many bugs and feature requests are shared over many platforms and the chances of any given bug being fixed is far larger.
Because LAV does not suffer from as much legacy stuff as mpc-hc itself its also a little bit faster and the code is far cleaner.

That right there explains it all. Plus lav is actively developed and nevcairiel, the author, is very responsive. In my case I build mpc-hc without filters because I never use them anyway and it saves me from having to disable them. Next to having lav directly integrated with mpc-hc, it's the best setup imo.

Sent from my Xoom using Tapatalk

CruNcher
22nd October 2011, 14:29
Though its nice to have something to fall back too when lav splitter isnt supporting it or fails with a specific decoder (so in cases currently where there are still bugs and or features missing, or where mpc-hcs splitter still shows better performance) though if you compare it's initial state with it's state now countless bugs where fixed already and it feels rather stable in most cases even parsing the heaviest cases of corruption and strange muxing ;)

Lincoln Burrows
22nd October 2011, 15:28
This issue happened with me yesterday and it was solved when I follow that instruction:

I can't seem to be able to minimize my media player classic. It goes to full screen any time I play any kind of video files. Right click doesn't do anything all I can do is pause and unpase the video using left click.

F11 doesn't do anything neither do alt+1 +2 +3 +4. The only way of closing it is going to task manager and killing the process. This happened to me before. I reinstaled it and it worked for a week, now again.
I don't want to keep reinstaling it, at least I'd like to know what causes this. Does Alt+Enter work? Nope, it makes the default beep sound same as F11 or alt+number. Sometimes MPC turns on Direct3D Fullscreen for no apparent reason. You can turn it off again by going to Options > Output and unchecking D3D Fullscreen. The only difference is that I didn't reinstall, and was only able to go to task manager after I pressed alt + F4 to close MPC-HC.

Before that happens I had to reboot my system, since MPC locked everything.

Since this never happened before, I thought it was some kind of malware. And happened with different videos. Now that I turned off that option, it's fixed.

I am also using EVR Custom Pres. as output and ffdshow Video Decoder.

Do you have any idea why I had this problem? Will it make a difference to let that option always disabled?

Ede_123
22nd October 2011, 19:04
Sorry if this question has allready bee answered but is there a way to play a file in MPC-HC while that is still being written by another application?

Something like a "streaming mode" when a download isn't finished yet or a TV show is recorded by a TV application.

When normally opening such a file MPC only plays the part that is allready present on the disk. It wont play parts that are created while the file is being played in MPC-HC.

ADude
22nd October 2011, 19:50
If you do not use any of the internal filters it saves a bit of space on the hdd, and it might load a few ms faster on startup.

About LAV. I would explain it as my dream come true. Platform independent libraries wrapped into a directshow filter for video, sound and containers. Thanks to this many bugs and feature requests are shared over many platforms and the chances of any given bug being fixed is far larger.
Because LAV does not suffer from as much legacy stuff as mpc-hc itself its also a little bit faster and the code is far cleaner.

All of that sounds of interest to developers and not of interest to people watching videos.

(Which was also my observation about Jan's optimizations of the renderers.)

Both sound like they are very helpful to the overall development effort, but so far have no benefit yet for the video watcher (unlike Beliyaal's and ar-jar's attempts to fix the display of frames relative to each other).

If the above is not true, then I need something more than:

" LAV is great because it is better. "

PS In another major forum's thread on the subject, when another person (like cez4r here) posted the link to that same Doom9 LAV thread, the reply was:

Awesome, another 50+ pages of forum posts to read through!
It would be nice to have the pertinent information parsed down to a usable guide.

nevcairiel
22nd October 2011, 20:07
Honestly, this forum is not the right place for users that just want to download some software (at least i don't view it as that, and the overall contents of the forum tend to agree).

Its a place to discuss the development of those things, talk about new features and report bugs. "Guides" are not found here, you will have more luck on some of those dedicated HTPC guide pages.

LAV actually has a small website of sorts (http://1f0.de), which does list the most important information (its a bit outdated, i didnt add a new section about LAV Video yet) - it does however still assume that you at least know what a DirectShow filter is, and basics like that - if you don't, a automated codec pack installer is probably more suited either way.

Why its better? Maybe i, as the author, shouldn't answer that, but anyway, the important key facts
- Its still under very much active development, unlike ffdshow (which is mostly dead), or MPC-HC (which only gets some very basic fixes)
- Its faster then both ffdshow and MPC-HCs decoders
- Better support for modern formats, like H264 10bit, H264 4:4:4/4:2:2, or even Apple ProRes
- Aimed for high quality without compromise

I can only speak for myself, but i'm a developer, not a guide writer. There are quite alot of people that write guides or bundle well-known filters into packs for users to get. I rather spent my time on improving the software. :)

Spec-Chum
22nd October 2011, 20:50
Wow, I've been away too long! I'd be very interested in helping with LAV nev. Assuming I've not forgot how to program, been a while lol. And assuming you'd have me :)

ADude
22nd October 2011, 20:56
Its a place to discuss the development of those things, talk about new features and report bugs. "Guides" are not found here, you will have more luck on some of those dedicated HTPC guide pages.

Thanks for your reply.

And thanks for volunteering your time to develop software.

I agree with what you have said - but that also means that this thread does include talking about use of MPC-HC, and which splitters, filters and so forth work with it.

Yes, it's true that the newest software is more likely to a) be currently under development, and b) support the most recent file formats, but even with the history of MPC-HC there have been "new" developments and developers that disappeared as quickly as they arrived. So "new" is not automatically better, even though it has those advantages.

Also, AFAIK Haali Splitter is still under development as well.

Anyway, on the other two points:
Its faster then both ffdshow and MPC-HCs decoders Faster in what measurement ?

Aimed for high quality without compromise
Quality of what aspect ? What compromises do other software packages make ?

BTW, the sudden mention of "decoders" and "filters" is another confusing aspect, as all the threads are about the splitter. I assume that somewhere in the 50 pages, someone mentions they have decided to work on filters, and later in the thread, they are released, and so on.

Again, all of this development is a good thing, and it is certainly no surprise that documentation is the weakest aspect. ;)

UPDATE:

LAV actually has a small website of sorts (http://1f0.de)

Actually that site does have some of the information I was requesting, including general goals for each part of the project. As long as the reader understands to go to the bottom and read up to the top (due to the blog format), one can get a better overview.

You should add a link to that web site to the first post of the oft-cited Doom9 thread...

pirlouy
22nd October 2011, 21:11
The thing is, we'll use 2 pages to persuade you, and in some weeks/pages, another casual user will be like you, asking for proofs.

If you want proofs, you can read code source of Open Source projects for example.

If you don't have the skills, then you can do test yourself. And if you still don't want to spend time, then read a lot of pages on this forum.

That's the way it is, and forum will not change because you did a break in reading this forum. :-)

nevcairiel
22nd October 2011, 21:30
BTW, the sudden mention of "decoders" and "filters" is another confusing aspect, as all the threads are about the splitter. I assume that somewhere in the 50 pages, someone mentions they have decided to work on filters, and later in the thread, they are released, and so on

It started out as the splitter, then some time later a audio decoder was added, and just recently a video decoder joined the set.
I admit that the first post does not really reflect that, maybe i should re-write it at some point. :p

The speed i was referring to above was mainly on the decoders, which can easily be measured.