Best video decoder? I have 4 to choose from.

LawGiver

2[H]4U
Joined
Oct 16, 2005
Messages
2,060
To play back x264 AVC files I have available options the MPC Video Decoder, Microsoft DVD-DTV Decoder, Cyberlink h.265/AVC decoder and ffdshow. Which one has best video quality. I dont really care about cpu usage with my setup.
 
ffdshow. Though only because you have more control and more postprocessing options (for e.g. down/upscaling etc.). If the decoders don't decode the stream identically, they're not compliant with the standard. Most media standards tend to be this way - the decoder is tightly specified, but encoding is not and can exploit any facet of how the decoder is described.
 
ffdshow. Though only because you have more control and more postprocessing options (for e.g. down/upscaling etc.). If the decoders don't decode the stream identically, they're not compliant with the standard. Most media standards tend to be this way - the decoder is tightly specified, but encoding is not and can exploit any facet of how the decoder is described.


if im already playing back high quality 720p/1080p content should i even mess with postproccessing stuff? And I also saw things like unsharp mask, noise blur reduction, etc...are these more for low quality videos?
 
BTW, for US$5 you can add CoreAVC 2.0 to that list (for the next couple of days, at which point it jumps to US$10 I think).

All of them should produce identical output (barring any bugs) so th differenting factor becomes CPU usage and other features.

FFDShow easily has the most features, but is software only. The ffmpeg-mt decoder is excellent and as fast as any of the other software decoders these days except for CoreAVC.

For h.264 I combine CoreAVC (using CUDA) and FFDShow to have the most control with the least CPU i.e. decode with CoreAVC, then perform post-processing with FFDShow. This is of course mainly for use with SD material - the only post-processing I do for HD material is resizing to native resolution using Lanczos 2-tap.

BTW, CoreAVC 2.0 has also added a lot more compatibility with 2.0, including removing the restriction on numbers of reference frames (or at the very least, bumped it up to the point where it's irrelevant now). It should also be fully compatible with files produced by the latest versions of x264.

MPC-HC, Cyberlink and MS all have very similar performance, output and restrictions. In particular, they have common restrictions with DxVA - numbers of reference frames, bitrates, etc. If you hit these limitations, you get blocky, miscoloured output. Unlike CoreAVC, these won't drop down to software decoding if they encounter an incompatible encode (though the MPC-HC application will detect them and choose to use it's internal software codec for files that are not DxVA-compliant).

Since you state you don't care about CPU usage, I'd just use the MS codecs, and use FFDShow for everything else (i.e. disable h.264 decoding in FFDShow).
 
To be honest I never use postprocessing on ATSC TV streams or BDs, because I consider the quality to be 'perfect'. I do use it on DVDs, and any material that has been reencoded (not remuxed).
Thus I use MPC video decoder for BDs/ATSC and ffdshow.

-darkmatter08
 
FFDShow easily has the most features, but is software only.

The latest FFDshow (might be betas) have DXVA acceleration

Capture.PNG


I've got windows 7 and havent bothered installing CoreAVC that i paid for, it might be because i have an ATI card and so wouldnt benefit from CUDA acceleration. But i must say that almost all my h264 videos playback with DXVA acceleration anyway.

Sometimes i think people are just paying for it without understanding why. There's already quite capable CPU based decoders available (DivX etc) and DXVA should cater for almost all the videos encoded now.
 
The latest FFDshow (might be betas) have DXVA acceleration

Capture.PNG


I've got windows 7 and havent bothered installing CoreAVC that i paid for, it might be because i have an ATI card and so wouldnt benefit from CUDA acceleration. But i must say that almost all my h264 videos playback with DXVA acceleration anyway.

Sometimes i think people are just paying for it without understanding why. There's already quite capable CPU based decoders available (DivX etc) and DXVA should cater for almost all the videos encoded now.

link?
 
The latest FFDshow (might be betas) have DXVA acceleration

http://damienbt.free.fr/Capture.PNG[/mg]

I've got windows 7 and havent bothered installing CoreAVC that i paid for, it might be because i have an ATI card and so wouldnt benefit from CUDA acceleration. But i must say that almost all my h264 videos playback with DXVA acceleration anyway.

Sometimes i think people are just paying for it without understanding why. There's already quite capable CPU based decoders available (DivX etc) and DXVA should cater for almost all the videos encoded now.[/QUOTE]

I too have Windows 7 without a NVIDIA based GPU and found Haali MS coupled with MPC-HC gave me the same output, but with less CPU usage thanks to DXVA. So for me it's Haali MS and I unistalled Core, not a complete waste as my new HTPC will based on a 9300/9400 motherboard and can take advantage of Core's CUDA support.
 
For ffdshow you probably want to run ffdshow-tryout instead, the official version hasn't been updated in a loooong time:

http://ffdshow-tryout.sourceforge.net/

More up to date SVN builds (with multithreading support etc.) can be found here if you want to run bleeding-edge, I've found them generally pretty stable. Still don't see DXVA in these though, so there must be a third-party patch floating around or something:

http://xvidvideo.ru/ffdshow-tryouts-project-x86-x64/
 
The latest FFDshow (might be betas) have DXVA acceleration.

Ooh - is that in the latest xxl 3171 build? I tend to stick with the clsid builds (latest is 3164) and it doesn't have that option.

I've got windows 7 and havent bothered installing CoreAVC that i paid for, it might be because i have an ATI card and so wouldnt benefit from CUDA acceleration. But i must say that almost all my h264 videos playback with DXVA acceleration anyway.

I've also got windows 7, and a reasonable CPU/GPU combo in my secondary HTPC (E2140 with GT210). Prior to CoreAVC 2.0 there were a considerable number of things I watch (mainly anime) that would not play back with hardware acceleration (neither DxVA - corruption - nor CUDA - fall back to software) that are now played back with CUDA enabled. BTW, these also play back with hardware acceleration via VDPAU (XBMC live).

As I said, for HD material I basically do no post-processing except resizing to native resolution (gives much better results than allowing the TV to do it) but offloading the decode to the video card means that I've guaranteed that I've got enough CPU available for that. Some material pushes 85% CPU to decode just in software, which doesn't give me much headroom. If I were running on an ION system (which I've considered) it would be that much (much much!) more important.
 
Don't expect it to be in the regular builds - it's a completely different branch. You either have to compile it yourself or check the doom9 forums for a pre-made build.
 
Sure - but I'd say there's a reasonable likelihood of it landing in the main branch eventually. I take clsid's comments as a "I think this is too hard to fit into the architecture", but now that albain's done the heavy lifting the primary obstacle should be stability and how much it complicates the code.
 
I take clsid's comments

Im sure the comments are old, as the thread over at doom9 indicates that DXVA2 allows the image to be "painted" back to memory, so all the filters that FFDShow allows such as resizing, sharpening etc, can all be used even with hardware acceleration. The only issue is XP i believe, as that doesnt allow DXVA2 at all.
 
Don't expect it to be in the regular builds - it's a completely different branch. You either have to compile it yourself or check the doom9 forums for a pre-made build.

He hasn't posted a thing yet other then the screenshot. They are still trying to work out how exactly they want everything to be set up, along with the idea that ffdshow should be broken into smaller pieces which I personally agree with if there's hope for support for new things like mediafoundation and so forth.

The good thing out of this is that in the end it will be the merging of a indirect fork. MPCHC stand along codecs was basically code from ffdshow along with the DXVA h264 support. Once DXVA is supported in ffdshow the developers will probably stop work on the fork and put it back into ffdshow. It should be noted too that just like in MPCHC you can't do post processing and have DXVA enabled at the same time. Not much that can be done about that.
 
Back
Top