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

DigitalLF
20th January 2010, 02:39
<personal experience> just one little thing about the "autochange" function.... it tries to load the movie to fast.... HDMI/HDCP takes longer then that so if there would be a SLEEP like 5 sec before trying to start the movie then it would be perfect... i would need this so i can use this "autochange" with MadVR</personal experience>

HowlerX
20th January 2010, 07:37
Using build 1529. Subtitles don't load when using Haali Renderer anymore.

namaiki
20th January 2010, 08:43
Using build 1529. Subtitles don't load when using Haali Renderer anymore.

Are you using the internal subtitle renderer (ie auto-load subtitles) or an external filter?

_xxl
20th January 2010, 10:21
@XPC I use for x64 builds MinGW GCC 4.4.1.
http://sourceforge.net/projects/mingw-w64/files/

XhmikosR
20th January 2010, 10:37
_xxl: the problem is that mingw needs to be compiled with -fno-leading-underscore, in order for libmingwex.a to work for MPC-HC-x64. That's why XPC's getting those warnings when linking the x64 build.

XPC, try the buildffmpeg.sh. It is supposed to download mingw and compile it with-fno-leading-underscore. If you are too lazy or the aforementioned bash script doesn't work for you, like in my case, then you try this libmingwex.a (http://mpc-hc.svn.sourceforge.net/viewvc/mpc-hc/trunk/lib64/libmingwex.a?revision=1510&pathrev=1510) and place it in the lib64 folder.

Using build 1529. Subtitles don't load when using Haali Renderer anymore.

Cannot reproduce. Using the latest revision, subtitles work as expected with Haali renderer.

HowlerX
20th January 2010, 11:47
Are you using the internal subtitle renderer (ie auto-load subtitles) or an external filter?

Internal subtitle renderer. Weird. It's working now (with Haali renderer). I didn't even reboot my PC or anything. I kept restarting MPC and re-loading the video+srt file and it wouldn't load the subtitle. But now it's working. I just finished watching the video with EVR renderer because that worked.

f_carone
20th January 2010, 13:04
auto change fullscreen resolution for different video content is great, but when changing video refresh, screen appears black.
build 1529...

Try again with external filter (CoreAVC + Haali render) works correctly.
With DXVA / internal filter don't works.

FDisk80
20th January 2010, 14:08
Can someone please help me find "RARFileSource" for "MPC-HC 64-Bit" that can open large files. The one that was posted here before cannot open larger 1080p files :confused:

Thanks guys.

owais
20th January 2010, 14:22
can anyone tell me which output video renderer is best ? is VMR(renderless) great? what about ffdshow?

XhmikosR
20th January 2010, 14:56
Can someone please help me find "RARFileSource" for "MPC-HC 64-Bit" that can open large files. The one that was posted here before cannot open larger 1080p files :confused:

Thanks guys.

The only RARFileSource available is this (http://forum.doom9.org/showthread.php?t=142984) one. squid_80 has posted a x64 build at this topic. You can find it here (http://members.optusnet.com.au/squid_80/RARFileSource.ax). Not sure if it's the latest version though.

FDisk80
20th January 2010, 15:00
can anyone tell me which output video renderer is best ? is VMR(renderless) great? what about ffdshow?

EVR Custom Pres. For Proper DXVA on Windows 7

FDisk80
20th January 2010, 15:01
The only RARFileSource available is this (http://forum.doom9.org/showthread.php?t=142984) one. squid_80 has posted a x64 build at this topic. You can find it here (http://members.optusnet.com.au/squid_80/RARFileSource.ax). Not sure if it's the latest version though.

Thank you, will try as soon as I get home :thanks: But I think this is the one I'm using now. The one that has trouble with large files. :(

clsid
20th January 2010, 16:32
@Aleksoid
The DXVA compatibility check option that you have added has no default value, so it shows a blank selection when people first open the options dialog.
Also, could you remove code that is no longer used instead of commenting it out? That keeps the code cleaner. Old code can always be retrieved through the SVN history when needed.

NanoBot
20th January 2010, 21:03
Two remarks concerning the "Autochange fullscreen monitor mode" feature:

1. The feature is still not working if the D3D fullscreen mode is enabled
2. I think that two additional content frequency lines are needed, that's 50Hz and 60Hz. Those lines are necessary for content recorded from DVB in 720p50 or 720p60.

Until then, thanks again to the developers for their continuing efforts to improve MPC-HC.

C.U. NanoBot

Aleksoid1978
20th January 2010, 22:09
@Aleksoid
The DXVA compatibility check option that you have added has no default value, so it shows a blank selection when people first open the options dialog.


Screenshot please.

ar-jar
20th January 2010, 22:46
You are right there is a threading problem in the surface creation/destruction, but we have to find another way and keep the worker thread loading.

So what about managing the destruction and re-creation of surfaces according to the pattern used for OpenMedia? That way the D3D resources would be managed over their lifetime on the same thread that they were initially created on. This would require adding a few handlers to the graph thread. -A

clsid
20th January 2010, 22:55
Screenshot please.
Dropdown box with empty selection.

ar-jar
20th January 2010, 23:14
So what about managing the destruction and re-creation of surfaces according to the pattern used for OpenMedia? That way the D3D resources would be managed over their lifetime on the same thread that they were initially created on. This would require adding a few handlers to the graph thread. -A

I'm trying to move this discussion to the developers' forum at SF (https://sourceforge.net/apps/phpbb/mpc-hc/viewforum.php?f=2) not to mix it up with the (mostly) user-focused issues on this forum. What say you all devs: can we start discussing development issues like refactoring, architecture, priorities etc over there? -A

Aleksoid1978
21st January 2010, 04:03
Dropdown box with empty selection.

Can you make screenshot with empty selection, i can't reproduce.

XPC
21st January 2010, 09:39
_xxl: the problem is that mingw needs to be compiled with -fno-leading-underscore, in order for libmingwex.a to work for MPC-HC-x64. That's why XPC's getting those warnings when linking the x64 build.

XPC, try the buildffmpeg.sh. It is supposed to download mingw and compile it with-fno-leading-underscore. If you are too lazy or the aforementioned bash script doesn't work for you, like in my case, then you try this libmingwex.a (http://mpc-hc.svn.sourceforge.net/viewvc/mpc-hc/trunk/lib64/libmingwex.a?revision=1510&pathrev=1510) and place it in the lib64 folder.


Xhmikos,
After running buildffmpeg.sh script I got libmingwex.a but I was still getting one unresolved external error:
>MPCVideoDecRU.lib(lib64_libmingwex_a-delayimp.o) : error LNK2019: unresolved external symbol __image_base__ referenced in function __delayLoadHelper2

After that, I tried with the libmingwex.a from your link and everything was fine. Not sure what was wrong though.

_xxl and Xhmikos, thanks for your support!

Xavier

Ger
21st January 2010, 12:22
Can you make screenshot with empty selection, i can't reproduce.

Looks normal here as well. "Full check" was correctly selected by default the first time I accessed the decoder properties in a build with this feature implemented. Using Win7 x64 and build 1539 (x86).

alexins
21st January 2010, 16:25
Xhmikos,
After running buildffmpeg.sh script I got libmingwex.a but I was still getting one unresolved external error:
>MPCVideoDecRU.lib(lib64_libmingwex_a-delayimp.o) : error LNK2019: unresolved external symbol __image_base__ referenced in function __delayLoadHelper2

After that, I tried with the libmingwex.a from your link and everything was fine. Not sure what was wrong though.

_xxl and Xhmikos, thanks for your support!

Xavier
Apply the patch to the file:
\src\filters\transform\mpcvideodec\ffmpeg_x64\build\mingw\mingw-w64-crt\misc\delayimp.c
Index: mingw-w64-crt/misc/delayimp.c
===================================================================
--- mingw-w64-crt/misc/delayimp.c (revision 1761)
+++ mingw-w64-crt/misc/delayimp.c (working copy)
@@ -47,7 +47,7 @@
return (unsigned) (pitdCur - pitdBase);
}

-#define __ImageBase __MINGW_LSYMBOL(_image_base__)
+//#define __ImageBase __MINGW_LSYMBOL(_image_base__)
extern IMAGE_DOS_HEADER __ImageBase;

#define PtrFromRVA(RVA) (((PBYTE)&__ImageBase) + (RVA))

XPC
21st January 2010, 18:08
Alexins,

After aplying your patch everything works fine. Thanks!

mark0077
21st January 2010, 19:13
Wow with version 1540, going in and out of fullscreen a few times, mpc-hc suddenly starts dropping every frame. Well maybe 99 out of 100. I see one frame every 2 or 3 seconds.

Something seriously broken here.

rpm7200
21st January 2010, 19:15
can anybody add to mpc 24 to 60fps conversion? is it possible? it will be great for me. splash player pro support it.

tetsuo55
21st January 2010, 20:08
that splash player looks very good.

Thats definately the direction we are taking mpc-hc in (without the different and payed versions)

more info on it here: http://forum.doom9.org/showthread.php?t=146105

mark0077
21st January 2010, 21:18
I just seeked about 30 mins forward in a mkv (mpeg2 within mkv) and my god it took about 5 mins to get there :) Then I saw a few hundred frames flash past, as if mpc-hc actually decoded the full 30 mins, then shot through all of the frames..... Not using any non default mkv paramaters. All mpc-hc defaults.

EDIT: It was the mkv splitter.

Audio / Video Sync
I am just wondering can some of you give some comments on audio / video sync. should red and green line be literally on top of eachother to get perfect sync? Here is my problem. I have a core i7 at about 3.9ghz, gtx 295, display and playback rate of 23.976, yet my audio / video sync is 30-40ms off. Why is this? See graph below. Maybe ar-jar can figure it out, as it happens in synchrenderer also.

http://img685.imageshack.us/img685/3817/syncproblem.th.jpg (http://img685.imageshack.us/i/syncproblem.jpg/)

Also evr-cp and ar-jar's renderer show input to the renderer as NV12, even though I have always sent RGB32 only into the renderers :) Silly old bug :P

Runtime Error.
I got this twice today, playing this star trek blu-ray .m2ts file from hdd. It happens within the first minute of the clip if I do anything strenuous that causes dropped frames. Suddenly audio stops (ffdshow info shows nothing coming in), and 30 seconds later i see

ar-jar
22nd January 2010, 00:10
Audio / Video Sync
I am just wondering can some of you give some comments on audio / video sync. should red and green line be literally on top of eachother to get perfect sync? Here is my problem. I have a core i7 at about 3.9ghz, gtx 295, display and playback rate of 23.976, yet my audio / video sync is 30-40ms off. Why is this? See graph below. Maybe ar-jar can figure it out, as it happens in synchrenderer also.


In sync renderer there is probably some mismatch between audio and video in that order of magnitude. I haven't bothered to tune the renderer wrt to that yet. (I don't think I actually notice a mismatch of 1 or 2 frames.) The green and the red line don't have much to do with it though. They both concern video timing. See my blog. -A

mark0077
22nd January 2010, 00:15
In sync renderer there is probably some mismatch between audio and video in that order of magnitude. I haven't bothered to tune the renderer wrt to that yet. (I don't think I actually notice a mismatch of 1 or 2 frames.) The green and the red line don't have much to do with it though. They both concern video timing. See my blog. -A

OK Thanks ar-jar. I now understand green and red distance from eachother isn't a good representation of sync of audio to video.

Yeah I suppose one frame, could be 41ms off sync which can be noticible. I know my TV has a delay of about 60ms so I have set audio delay to be 60ms in mpc-hc to counteract that, but of course I can't be sure I will really get synced audio to video because of probably...

1) evr-cp and syncrenderer, arn't tuned in this area yet, to aim for 0ms difference between audio / video?
2) I am not sure if either renderer above takes into account the video delay added by having aero enabled (ie adds the same audio delay internally), or if that would even be an issue for a renderer.

ADude
22nd January 2010, 01:13
NEW : auto change fullscreen resolution for different video content; add fullscreen Option page;

Can someone explain exactly what this is for ?

Thanks !

Snowknight26
22nd January 2010, 02:30
It's pretty self explanatory. Have you checked the new options page?

X-Dron
22nd January 2010, 08:35
I am an autor of the idea and code, so here is my answer. :)


1) It doesn't detect rate changes during playback. IE playing 25fps pal material using reclock, slows the content to 24fps. But mpc-hc doesn't detect the slowdown, so it sets my display to 50hz rather than 23 hz.... A possible improvement I guess, to use fullscreen change resolution logic on rate change, not just on file load?

EDIT: actually playing 25fps content on 50hz, and loading 23.976 file, mpc-hc doesn't change my refresh rate. Strangely exiting mpc-hc, then causes mpc-hc to switch my display to 23.976 mode. It means mpc-hc could possibly change the resolution 2 hours too late :P Unfortunately ar-jar's renderer doesn't seem to detect rate changes full stop. I will switch to his renderer as soon as this is implemented, but both evr-cp and synchrenderer have the above problem.
The display mode autochange based on information from PinInfo.
MediaFPS = 10000000.0 / m_rtTimePerFrame
Value of m_rtTimePerFrame from PinInfo is a constant for every file. Therefore, changing takes place once on a file loading. Autochange really does not work correctly with reclock and slowdown. It is done to abandon reclock. :)


2) Another niggle, with all of the options in "Fullscreen" enabled, coming out of fullscreen mode leaves me with a teeny weeny window. I have set "Zoom" to Auto Fit, but it gets disabled the next time I load a file, leaving me again with tiny window when I come out of fullscreen mode.
Fixed in Rev. 1540.


3) Even if I disable, "Apply default monitor mode on fullscreen exit", mpc-hc on close, is reverting to the refresh rate that I went into it at. This is now what I want. I want it to exit and touch nothing. I can't find a way to stop it doing this on exit.
Known issue, but I can not solve it now.
App saves monitor mode at start and revertes it on exit. Where is it written, I do not know. Function SetDispMode() in this case is not called. :( I tried to trace where this happens. Traces lead to the VS-library.
I asked for help from Alexoid, but he has no time now.


GUI Enhancement: I would have loved a setting like below, as a slight tweak to whats already there. Basically all of the existing rates, plus the doubles of them (when de-interlacing content to double frame rates).

23.50 - 24.00 - 1920 x 1080 @ 23Hz
24.50 - 25.00Hz - 1920 x 1080 @ 50Hz
29.50 - 30.00Hz - 1920 x 1080 @ 59Hz
47.50 - 48.00Hz - 1920 x 1080 @ 48Hz
49.50 - 50.00Hz - 1920 x 1080 @ 50Hz
29.50 - 60.00Hz - 1920 x 1080 @ 60Hz

Other - 1920 x 1080 @ 50hz
Desktop - 1920 x 1080 @ 60hz

"Apply desktop monitor mode on fullscreen exit"
"Apply desktop monitor mode on mpc-hc exit"

a. You have overlap. 29.50-30.00, 47.50-48.00, 49.50-50.00 are inside 29.50-60.00. Or is it a misprint?
b. Interlaced content has MediaFPS=23.98, 25.00, 29.98 and relevant m_rtTimePerFrame in PinInfo.With existing algorithm for MediaFPS calculating new items are meaningless.
c. "Desktop - 1920 x 1080 @ 60hz" and "Apply desktop monitor mode on mpc-hc exit" can't be implemented until item 3 not fixed.

mark0077
22nd January 2010, 09:39
Yeah 29.50 - 60.0 is a misprint ;) looking forward to future versions. Not handling speed changes frm external software like double frame rate deinterlacers or pal speed down is a deal breaker fr me but great work so far

however things like the renderers know exactly the rate of movie playback in these cases. I am sure it wouldn't be a big deal to use that same info rather than just the fps read from the file.

Other people use tools like ffdshow / avisynch, with features that double / triple frame rate etc. I think mpc-hc should use the frame rate input that the renderers use, rather than just the simple frame rate found in the file. This is much more robust, and the proper way to go.

betaking
22nd January 2010, 10:37
Can you make screenshot with empty selection, i can't reproduce.

New features Request
can you add this words for strings?
Front Left
Front Right
Front Center
Low Frequency
Back Left
Back Right
Front Left of Center
Front Right of Center
Back Center
Side Left
Side Right"
Top Center
Top Front Left
Top Front Center"
Top Front Right
Top Back Left
Top Back Center
Top Back Right
Author unknown. Contact me if you made this logo!

Vovanchik
22nd January 2010, 13:11
can anybody add to mpc 24 to 60fps conversion? is it possible?
http://forum.doom9.org/showpost.php?p=1365058&postcount=11393

DigitalDeviant
22nd January 2010, 14:04
http://forum.doom9.org/showpost.php?p=1365058&postcount=11393

No offense, but not a lot of people here are going to download and run an executable from an unknown source and I am unable to extract anything from the installer without running it. Can you post a simple archive file.

Peuj
22nd January 2010, 14:44
http://forum.doom9.org/showpost.php?p=1365058&postcount=11393

Really nice tool, thanks for the info. I like the "demonstration mode" idea. :)
Stupid question but why there is no option to choose the fps final conversion? Why only convert to 60fps?
>> Edit: Found the answer myself, we can define a profile.

No offense, but not a lot of people here are going to download and run an executable from an unknown source and I am unable to extract anything from the installer without running it. Can you post a simple archive file.

Same feeling but too curious. :)

namaiki
22nd January 2010, 14:54
I'm a little (very) confused..

Might I still need this 'Smooth video pack' if I'm already running ReClock?

Peuj
22nd January 2010, 16:00
Don't know but an old Reclock version (1.8.4.8) is delivered with the "Smooth video pack"

namaiki
22nd January 2010, 16:43
I see... Did a bit of Googling.

What Smooth Video Pack doing is upping the frame rate(to 2x, 3x, 4x, refresh rate) of the video and 'creating' intermediate frames (ie in 2x, it inserts a frame in-between every frame of the video that is the middle of the previous and next actual frame to make it look smoother).

Nothing to do with ReClock.

By the way, anyone who wants to use Smooth Video Pack is going to need a Core 2 Quad or an i7 (in terms of Intel processors). :p

My laptop/computer is too slow for 'Quality' mode and 'Quick' or was it 'Fast' mode gives some artifacts in video(only in the created intermediate frames of course) from guessing too much.

I think these intermediate frames are very good for anime watching.. haha. I'm not kidding, though. This will stay on my system for a little while at least.

DigitalDeviant
22nd January 2010, 18:10
I'm starting to wonder if there isn't a lot of potential license violations with this.

v0lt
22nd January 2010, 18:26
Google translate:
When I click "Stop" frame is not cleared and it looks as if pressed pause, while the slider correctly goes to the beginning. And if I then increase the size of the window, the frame is not be redrawn and will appear black stripes. Awful. IMHO the command "Stop" to do clean-up frame. Right?
http://img686.imageshack.us/img686/4890/capturebj.th.png (http://img686.imageshack.us/img686/4890/capturebj.png)
System Default - bug
Old Renderer - bug
Ovelay Mixer - bug
WMR7 (windowed) - bug
WMR9 (windowed) - bug
WMR7 (renderless) - normal, but doubled
WMR9 (renderless) - normal
EVR - normal
EVR Custom Pres. - normal
madVR - bug
EVR Sync - normal

namaiki
22nd January 2010, 18:32
On Vista/W7, you should try stick with any of EVR.

v0lt
22nd January 2010, 18:42
On Vista/W7, you should try stick with any of EVR.
Google translate:
Bug is a bug. I also noticed that in debug mode bug no.

namaiki
22nd January 2010, 18:47
Might have something to do with overlay.

vio_man
23rd January 2010, 01:07
Starting build 1503 I always get double video on every file I've tried, using EVR under Windows 7 x64. Build 1489 is the last one working properly for me.

sneaker_ger
23rd January 2010, 02:02
Known bug. Use external filters, a different renderer or an old version for now (until it's fixed).

JohnLai
23rd January 2010, 04:29
Few question here, I have one sample of Pro Logic II in wav format which i got from here http://www.kellyindustries.com/sounds.html . I prefer ffdshow audio decoder to do the job using its own dolby decoder. However, MPC doesn't connect to the ffdshow audio decoder at all and instead only display "Wave Parser", "MPC Audio Renderer" and the file location at the filters section. All MPC internal filters has been unchecked including the audio switcher. I already set up the ffdshow audio decoder to decode all supported on "uncompressed". When I test the sample using Windows Media Player, it successfully connect to ffdshow. Any help on how am i suppose to get MPC to use ffdshow to decode the sample?

Snowknight26
23rd January 2010, 08:21
http://stfcc.org/misc/crashes.mpc-hc64.mkv

mpc-hc64.exe r1544 crashes when this file is opened.. but not mpc-hc.exe. Default settings of course.

SoLoR
23rd January 2010, 09:25
Can we get supprt for UDP MPEG TS streams (multicast)? Also for HTTP MPEG TS streams (its actualy same multicast streams, i just have multicast to unicast with updxy and udp stream becomes avilable over http address). Codecs in this streams are from h264/ac3 to mpeg4/mp3. This would be very useful for IPTV so i can remove one more program. Btw currently MPC compleatly locks up if you feed him m3u playlist with http streams.