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

Jong
26th July 2009, 12:36
Casimit, just tryed and bad news - no changes at all :( Still get wrong frames order on all h.264 MKV i have :/I tried to test this version but WinRAR said the archive was corrupt :confused: .

But I tried 1188 and the problem was just the same there. Don't know if this should have had the changes.

tetsuo55
26th July 2009, 12:37
I tried to test this version but WinRAR said the archive was corrupt :confused: .

But I tried 1188 and the problem was just the same there. Don't know if this should have had the changes.the changes are not in the regular 1188

Jong
26th July 2009, 12:38
Yeah, sorry. a bit slow this morning. Just waiting for ZShare to download "RC2"

Jong
26th July 2009, 12:42
Yipee! RC2 seems to have fixed my problem (in a brief test).

I will look at the other two samples now.

Jong
26th July 2009, 12:53
On my system Hoborg's sample seems clean now :) but Snowknight's still shows problems. However, those are also there on the build I am currently using normally - build 1120.

tetsuo55
26th July 2009, 13:04
On my system Hoborg's sample seems clean now :) but Snowknight's still shows problems. However, those are also there on the build I am currently using normally - build 1120.Looks like Snowknight's sample is broken with the MS decode and Cyberlink too, but only for ATI cards, it works fine on NVIDIA (intel untested)

So what we really need is someone to report that to:
-Microsoft DXVA h264 decoder team
-Cyberlink
-ATI support

We also need someone with a G45 to test that sample.

Gleb Egorych
26th July 2009, 13:04
Build 1188 still has problems with subtitle renderer, it produces tearing.

Tested with XP and Vista, EVR-CP, optimal renderer settings, Geforce 8800GT 186.18. When subtitle is displayed tearing appears, when subtitle is not displayed there is no tearing. Increasing subtitle resolution moves tearing position (for me from top to the middle of the screen). The bug was previously reported by kumi.

Casimir666
26th July 2009, 13:05
I've found the problem for the wrong mapped channels for Ac3 (Dolby Digital) and DTS !
It's a design problem ! MPC-HC's internal filters does NOT have 7.1 channel setting or "Same as input" (like FFDShow) or the option to disable internal mixer / matrix ! max setting it's "3 Front + 2 Rear" and although this gets ignored for LPCM, DolbyTrueHD and E-AC3 (Dolby Digital Plus) for DTS and AC3 it's NOT ignored!

So even if you have 7.1 speakers you need to set internal filters to 5.1 aka "3 Front + 2 Rear" for ac3 and DTS to work

I think we really need to have 7.1 added and like in FFDShow the options "Same as input" and to be able to disable internal mixer / matrix
Ok this explain a lot of things! The audio decoder have to be improved for 7.1 support.

On my system Hoborg's sample seems clean now :) but Snowknight's still shows problems. However, those are also there on the build I am currently using normally - build 1120.
This sample is broken on ATI with all DXVA decoders

tetsuo55
26th July 2009, 13:10
Build 1188 still has problems with subtitle renderer, it produces tearing.

Tested with XP and Vista, EVR-CP, optimal renderer settings, Geforce 8800GT 186.18. When subtitle is displayed tearing appears, when subtitle is not displayed there is no tearing. Increasing subtitle resolution moves tearing position (for me from top to the middle of the screen). The bug was previously reported by kumi.Hi, this problem goes deep into the core of the subtitle renderer. This won't be fixed soon, sorry.

(i have the same problem myself :()

EDIT:
Although a build made with the string i posted earlier might help.
What CPU do you have?

clsid
26th July 2009, 13:14
Anybody knows the latest working MinGW64 for Win32? 21.07.2009 seems to be broken.
Use the 4.4.0 build from the MinGW64 project page.
The GCC 4.5.0 SVN builds are buggy as can be seen on FFmpeg FATE tests.

I have same problem, but seems they rename the compiler name : now it's x86_64-w64-mingw32-gcc instead of x86_64-pc-mingw32-gcc no?
Adjusting FFMPEG_PREFIX in the makefile_c.inc should fix that.

/GS This is purely a security feature, buffer protection, it can be and should be enabled by default.

/EHa this is a security feature too, exeption handling, this actually changes code and could lead to breaks.

/O2, enabled by default on release builds, slightly different meanings between x86 and x64, could break things.

/SAFESEH security feature that is enabled by default on x64
Those security features will typically hurt performance a bit. So benchmarks are desirable to see their effect. Also, they are no replacement fro writing good code. They might improve security slightly, but can never guarantee the absence of exploitable code.

tetsuo55
26th July 2009, 13:21
Those security features will typically hurt performance a bit. So benchmarks are desirable to see their effect. Also, they are no replacement fro writing good code. They might improve security slightly, but can never guarantee the absence of exploitable code.Very well said, i'm (hoping?) the speedup code and security code will even out a bit, but things like SSE2 and /favor should have a measurable increase in speed.

The code itself is always the place where the biggest speed and security gains can be made (these switch just cover the obvious bases)

Jong
26th July 2009, 13:40
This sample is broken on ATI with all DXVA decodersI dont know the source of that sample. Looking at it, it seems to be a 720p re-encode? Not sure what the source would be. So is it an ATI fault or could it be that Nvidia are just more tolerant of a non-conformant sample? Anyway it will be hard to raise with ATI using that sample!

tetsuo55
26th July 2009, 13:43
I dont know the source of that sample. Looking at it, it seems to be a 720p re-encode? Not sure what the source would be. So is it an ATI fault or could it be that Nvidia are just more tolerant of a non-conformant sample? Anyway it will be hard to raise with ATI using that sample! We won't be sure till someone tests on intel G45, and other devices, like PS3.

Casimir666
26th July 2009, 13:48
Anybody knows the latest working MinGW64 for Win32? 21.07.2009 seems to be broken.

You can use latest version with this patch :


Index: src/filters/transform/mpcvideodec/ffmpeg/makefile_c.inc
===================================================================
--- src/filters/transform/mpcvideodec/ffmpeg/makefile_c.inc (revision 1188)
+++ src/filters/transform/mpcvideodec/ffmpeg/makefile_c.inc (working copy)
@@ -11,11 +11,11 @@
endif

ifeq ($(64BIT),yes)
- FFMPEG_PREFIX=x86_64-pc-mingw32-
+ FFMPEG_PREFIX=x86_64-w64-mingw32-
endif

ifeq ($(64BIT),yes)
- TARGET_OS=x86_64-pc-mingw32
+ TARGET_OS=x86_64-w64-mingw32
CFLAGS+=-DWIN64 -D_WIN64
OPTFLAGS+=-O2 -m64 -fno-leading-underscore
else

Casimir666
26th July 2009, 13:49
We won't be sure till someone tests on intel G45, and other devices, like PS3.

It works on G45

clsid
26th July 2009, 14:03
Very well said, i'm (hoping?) the speedup code and security code will even out a bit, but things like SSE2 and /favor should have a measurable increase in speed.

The code itself is always the place where the biggest speed and security gains can be made (these switch just cover the obvious bases)
Are the security features really needed? There are no known vulnerabilities in MPC. Assuming that the code does not have any major flaws, the extra checks will only cause unnecessary overhead.

If you really want to create an optimized build (besides a generic build) then using ICL would be a better choice. However, it will also result in an increase in binary size.

Even better, use a profiler to find the parts of the code where the most time is spent and then attempt to improve the code for those parts.

tetsuo55
26th July 2009, 14:06
Are the security features really needed? There are no known vulnerabilities in MPC. Assuming that the code does not have any major flaws, the extra checks will only cause unnecessary overhead.

If you really want to create an optimized build (besides a generic build) then using ICL would be a better choice. However, it will also result in an increase in binary size.

Even better, use a profiler to find the parts of the code where the most time is spent and then attempt to improve the code for those parts.PGO would be best, running the killa sample with an extremely difficult animated subtitle and 7.1 truehd audio.

_xxl
26th July 2009, 14:19
Are the security features really needed? There are no known vulnerabilities in MPC. Assuming that the code does not have any major flaws, the extra checks will only cause unnecessary overhead.

If you really want to create an optimized build (besides a generic build) then using ICL would be a better choice. However, it will also result in an increase in binary size.

Even better, use a profiler to find the parts of the code where the most time is spent and then attempt to improve the code for those parts.

Because it is open source anybody can modify the src.. I don't know maybe some test builds are welcome.

tezenoy
26th July 2009, 14:36
Hey everyone,

Didn't know if I should create a new topic for this question, but since I'll try to keep it short and a short answer would suffice, I took my chances :)

My question is regarding x264 content, so first of all, here's the information you might need (what I'm using to play it):
- MPC HC x86 v1.2.1180.0, Haali Media Splitter v1.9.42.1, AC3Filter v1.61b and CoreAVC v1.9.5
* Specs: Windows 7 x64, Q6600, 4GB RAM, GeForce 8800GT
* Settings: EVR Custom, Bicubic 0.60 Resizer, D3D OFF, VSync/Accurate VSync/Alternative VSync ON, EVR Buffers 5, Time Frame Correction ON, and both Flush options ON.

I'm outputting this to a 40" Samsung LCD TV, using a VGA cable (3-year-old model which supports 1:1 pixel mapping only via VGA), and resolution is 1360x768@60hz (doesn't support other refresh rates as well).

My question is: 99% of the content I watch is in 720p@23.976fps. I can't use a different refresh rate so playback can't be perfect (AFAIK). Is there anything I should change in my settings or anything else I don't know about that might give me better playback? (besides speeding up the content - I want natural sound :p)

These are my CoreAVC settings and a screenshot of MPC with Ctrl+J: http://img265.imageshack.us/img265/7638/17902157.th.jpg (http://img265.imageshack.us/img265/7638/17902157.jpg)http://img190.imageshack.us/img190/9131/51400480.th.jpg (http://img190.imageshack.us/img190/9131/51400480.jpg)

I'll appreciate any recommendations and thanks in advance to everyone!

Chumbo
26th July 2009, 15:02
Are you sure it's not 720p @ 59.94fps?

tezenoy
26th July 2009, 15:06
yeah, unfortunately. the source is probably 720p@59.94 or 1080i@29.976, but I'm watching content which is IVTC'd/made progressive 23.976, or Blu-Rays which are 23.976fps, etc

Gleb Egorych
26th July 2009, 15:51
Hi, this problem goes deep into the core of the subtitle renderer. This won't be fixed soon, sorry.

(i have the same problem myself :()

EDIT:
Although a build made with the string i posted earlier might help.
What CPU do you have?
I use RC2 posted by Casimir666 and I have Q6600.

Inspector.Gadget
26th July 2009, 18:43
I have a 1080i Blu-ray source that I'm thinking about re-encoding after bobbing to 1080p60. Does MPC-HC's internal H.264 DXVA decoder support 1080p60 if DXVA profile limitations are otherwise respected? I'm using a 9650M GT, if it matters, and so far with the MPC-HC builds that haven't had frame order issues playback has been flawless. Thanks.

73ChargerFan
26th July 2009, 21:36
Inspector, encode 30 seconds of the source and test that.

jmnk
26th July 2009, 22:23
These are my CoreAVC settings and a screenshot of MPC with Ctrl+J: http://img190.imageshack.us/img190/9131/51400480.th.jpg (http://img190.imageshack.us/img190/9131/51400480.jpg)

I'll appreciate any recommendations and thanks in advance to everyone!
I'm sure this is explained somewhere - but I can't find where. The info and the graph that MPC shows with Ctr+J; where I could find the explanation of the meaning of these numbers? Any links would be greatly appreciated.

Inspector.Gadget
26th July 2009, 23:30
Inspector, encode 30 seconds of the source and test that.

I would, but at .2 fps ... :( ... hope someone with an i7 has already tried.

73ChargerFan
26th July 2009, 23:49
At 0.2fps, the cost of electricity will eat you alive.

mariner
27th July 2009, 05:09
I have a 1080i Blu-ray source that I'm thinking about re-encoding after bobbing to 1080p60. Does MPC-HC's internal H.264 DXVA decoder support 1080p60 if DXVA profile limitations are otherwise respected? I'm using a 9650M GT, if it matters, and so far with the MPC-HC builds that haven't had frame order issues playback has been flawless. Thanks.

Greetings Inspector.Gadget.

Here's a 1920x1080/60P sample that doesn't work. Perhaps you can create one that does.

Best regards.

http://www.sanyo-dsc.com/products/lineup/dmx_hd2000/img/sample/movie_sample_hd2000_01.zip

bemymonkey
27th July 2009, 11:04
Is it possible to activate DXVA for H264 on secondary displays? When I have it activated and open a movie in MPC on my secondary display, the video just shows black. Sound is fine. Moving it back to the primary display gives me my picture again.

Any ideas? :)


This is with a nVidia 9300M GS, btw.

Mixer73
27th July 2009, 11:36
Is it possible to activate DXVA for H264 on secondary displays? When I have it activated and open a movie in MPC on my secondary display, the video just shows black. Sound is fine. Moving it back to the primary display gives me my picture again.

Seems to work fine on my secondary display, 9800GT here.

bemymonkey
27th July 2009, 11:38
Crap. Which driver set are you using? MPC version?

Mixer73
27th July 2009, 11:42
Crap. Which driver set are you using? MPC version?

186.18 and I've never had a problem with MPC in this regard, or PowerDVD for that matter.

I suspect the notebook signal path is the most likely culprit. I don't suppose DXVA with MPC would require COPP compliance? Unlikely I would guess.

Octo-puss
27th July 2009, 11:43
Is ~30% CPU usage too high when using DXVA? Ever since I moved onto Windows7, I THINK it went up by substantial amount. Can't remember what the numbers were like under Vista, though.
E8400 CPU @3.75GHz, ATI 4870.
What do you think?

bemymonkey
27th July 2009, 11:44
I dunno about Vista, but on XP activating DXVA drops the CPU usage from 50% to ~20% on a Core2Duo P7370 (2GHz).


I suspect the notebook signal path is the most likely culprit.

Probably. Maybe the HDMI output would work better (I'm hooked up via D-Sub right now)?

Mixer73
27th July 2009, 11:49
Probably. Maybe the HDMI output would work better (I'm hooked up via D-Sub right now)?

Mumble mumble, in theory analog connection should actually get around any problems like HDCP/COPP because basically they are disabled.

I suspect your problem isn't DXVA but more a DirectDraw problem. If you try the same renderer with a different decoder what does it do?

Keiyakusha
27th July 2009, 12:21
Is ~30% CPU usage too high when using DXVA? Ever since I moved onto Windows7, I THINK it went up by substantial amount. Can't remember what the numbers were like under Vista, though.
E8400 CPU @3.75GHz, ATI 4870.
What do you think?

For me on XP CPU load was around 3%, on Win7 - around 10% with slower Core2Duo. NVIDIA card...

Inspector.Gadget
27th July 2009, 12:23
Greetings Inspector.Gadget.

Here's a 1920x1080/60P sample that doesn't work. Perhaps you can create one that does.

Best regards.

http://www.sanyo-dsc.com/products/lineup/dmx_hd2000/img/sample/movie_sample_hd2000_01.zip

Thanks!

bemymonkey
27th July 2009, 12:37
Mumble mumble, in theory analog connection should actually get around any problems like HDCP/COPP because basically they are disabled.

I suspect your problem isn't DXVA but more a DirectDraw problem. If you try the same renderer with a different decoder what does it do?

To be honest, I'm not sure how to switch to a different decoder or renderer. I only activated DXVA by selecting the internal H264 filter in MPC's options menu. Usually I just use FFDShow...

How do I change the decoder? The HDCP is disabled (at least I think it is :D), btw., I encoded to MKV with Handbrake after ripping with AnyDVDHD.

Mercury_22
27th July 2009, 13:06
EDIT never mind this post it was an error on my side !

New better AC3 5.1 test file http://www.tfm.ro/win32-projects/test-avi-ac3/

tetsuo55
27th July 2009, 13:07
1193 might break AC3, EAC3 and Truehd, please test.

Mercury_22
27th July 2009, 13:10
1193 might break AC3, EAC3 and Truehd, please test.

Did anyone compiled ?

tetsuo55
27th July 2009, 13:30
Did anyone compiled ?Not yet, if anyone can compile, please do.

Aleksoid1978
27th July 2009, 13:45
Here :

http://aleksoid.tosei.ru/Dist/MPCHC_1193_x86.7z
http://aleksoid.tosei.ru/Dist/MPCHC_1193_x64.7z

Mercury_22
27th July 2009, 13:56
Here :

http://aleksoid.tosei.ru/Dist/MPCHC_1193_x86.7z
http://aleksoid.tosei.ru/Dist/MPCHC_1193_x64.7z

That was fast :thanks:

1193 might break AC3, EAC3 and Truehd, please test.


Tested NO change ! just the same "problems" from before

tetsuo55
27th July 2009, 14:10
Tested NO change ! just the same "problems" from before Good! :D

tetsuo55
27th July 2009, 16:19
Can someone explain which internal filters to enable/disable in order to play evo files (decrypted HD-DVD)?

clsid
27th July 2009, 16:55
The MPEG source filter and any decoders for which you haven't got an external one installed.

tetsuo55
27th July 2009, 17:54
The MPEG source filter and any decoders for which you haven't got an external one installed.It doesnt work.

Here is the splitter info:
Filter : File Source (Async.) - CLSID : {E436EBB5-524F-11CE-9F53-0020AF0BA770}

- Connected to:

CLSID: {AFB6C280-2C41-11D3-8A60-0000F81E0E4A}
Filter: MPEG-2 Demultiplexer
Pin: MPEG-2 Stream

- Connection media type:

Unknown

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
subtype: MEDIASUBTYPE_MPEG2_PROGRAM {E06D8022-DB46-11CF-B4D1-00805F6CBBEA}
formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 0

- Enumerated media type 0:

Set as the current media type

- Enumerated media type 1:

Unknown

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
subtype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 0



Here is the mediainfo:
General
Complete name : F:\MoviesArchief\Van Helsing (2004)\HVDVD_TS\FEATURE_1.EVO
Format : MPEG-PS
File size : 10.0 GiB
Duration : 1h 8mn
Overall bit rate : 20.9 Mbps

Video
ID : 85 (0x55)
Format : VC-1
Format profile : AP@L3
Duration : 1h 8mn
Bit rate : 16.6 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Colorimetry : 4:2:0
Scan type : Progressive
Scan order : 2:3 Pulldown
Bits/(Pixel*Frame) : 0.335
Stream size : 7.98 GiB (80%)

Audio #1
ID : 192 (0xC0)
Format : E-AC-3
Format/Info : Audio Coding 3
Duration : 1h 8mn
Bit rate mode : Constant
Bit rate : 1 536 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Video delay : -7ms
Stream size : 755 MiB (7%)

Audio #2
ID : 193 (0xC1)
Format : E-AC-3
Format/Info : Audio Coding 3
Duration : 1h 8mn
Bit rate mode : Constant
Bit rate : 768 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Video delay : -7ms
Stream size : 378 MiB (4%)

Audio #3
ID : 194 (0xC2)
Format : E-AC-3
Format/Info : Audio Coding 3
Duration : 1h 8mn
Bit rate mode : Constant
Bit rate : 768 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Video delay : -7ms
Stream size : 378 MiB (4%)

Audio #4
ID : 195 (0xC3)
Format : AC-3
Format/Info : Audio Coding 3
Format profile : Dolby Digital
Duration : 1h 8mn
Bit rate mode : Constant
Bit rate : 192 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Video delay : -7ms
Stream size : 94.4 MiB (1%)

Audio #5
ID : 196 (0xC4)
Format : AC-3
Format/Info : Audio Coding 3
Format profile : Dolby Digital
Duration : 1h 8mn
Bit rate mode : Constant
Bit rate : 192 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Video delay : -7ms
Stream size : 94.4 MiB (1%)

Menu
Format : DVD-Video

clsid
27th July 2009, 18:10
Then you should try with Haali Media Splitter, with MPEG-PS enabled.

alex_3d42
27th July 2009, 18:13
where to download latest x86 standalone filters?

And x64 too ! Please :thanks: