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

tetsuo55
15th January 2009, 15:04
I have tested DXVA vs. CPU decoding on several machines (some laptops and some desktops) with a tool to measure power consumption and the results definitively show that in all cases DXVA uses considerably less power. Aside from the power savings, which is mainly helpful to laptop users, it frees up the CPU so you can watch a movie while encoding or something like that.

Or use the left-over power for all kinds of post-processing on both video and audio

leeperry
15th January 2009, 15:17
Or use the left-over power for all kinds of post-processing on both video and audio
ffdshow video PP w/ DXVA is a no no....CUDA OTOH :D

tetsuo55
15th January 2009, 15:32
ffdshow video PP w/ DXVA is a no no....CUDA OTOH :D

Forgot about that part.
Amd on mobo graphic cards can get cpu assist with the post processing(after DXVA), but you need high TPD cpu for that so its useless.

tetsuox
15th January 2009, 15:38
CUDA decoder won't be power efficient since it uses all the shader processors on a GPU compared to the dedicated VP2/VP3 unit on Geforce8/9/200 GPUs which uses very little power.

You can use CUDA to access the VP engine on the GPU as well.

leeperry
15th January 2009, 15:48
Amd on mobo graphic cards can get cpu assist with the post processing(after DXVA), but you need high TPD cpu for that so its useless.
hummm, some words seem to be missing I think..care to rephrase?

http://tibrium.neuf.fr/DXVASupport.html

The MPC-HC Video decoder must be connected directly to the renderer. That means no intermediate filters such as [..] ffdshow can be inserted between the decoder and the video renderer.
CUDA decoder won't be power efficient since it uses all the shader processors on a GPU compared to the dedicated VP2/VP3 unit on Geforce8/9/200 GPUs which uses very little power.
I was merely pointing out that you can use ffdshow video PP w/ CUDA, so the GPU does the decoding and your CPU is fully available for LSF ss2.0 craziness in ffdshow :D

tetsuo55
15th January 2009, 15:57
hummm, some words seem to be missing I think..care to rephrase?

http://tibrium.neuf.fr/DXVASupport.html



I was merely pointing out that you can use ffdshow video PP w/ CUDA, so the GPU does the decoding and your CPU is fully available for LSF ss2.0 craziness in ffdshow :D

I understand what you meant.

I will rephrase:
The ATI HD3200 (a onboard videocard) has little or no post-processing abilities(standalone cards do have them)

When you put a phenom or higher CPU into this motherboard, the phenom will do the post-processing.

This post-processing is done after DXVA decoding and is controled with the sliders in the ATI display driver window.

However there is no difference between this kind of post-processing and dedicated videocard post-processing.
Both are useless when compared to ffdshow.

leeperry
15th January 2009, 16:06
ah, you mean the HD3200 IGP :)
yeah sure, contrast/brightness/hue settings...a far cry from LSF in ffdshow ;)

tetsuo55
15th January 2009, 16:26
ah, you mean the HD3200 IGP :)
yeah sure, contrast/brightness/hue settings...a far cry from LSF in ffdshow ;)

Don't forget softening/sharpening and denoising.

Still a far cry from LSF

leeperry
15th January 2009, 16:32
Don't forget softening/sharpening and denoising.
sharpening/denoising on DXVA? you actually saw it working ?
I heard these sliders only worked on Overlay/VMR/EVR with UVD 2.2 graphic cards(HD4xxx)....apparently they don't have any effect with HD3xxx card in PDVD8 for instance.

tetsuo55
15th January 2009, 16:34
sharpening/denoising on DXVA? you actually saw it working ?
I heard these sliders only worked on Overlay/VMR/EVR with UVD 2.2 graphic cards(HD4xxx)....apparently they don't have any effect with HD3xxx card in PDVD8 for instance.
Interresting..

I have all post-processing features disabled using a registry key so i have no idea if ATI's claims are true with regards to those working on DXVA

leeperry
15th January 2009, 16:37
i have no idea if ATI's claims are true with regards to those working on DXVA
no UVD 2.2, no dice :o

Kurtnoise
15th January 2009, 18:33
it seems that multichannel flac streams (embedded in containers or not) are not decoded within the internal filter, correct ? missing feature or bug ?

hdboy
15th January 2009, 18:42
Interresting..

I have all post-processing features disabled using a registry key so i have no idea if ATI's claims are true with regards to those working on DXVA

I'd like to do this too. pls tell me what the key is.

I like dxva -- when it works. I don't need to do PP on HD content. My problem is my video is too dark, almost as if there's a double 16,235->0,255 expansion that crushes black and can't be compensated by adjusting brightness..

leeperry
15th January 2009, 18:47
my video is too dark, almost as if there's a double 16,235->0,255 expansion that crushes black
there's plenty of PS scripts for levels conversions ;)

STaRGaZeR
15th January 2009, 19:23
no UVD 2.2, no dice

UVD has nothing to do with this. I've been using them since my old HD3870. You only have to output NV12 as always that you want something from the ATI drivers like your famous chroma upsampling.

flanger216
15th January 2009, 19:29
ATI's denoise and edge-enhancement filters actually always work, regardless of using DXVA, and on anything from HD36xx and up (I think). You just have to feed it NV12. The denoise filter is fairly decent... it only kicks in on interlaced material (I wish this was configurable, but it does make some sense on their part), and it looks almost comparable to Denoise3D in FFDshow. You just have to turn it way, way down from the default settings.

Their edge-enhancement filter is wretched, though. Ay caramba!

leeperry
15th January 2009, 19:43
UVD has nothing to do with this. I've been using them since my old HD3870. You only have to output NV12 as always that you want something from the ATI drivers like your famous chroma upsampling.
it would appear that the sharpening slider has no effect in PDVD7/8 w/ DXVA enabled on HD3650/3850(UVD2), but would work perfectly fine w/ HD4xxx serie(UVD2.2).

it seems that PDVD outputs in VMR9 Renderless, dunno about the colorspace though..

STaRGaZeR
15th January 2009, 19:53
it would appear that the sharpening slider has no effect in PDVD7/8 w/ DXVA enabled on HD3650/3850(UVD2), but would work perfectly fine w/ HD4xxx serie(UVD2.2).

it seems that PDVD outputs in VMR9 Renderless, dunno about the colorspace though..

That's because at least in the HD3870 the sliders only work with SD video. With the HD4870 it works with SD and HD. But again this has nothing to do with UVD.

This is with EVR Custom and in Vista, dunno about other configurations.

hdboy
15th January 2009, 20:02
there's plenty of PS scripts for levels conversions ;)

i can't find one for 0..255->16..235 could you point me to one please?

73ChargerFan
15th January 2009, 20:04
there's plenty of PS scripts for levels conversions ;)But shaders don't work with all renderers.

How about a debug path, which checks the min/max of the video levels and shows it in the filters in/out properties pages?

clsid
15th January 2009, 20:23
Use the Levels filter of ffdshow if you want to see that.

leeperry
15th January 2009, 20:59
i can't find one for 0..255->16..235 could you point me to one please?
Seb.26 has made tons of scripts, use google translation :
http://www.homecinema-fr.com/forum/./viewtopic.php?f=1195&t=29814317

he would even make a custom script for what you need if you ask nicely :D

but your problem seems odd, if you have an nvidia card try to change the levels for video renderers in the drivers...or simply calibrate your display to convert 0-255 to 16-235 internally? at least the windows desktop/digital pictures will also be properly calibrated.

this script would be doing 16-235 > 0-255, mess with the figures until it matches maybe? using a THX calibration disc for instance :

sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);

#define width (p0[0])
#define height (p0[1])
#define counter (p0[2])
#define clock (p0[3])
#define one_over_width (p1[0])
#define one_over_height (p1[1])

#define PI acos(-1)

#define Const_1 (16.0/255.0)
#define Const_2 (255.0/219.0)

float4 main(float2 tex : TEXCOORD0) : COLOR
{
return( ( tex2D( s0, tex ) - Const_1 ) * Const_2 );
}

tetsuo55
15th January 2009, 21:14
I just re-tested my display

Strange result:

-Desktop shows 0-255! (actually 5-255)
-FFdshow with rgb conversion enabled(doesn't matter if i use full or limited range) results in 16-235

all my test samples pass!!!
I was unable to test DXVA.

Remember my display is limited to 16-235 according to the manual....

marc99
15th January 2009, 21:15
I tested Microsoft DTV-DVD Video Decoder delivered with Windows 7. They support DXVA and looks like, he dosen't have 11+ references frame bug. They have GUID H264 {34363248-0000-0010-8000-00AA00389B71} and h264 {34363268-0000-0010-8000-00AA00389B71}. But doesn’t have AVC1 {31435641-0000-0010-8000-00AA00389B71}. Is it possible to make splitter enumerate (add Type 2) GUID AVC1 to H264? mp4 splitter uses both avc1 and AVC1, add H264.

73ChargerFan
15th January 2009, 21:16
Use the Levels filter of ffdshow if you want to see that.Can I use ffdshow with the built-in dxva decoders?

Spec-Chum
15th January 2009, 22:00
Hi, I'd like to start by saying fantastic work to the Devs, I've been using MPC-HC exclusively for many months now, and I think it's incredible.

Anyway, on to my n00b questions...

Is there any way I can resize before running the shaders? I currently use ffdshow to resize to desktop resolution, then use the "Sharpen" filter in MPC-HC, which whilst I do like the output, I'd rather do it all on the GPU, and sharpening before a resize is a no no, quality wise.

Also, VC-1 playback from evo is very juddery when using WMVideo DMO, which goes away if I use ffdshow to decode, but ffdshow speeds up every time after about 3 or so minutes, and completely loses sync (using both WMVideo DMO and libacvcodec). Any known fix for this? This is with Haali splitter BTW, as the internal splitter doesn't even open the file (well, it does, but it goes into audio only mode). I've been searching for days, I know (well, educated guess) it's related to pulldown, because demuxed evo files work fine.

I've got quite a large library of HD-DVD's so demuxing them all is not feasable :(

Any help appreciated.

Spec

Hypernova
15th January 2009, 23:03
I just tired Microsoft DTV-DVD Video Decoder too. I can only get one file to work (x264 in .avi. I don't really know how to give you more useful information about the file). I read from an article and it seems like the decoder can use the partial GPU mode as well. Requesting a feature about using this maybe strange now, but I do think it can be useful in the future. Just my two cents.

BTW, big thanks to all the developers. This is a really great player.

Amour
16th January 2009, 02:14
I found an issue with some mpeg files. File duration is not displayed correctly:
https://sourceforge.net/tracker2/?func=detail&aid=2512088&group_id=170561&atid=854651

If you have issue downloading the sample, please tell me.

Amour
16th January 2009, 03:05
* Perfect support (including menu's. etc..) of the top 10 media container formats(excluding those used on disc based media) using the internal splitter

How do you plan to set the top 10 media container list?
Something like:
1) .wmv
2) .mov
3) .rm
4) .flv
Or something like:
1) .mp3
2) .ogg
3) .mid
4) .wav
Or probably like:
1) .avi
2) .mkv
3) .mp4
4) .ogm
It will be hard to make a selection of the 10 "top" formats, because there is many, and we can use many criteria to compare them (commercial use, all-time use, p2p use, newest use).

and mp4 menus style...:D
What is an mp4 menu style?
Anybody have a screen capture of it?

Also please don't waste time on CD Audio and DVD Audio, Foobar2000 is clearly superior for audio playback. MPC is a video player first and foremost. Don't be a jack of all trades, master of none. VideoCD is dead, no one cares about that.
I disagree on that. People use ffdshow because it is a "jack or all trades". People don't want to have a different software for everything. I don't know what lacks MPC, but if there is no support for CD Audio, DVD Audio and VideoCD, please add it in the future.


Why does everything have to be done by the internal splitters and decoders? If there's a perfect, free and well supported splitter/decoder out there for a specific format, why putting the burdon on the MPC HC developers to reinvent the wheel?
We could offer on SourceForge a combined download: latest stable build of MPC-HC + latest stable build of ffdshow. I know there are already "packs" for this job like CCCP, but here it would be available as an "official" bundle.

ADude
16th January 2009, 03:59
I also would like to see DVD-Audio support.

Also, I tried playing an MKV with a 24-bit surround FLAC using the Open -> Dub and I just get silence. The filter configuration just gives me settings for AC3 and DTS.

73ChargerFan
16th January 2009, 05:35
I'd like using a dub soundtrack to disable those in a .m2ts stream.

Kurtnoise
16th January 2009, 09:11
what is an mp4 menu style?
Anybody have a screen capture of it?
mp4 faq - #11

chros
16th January 2009, 09:39
Is there any way I can resize before running the shaders? I currently use ffdshow to resize to desktop resolution, then use the "Sharpen" filter in MPC-HC, which whilst I do like the output, I'd rather do it all on the GPU, and sharpening before a resize is a no no, quality wise.
Well, that's a very good suggestion ...

ranpha
16th January 2009, 10:05
Is there any way I can resize before running the shaders? I currently use ffdshow to resize to desktop resolution, then use the "Sharpen" filter in MPC-HC, which whilst I do like the output, I'd rather do it all on the GPU, and sharpening before a resize is a no no, quality wise.


If you have nVidia cards, you can do ffdshow desktop resize and then do sharpening with nVidia control panel. Doable with ATI cards too but lesser combinations of colorspaces etc.

Spec-Chum
16th January 2009, 10:52
If you have nVidia cards, you can do ffdshow desktop resize and then do sharpening with nVidia control panel. Doable with ATI cards too but lesser combinations of colorspaces etc.

I meant "Sharpen Shader", sorry. Doing it your way is still using ffdshow to resize, I just want the PS BiCubic resize to happen before any other shaders, is this possible? Is the resize available as a standalone PS?

Also, anyone know a fix for the VC-1 in evo issue?

Regards

Spec

Leak
16th January 2009, 12:10
Is the resize available as a standalone PS?
This would be changing the resolution, which is not possible (yet) via a shader...

(And neither is doing the resizing in two passes, unless you want to make two shaders out of it...)

Spec-Chum
16th January 2009, 12:50
This would be changing the resolution, which is not possible (yet) via a shader...

(And neither is doing the resizing in two passes, unless you want to make two shaders out of it...)

Ah, makes sense. So the resize can only be done in the [custom] presenter, not as a standalone?

Thanks for the clarification :)

Spec

Leak
16th January 2009, 13:21
Ah, makes sense. So the resize can only be done in the [custom] presenter, not as a standalone?
Actually, the resize and applying shaders in general both can only be done with a custom presenter, as earlier filters either have no image on the graphics card to begin with or don't know where to look for it there.

np: Death Cab For Cutie - Long Division (Narrow Stairs)

ranpha
16th January 2009, 14:57
I meant "Sharpen Shader", sorry. Doing it your way is still using ffdshow to resize, I just want the PS BiCubic resize to happen before any other shaders, is this possible? Is the resize available as a standalone PS?

Also, anyone know a fix for the VC-1 in evo issue?

Regards

Spec

IINM, nVidia/ATI edge-sharpen features is done after the PS bicubic resize has been applied.

ikarad
16th January 2009, 20:48
Even with the last version of MPc-HC 1.2.972.0 MLP soundtrack doesn't work, is-it normal because in the log file there is "Support for MLP audio stream"?

In Ghost in the shell blu-ray when i want to select mlp soundtrack, I d'ont have sound. I have sound just with lpcm soundtrack.

To have sound with mlp soundtrack i must use ffdshow

i give you 30 seconds of the video where mlpc soundtrack doesn't work (ghost in the schell)
http://www.zshare.net/info.html?54240177-83efc468f0f5c9b62c75094d359ac866

tetsuo55
16th January 2009, 21:07
Even with the last version of MPc-HC 1.2.972.0 MLP soundtrack doesn't work, is-it normal because in the log file there is "Support for MLP audio stream"?

In Ghost in the shell blu-ray when i want to select mlp soundtrack, I d'ont have sound. I have sound just with lpcm soundtrack.

To have sound with mlp soundtrack i must use ffdshow

That change does not seem related to MLP.
The change does say something about possible problems with non 16bit streams, but this should be related to LPCM not MLP

STaRGaZeR
16th January 2009, 21:19
@Casimir

Is it possible to revert the value you changed in src/apps/mplayerc/EVRAllocatorPresenter.cpp in rev930 (10000000I64 to 20000000I64) back to 10000000I64 until Beliyaal fixes are done? In the recent builds the jitter calculation and consecuently the graph are way off.

ikarad
16th January 2009, 21:42
That change does not seem related to MLP.
The change does say something about possible problems with non 16bit streams, but this should be related to LPCM not MLP

in some blu-ray like escaflowne, mlp soundtrack works but with ghost in the schelle i have no sound with mlp soundtrack when i use only mpc-hc. I must use mpc-HC with ffdshow audio to listent mlp soundtrack.

i give you 30 seconds of the video where mlpc soundtrack doesn't work (ghost in the schell)
http://www.zshare.net/info.html?54240177-83efc468f0f5c9b62c75094d359ac866

Amour
16th January 2009, 22:27
mp4 faq - #11
Doesn't help me if you don't give a link.
Google answer: http://f1-facts.com/overview/product/2152

Kurtnoise
16th January 2009, 23:06
you're kidding ?

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

:rolleyes:

Spec-Chum
17th January 2009, 01:00
Actually, the resize and applying shaders in general both can only be done with a custom presenter, as earlier filters either have no image on the graphics card to begin with or don't know where to look for it there.

Forgive my ignorance here, Leak, but is there a technical reason why resize must be applied last, or is it just the way MPC-HC is coded? If they're both done in the custom presenter?

Regards

alexins
17th January 2009, 10:16
Media Player Classic HomeCinema (x86), svn 974 (http://www.xvidvideo.ru/content/view/585/1/)
Media Player Classic HomeCinema (x64), svn 974 (http://www.xvidvideo.ru/content/view/584/1/)

Supported languages: CN, CZ, DE, ES, FR, HU, IT, KR, PL, RU, SK, TR, UA

Changes log (http://www.xvidvideo.ru/content/view/7/17/)

Fixed: MPEG splitter DTS format bit rate error; NEW: Detailed descriptions of the MPEG splitter streams.

Leak
17th January 2009, 11:22
Forgive my ignorance here, Leak, but is there a technical reason why resize must be applied last, or is it just the way MPC-HC is coded? If they're both done in the custom presenter?
I can't think of a technical reason - MPC's resizers and shaders are just some shader programs that transform one texture into another, it's up to MPC to decide in which order to run them.

It's just the way it's currently implemented in MPC-HC. A possible UI solution to decide where to resize would be to change the "Combine..." dialog to allow placing the resizer (once) somewhere in the list.

Just an idea, though.

np: Flying Lotus - Riot (Los Angeles)

Beliyaal
17th January 2009, 16:30
Forgive my ignorance here, Leak, but is there a technical reason why resize must be applied last, or is it just the way MPC-HC is coded? If they're both done in the custom presenter?

Regards

:)

http://www.olofsson.info/mpchc/ScreenSpace.png

Leak
17th January 2009, 18:12
:)

:D

Now if only there was some noise texture one could use in a shader to add some slight hi-res noise after resizing... *hint hint*

(At least I don't think doing a PRNG in a shader is going to work very well...)

np: Blamstrain - Lumi (Exosphere)