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

ar-jar
9th August 2009, 00:25
AFAIK, for the last seven years, ATI graphics cards do vertical sync to displays, without needing the application to do anything. Evidently, only gamers seem to care about the details, since disabling vsync allows them to get greater performance from the gpu.

Sync to the vertical retrace is a standard feature of DirectX (and, I guess, OpenGL) and is implemented on all modern gfx boards that support DirectX. MPC-HC uses this option for presenting video frames. Unfortunately, if you transfer your new frame to the video memory too close to the vertical retrace, you still get tearing as the memory write seems to "spill over" to the next frame (I have never been able to find any documentation that desribes exactly why this happens). This typically only happens if running the application in windowed mode and is eliminated in "exclusive mode". But exclusive mode has other drawbacks so windowed mode is preferable. Conclusion: even with all the regular sync options in DirectX, implemented in the gfx drivers, you still need to control the timing of the transfer of new frames from the "CPU memory" to the video memory to avoid tearing. -A
PS. Gamers often turn off the sync as it effectively limits the frame rate to the display refresh rate. They think tearing is an ok price to pay for a higher (perceived) fps.

ADude
9th August 2009, 02:26
This typically only happens if running the application in windowed mode and is eliminated in "exclusive mode". But exclusive mode has other drawbacks so windowed mode is preferable.
So you are saying that the graphics card vsync is sufficient unless you are using windowed mode.
This would explain why I never encounter tearing, because I never use windowed mode.

If I am watching a video, that is the only thing that I am doing - I am not watching a video while typing a novel at the same time.

So, in MPC-HC, I always have checked "launch files in fullscreen". I use this and leave "Direct3d Fullscreen" unchecked (to avoid the drawbacks of exclusive mode).

tetsuo55
9th August 2009, 07:04
So you are saying that the graphics card vsync is sufficient unless you are using windowed mode.
This would explain why I never encounter tearing, because I never use windowed mode.

If I am watching a video, that is the only thing that I am doing - I am not watching a video while typing a novel at the same time.

So, in MPC-HC, I always have checked "launch files in fullscreen". I use this and leave "Direct3d Fullscreen" unchecked (to avoid the drawbacks of exclusive mode).On my old HTPC i would still get tearing with those options :(

ar-jar
9th August 2009, 07:59
So you are saying that the graphics card vsync is sufficient unless you are using windowed mode.
This would explain why I never encounter tearing, because I never use windowed mode.

Having failed to find any documentation pertaining to this and having tried only a few gfx boards, I don't want to generalize too much, but in my experience, exclusive mode has been the only way to *totally* avoid tearing *if* you don't control the timing of transferring new frames to the video memory. I get a little tearing in windowed mode when the timing of presenting new frames is the worst possible i.e. right before the vertical retrace. (And maybe you do too if you look really carefully :-)) With proper timing, i never get tearing in any mode. -A

THX-UltraII
9th August 2009, 09:24
is it possible to make a .srt subtitle file work with a .mkv file in MPC-HC? If so, how to?

I already have Haali Media Splitter running but I cannot select the .srt file while my .mkv is running.

St Devious
9th August 2009, 14:25
is it possible to make a .srt subtitle file work with a .mkv file in MPC-HC? If so, how to?

I already have Haali Media Splitter running but I cannot select the .srt file while my .mkv is running.

just drag it to the window.

Pr3d
9th August 2009, 15:09
Just for info, are Blu Ray movies on MPCHC DXVA compatible?
Because if i try to play a BD i cannot use DXVA...

tetsuo55
9th August 2009, 15:17
Just for info, are Blu Ray movies on MPCHC DXVA compatible?
Because if i try to play a BD i cannot use DXVA...Please follow the steps outlined in my signature.

Jong
9th August 2009, 15:55
Gamers often turn off the sync as it effectively limits the frame rate to the display refresh rate. They think tearing is an ok price to pay for a higher (perceived) fps.A bit OT, but its worse than that. If the game is capable of generating frames quicker than the refresh rate then the frame rate is limited to the refresh rate. But as soon as the game's possible frame rate drops below the refresh rate (in a tough, complex scene) the frame rate drops to HALF the refresh rate, which with a 60Hz monitor is 30fps - too slow for many gamers in many games.

Shakey_Jake33
9th August 2009, 16:39
^Not to mention the problem of input lag with Vsync enabled. A gamer would only enable Vsync if the tearing was insane, and even then you can normally reduce the tearing by capping the fps at 60, 59, 58, 61 etc. depending on your display.

JonasNo
10th August 2009, 03:16
Before making suggestions like this you might in the future want to investigate what MPC already does. It already contains such optimizations in its FFmpeg based decoders.

Well as i said i haven't been through all the code yet. ( a lot of code, little free time )
And that part is one that i haven't been through properly yet.

I didn't mean it to sound as a suggestion, it was more of an explanation to the non-programming users and the new programmers out there.

Hope that clears things up

CruNcher
10th August 2009, 08:24
@Casimir
will the problem with the "non clean termination" of MPC-HC ever be fixed i often have 1 ghost instance of it in my proccess list that also blocks most of the times ffdshow, i also read that many seem to have this instability problem (Winxp SP3 here) and this seems to exist for a long long time i allways ignored it killing this 1 instance manualy that didn't terminated itself properly, i wouldn't say it's a showstoper but it's quiet anoying anyways :( as you would expect it to terminate itself in a clean way closing all it's handles.

stax76
10th August 2009, 08:47
Is it known what causes the non clean termination? Subtitles maybe?

Aleksoid1978
10th August 2009, 09:47
bug report:
it's just terrible:
sa mpchc h.263 decoder (v1179) always drops from to 10, when the video spec is:

Format : Flash Video
File size : 3.89 MiB
Duration : 1mn 40s
Overall bit rate : 324 Kbps
Encoded date : unknown
Tagged date : UTC 2006-08-28 01:32:30
Tagging application : Manitu Group FLV MetaData Injector 2
xtradata : Fob Hunter
Video
Format : H.263
Duration : 1mn 40s
Bit rate : 255 Kbps
Width : 320 pixels
Height : 240 pixels
Display aspect ratio : 4:3
Frame rate : 25.000 fps
Bits/(Pixel*Frame) : 0.133
Stream size : 3.06 MiB (79%)

Link to download ???

tetsuo55
10th August 2009, 10:02
@Casimir
will the problem with the "non clean termination" of MPC-HC ever be fixed i often have 1 ghost instance of it in my proccess list that also blocks most of the times ffdshow, i also read that many seem to have this instability problem (Winxp SP3 here) and this seems to exist for a long long time i allways ignored it killing this 1 instance manualy that didn't terminated itself properly, i wouldn't say it's a showstoper but it's quiet anoying anyways :( as you would expect it to terminate itself in a clean way closing all it's handles.are you using winamp plugins?
I never have this problem but i only use mpc-hc and ffdshow and nothing else.

leeperry
10th August 2009, 11:57
oh yes, please let us know what infos you need to fix this bug :(

would ProcessExplorer logs do? it's definitely related to ffdshow(possibly the Avisynth filter), apparently some threads are not killed properly when MPC closes up...so it stays as a system process(I also run XP SP3)

sometimes I had like 10 of them! maybe you could simply kill the process the hard way...or at least offer an option to do so in the options :)

Piyoko
10th August 2009, 12:30
Hello,

Is someone still working on the LPCM mono issue? Do you need samples?

In 1.2.908.0 playing the m2ts files from Criterion Blu-rays with LPCM mono causes slow playback and garbled audio. After 1137 the garbled audio is fixed but everything is still playing at 50% speed.

tetsuo55
10th August 2009, 12:49
oh yes, please let us know what infos you need to fix this bug :(

would ProcessExplorer logs do? it's definitely related to ffdshow(possibly the Avisynth filter), apparently some threads are not killed properly when MPC closes up...so it stays as a system process(I also run XP SP3)

sometimes I had like 10 of them! maybe you could simply kill the process the hard way...or at least offer an option to do so in the options :)Please tell me exactly how to reproduceHello,

Is someone still working on the LPCM mono issue? Do you need samples?

In 1.2.908.0 playing the m2ts files from Criterion Blu-rays with LPCM mono causes slow playback and garbled audio. After 1137 the garbled audio is fixed but everything is still playing at 50% speed.Samples please

_xxl
10th August 2009, 12:54
MPC-HC x86 r.1212:
http://www.dump.ro/fisiere/mplayerc-rar/135185/1wu0NUS7ayPU9TCy

Piyoko
10th August 2009, 13:08
Samples please

Here are two samples:

http://www.mediafire.com/?nedy2ydd1tu
http://www.mediafire.com/?jjmyemjedf2

rep.m2ts should have a 24-bit LPCM mono track, and wag.m2ts should have a 16-bit one. Both play at 12fps instead of 24fps in MPC-HC. If I disable the internal MPEG PS/TS/PVA source filter and use the Haali splitter instead, the files play at full speed, but no audio is recognised at all.

leeperry
10th August 2009, 17:46
Please tell me exactly how to reproduceSamples please
I'm afraid it's a very random problem...but it never happens w/ KMP. it happens both w/ audio and video files...and it seems related to ffdshow.

if you could just add an option to do a more agressive process killing when closing MPC, that would do I think :)

actually a friend of mine(Seb.26) made me a small helper, that will "process -k mplayerc.exe" when closed down...but well, it's still annoying coz it increases the loading time(which is so fast in MPC that I don't wanna ruin it :D)

maybe CrunCher will have better directions to offer.

tetsuo55
10th August 2009, 18:22
like i said, this never happens on my system with plain mpc-hc and ffdshow.

Lets hope CruNcher can explain how to reproduce it.

Leak
10th August 2009, 19:50
like i said, this never happens on my system with plain mpc-hc and ffdshow.

Lets hope CruNcher can explain how to reproduce it.
I dimly remember having had a zombie MPC process at work time and again after using MediaPlayerConnectivity to open some random video files off the web in MPC... but that's about it; I only noticed Windows wanting to terminate it when logging of at the end of the day...

np: Death Cab For Cutie - Sweet And Tender Hooligan (Live) (Live At The Crocodile Cafe 25.02.1998)

clsid
10th August 2009, 21:39
It would be useful if the devs could add more debug prints to MPC at strategic places in the code. Now it mostly only prints info in the filter manager code.

Then we can make a public debug build for those who suffer from stability problems. Users can easily log the debug output with the DebugView tool:
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx

Pr3d
10th August 2009, 22:44
Please follow the steps outlined in my signature.

I was just wondering if the DXVA is a supported feature with BD movie on mpchc because i tried on another pc (not mine) and it doesnt work.
I dont have BD drive on my own pc so i cannot check and post a feedback.

tetsuo55
11th August 2009, 06:47
I was just wondering if the DXVA is a supported feature with BD movie on mpchc because i tried on another pc (not mine) and it doesnt work.
I dont have BD drive on my own pc so i cannot check and post a feedback.You have to use a tool like anydvd to decrypt the disk first.

tetsuo55
11th August 2009, 06:52
Microsoft made a page on MSDN explaining the bitstreaming of all supported audio formats over HDMI, Displayport and Spdif(on a different page).

Every bitstreamable format is explained on that this page except for 1, DTS-HD.

http://msdn.microsoft.com/en-us/library/dd316761(VS.85).aspx

Anyone interested in enabling bitstreaming for all these formats in MPC-HC?

CruNcher
11th August 2009, 08:21
like i said, this never happens on my system with plain mpc-hc and ffdshow.

Lets hope CruNcher can explain how to reproduce it.

I gonna try to reproduce exactly why it happens but im pretty sure it has todo with the combination of multiple MPC-HC loaded and useing them in the same time with ffdshow, closing and reopening videos via drag & drop and somehow when you close all the open MPC Windows then it often happens that 1 instance stays without a window open (whyever that is).

stax76
11th August 2009, 12:10
That would explain why I never experienced it because I use single instance mode.

leeperry
11th August 2009, 12:18
so did I, it's just that if you open many files in a row....this will happen.

it's so damn annoying, because when it happens w/ video files then it makes the system sluggish and laggy.

Aleksoid1978
11th August 2009, 23:12
rev 1216:
http://aleksoid.tosei.ru/Dist/MPCHC_1216_x86.7z
http://aleksoid.tosei.ru/Dist/MPCHC_1216_x64.7z
standalone filters:
http://aleksoid.tosei.ru/Dist/Filters/mpc_filters_1216_x86.7z
http://aleksoid.tosei.ru/Dist/Filters/mpc_filters_1216_x64.7z

roytam1
12th August 2009, 08:30
rev 1216:
http://aleksoid.tosei.ru/Dist/MPCHC_1216_x86.7z
http://aleksoid.tosei.ru/Dist/MPCHC_1216_x64.7z
standalone filters:
http://aleksoid.tosei.ru/Dist/Filters/mpc_filters_1216_x86.7z
http://aleksoid.tosei.ru/Dist/Filters/mpc_filters_1216_x64.7z

You missed the VSFilter.dll in the standalone filters.;)

Aleksoid1978
12th August 2009, 09:20
You missed the VSFilter.dll in the standalone filters.;)

Maybe :)

goldie
12th August 2009, 09:22
rev 1216:
http://aleksoid.tosei.ru/Dist/MPCHC_1216_x86.7z
...
Thanks for your update!:)

ryrynz
12th August 2009, 13:06
Thanks, Xvidvideo.ru hasn't updated in ages.

starla_
12th August 2009, 15:00
But exclusive mode has other drawbacks so windowed mode is preferable. Conclusion: even with all the regular sync options in DirectX, implemented in the gfx drivers, you still need to control the timing of the transfer of new frames from the "CPU memory" to the video memory to avoid tearing.

Actually with EVR (with Vista) and DirectX even in the windowed mode you don't need to care about the tearing. With AERO enabled (DWM - Desktop Window Manager) the v-sync handling is done by DirectX, even when in windowed mode (this is how it is done with MediaPortal).

Where as with DirectX and VMR9 non-exclusive mode there is no mechanism in the OS itself (nor in DirectX) that would allow the application to rely on for the v-sync (i.e. application itself is responsible for the v-sync matching).

/ tourettes, MediaPortal developer

rack04
12th August 2009, 15:05
Thanks, Xvidvideo.ru hasn't updated in ages.

Maybe you didn't see this note?

From 23 July to 23 August 2009, the site will not be updated!

tetsuo55
12th August 2009, 15:10
Actually with EVR (with Vista) and DirectX even in the windowed mode you don't need to care about the tearing. With AERO enabled (DWM - Desktop Window Manager) the v-sync handling is done by DirectX, even when in windowed mode (this is how it is done with MediaPortal).

Where as with DirectX and VMR9 non-exclusive mode there is no mechanism in the OS itself (nor in DirectX) that would allow the application to rely on for the v-sync (i.e. application itself is responsible for the v-sync matching).

/ tourettes, MediaPortal developerFor some reason, aero causes massive extra tearing on some systems, without ar-jars new code.

ADude
12th August 2009, 18:22
Does ar-jar's new code have a setting that turns off all of MPC-HC's application-level syncing and allows the default graphics card syncing to occur ?

If not, that would be helpful for a) situations where that produces the best results, and b) testing of MPC-HC's sync code - i.e. you would have a scientific "control" to compare with.

tetsuo55
12th August 2009, 18:25
Disable all 3 sync options (only 1 can be active at the time)
So uncheck present close to vsync and you'll mpc is free to do whatever.

You will never get a better result though, vsync doesn't know anything about the actually video refreshrate. Various glitches will occur ever X timeunits of playtime. (the present close to vsync code minimised these glitches by slightly adjusting present timing)

Tiduz
12th August 2009, 20:12
nvm fixed it

tetsuo55
12th August 2009, 20:13
When i try to run TP files it uses Microsoft MPEG-2 Video Decoder and my CPU usage goes trough the roof, i cant find MPC Video Decoder in my filter list for some strange reason either :(

How do i get it to only use MPC Video decoder? That works best from my expierence

i already blocked FFDShow

follow the steps in my signature

Aleksoid1978
12th August 2009, 23:33
rev. 1223:
http://aleksoid.tosei.ru/Dist/MPCHC_1223_x86.7z
http://aleksoid.tosei.ru/Dist/MPCHC_1223_x64.7z

changelog:
Fix : crash in DXVA, enable 14 ref frames for XP
Fix : DTS bugs

gngn
13th August 2009, 00:32
also, the 1920x1080/60p MP4 AVC files posted here on doom9 (http://forum.doom9.org/showthread.php?p=1266709#post1266709) will crash MPC-HC (if using Haali as splitter, with internal .mp4 splitter MPC-HC doesnt crash but black screen. audio works)

problem solved, but still black screen if internal .mp4 splitter is used.

the MediaInfo.dll support is a nice addition.
others using Nvidia+XP should test the newly introduced 14 ReFrames limitation and post the results.

Mangix
13th August 2009, 01:44
i'm using nvidia+xp. any samples i can use to test?

Aleksoid1978
13th August 2009, 03:08
i'm using nvidia+xp. any samples i can use to test?

Made self :) ,use MeGui

gngn
13th August 2009, 03:26
Made self :) ,use MeGui

yes, that would be best, instead of everyone using the same samples :p

you can download some of the samples i've been using (12 to 15 Reframes, no B-Pyramid):

http://rapidshare.com/files/266773944/Utawarerumono_OP_-001_12ReF.mkv
http://rapidshare.com/files/266774673/Utawarerumono_OP_-001_13Ref.mkv
http://rapidshare.com/files/266775623/Utawarerumono_OP_-001_14ReF.mkv
http://rapidshare.com/files/266776384/Utawarerumono_OP_-001_15ReF.mkv

a 16 ReFrames video here (http://files.getdropbox.com/u/132004/Planet_Earth_From%20Pole_to_Pole_1080p_sample_16ref.mkv)

Aleksoid1978
13th August 2009, 04:04
720p, 14 ReFrames sample - http://aleksoid.tosei.ru/Sample/test.mkv, short

Mangix
13th August 2009, 05:39
can't seem to get DXVA to get working on that sample. CoreAVC(CUDA) works fine though.

edit: false reading. i forgot to update MPC. both 14ref samples work just fine.

btw, what's the ref limit on nvidia cards? the 16ref sample doesn't work with CoreAVC(CUDA) or DXVA.

edit2: 15ref works with CUDA.

Aleksoid1978
13th August 2009, 06:06
can't seem to get DXVA to get working on that sample. CoreAVC(CUDA) works fine though.

edit: false reading. i forgot to update MPC. both 14ref samples work just fine.

btw, what's the ref limit on nvidia cards? the 16ref sample doesn't work with CoreAVC(CUDA) or DXVA. I'm guessing 14?

16 ref work in Vista and only in FULLHD video. In other video sometimes work, sometimes - don't work;