Log in

View Full Version : Which H.264 decoder in Windows 7?


mdoubledragon
30th November 2009, 14:38
I recently installed Windows 7 and found out that it includes an H.264 decoder. I was just wondering which one is it. Did they license it from someone or did they come up with their own?

LoRd_MuldeR
30th November 2009, 15:04
AFAIK it's their own. And it should be noted that it only works inside Windows Media Player and Windows Media Center. Tools like Media Player Classic are locked out.

At the same time other H.264 decoders are locked out from Windows Media Player/Center. At least if you don't use a special tool to circumvent the lock and force your preferred filter in.

And even that won't work always. Well, CoreCodec has announced the CoreAVC 2.0 will work in Windows Media Player/Center without "hacks", but I have no what they did...

fastplayer
30th November 2009, 15:14
AFAIK it's their own. And it should be noted that it only works inside Windows Media Player and Windows Media Center. Tools like Media Player Classic are locked out.
"Microsoft DTV-DVD Video Decoder" works just fine inside MPC-HC.

LoRd_MuldeR
30th November 2009, 15:44
How can it work in a DirectShow-based player when it's implemented as a MediaFoundation filter? Do they provide a DirectShow wrapper or what ???

Keiyakusha
30th November 2009, 15:53
Have no idea about MF, but their decoder works fine in directshow-based players. It can decode mpeg1-2 too and supports DXVA (for all these formats) if connected to EVR. However its slooow in software.

fastplayer
30th November 2009, 15:59
It's implemented both as MF and DS.
You must've missed the whole "Win7-uses-only-MS-DS-filters" story.

LoRd_MuldeR
30th November 2009, 18:43
No, I didn't miss it. Microsoft has started using MediaFoundation filters indeed. Those MediaFoundation filters have a higher priority than any DirectShow filters in Windows Media Player/Center.

Even with clsid's tool, we can't "force" the WMP/WMC to use custom DirectShow filters, as soon as it is using MediaFoundation. And of course the MediaFoundation filters don't work in DirectShow players!

That said, there also are "new" DirectShow filters. And those M$ filters are preferred over third-party DirectShow filters too. But, in contrast to MediaFoundation, we can hack the "preferred" DirectShow filters.

If the "Microsoft DTV-DVD Video Decoder" works in Media Player Classic, then it's obviously one of those "preferred" DirectShow filters and not one of the new MediaFoundation filters. My bad :p

clsid
30th November 2009, 20:11
With the latest version of the tweak tool it is possible to disable the Microsoft decoders (by renaming their corresponding DLL files).

mdoubledragon
30th November 2009, 20:32
So they implemented their own H.264 decoder! Would be interesting to see how does it compare in performance to other decoders. I doubt it will be even close to CoreAVC or Divx (in software) but if its faster than FFMPEG, then they have done a reasonable job.

LoRd_MuldeR
30th November 2009, 20:45
Now that I noticed the Micorosft decoder can be used as a DirectShow filter, I have updated my recent speed comparision:
http://85.230.118.136/showpost.php?p=1347162&postcount=179

Summary: It's slightly slower than ffdshow (FFmpeg-MT), which means it is MUCH slower than the fastest one (currently DiAVC) and also slower than CoreAVC/DivX.

(BTW: I have no idea why the M$ decoder reports those absurdly high "fps" values, but you must look at "dfps" or at the "real" decoding time)

Keiyakusha
30th November 2009, 21:08
(BTW: I have no idea why the M$ decoder reports those absurdly high "fps" values, but you must look at "dfps" or at the "real" decoding time)
With Graphstudio it shows not even high but astronomical fps values. Maybe its somewhat broken...

stax76
30th November 2009, 21:13
I wonder which decoder people use with DirectShowSource and european HD DVB captures?

LoRd_MuldeR
30th November 2009, 21:15
I wonder which decoder people use with DirectShowSource and european HD DVB captures?

I currently use CoreAVC. Works perfectly fine with DVBViewer. However there's only one HD channel (EinsFestival HD) available through DVB-S1 at my location currently.

stax76
30th November 2009, 21:39
DivX and MS also work in DVBViewer but ffdshow produces macro blocks. In StaxRip I want to create a grf file using the dshow API, I hope it's possible and not too painful.

avivahl
2nd December 2009, 17:54
I wonder... is there a way to benchmark the decoder when it runs w/ DXVA?

ChronoReverse
2nd December 2009, 18:03
Interestingly enough, Microsoft's DXVA implementation uses less cpu than CoreAVC CUDA or MPCHC DXVA on my system.

LoRd_MuldeR
2nd December 2009, 18:05
Haali's TimeCodec supports VMR7, VMR9, Overlay Mixer and Null Renderer.

If the decoder supports DXVA with one of those renderers (that would be VMR9, I guess), the benchmarking should work...

Cyber-Mav
19th December 2009, 17:15
im using graphedit how would i go about benchmarking the various codecs using timecodec. i would be greatful if you could help.

Keiyakusha
19th December 2009, 17:18
timecodec is a separate app, i don't think it has something to do with graphedit

Cyber-Mav
19th December 2009, 17:43
thankyou, i just figured it out now and all is well. i will be doing some codec benches now

stax76
19th December 2009, 20:06
@LoRd_MuldeR

Do you have plans to update your benchmark that the decoder supporting DXVA use DXVA?

What would be great is a benchmark for encoding that includes all decoders, even neuron2's NV tools, I guess that's currently the fastest encoding method, I don't know though how much gain it has over other methods.