Log in

View Full Version : disable QuickTime decoders in mpc-hc


blah789
1st December 2009, 09:47
Is there a way to disable mpc-hc's reliance on QuickTime decoders (at least for some codecs)?

Here's how I'm set up. I have mpc-hc (1.3.1249.0) and QuickTime (7.65.17.80). I use the latter is mostly for the browser plugin and 3gp files (because of lack of a samr audio decoder elsewhere).
However mpc-hc is noticeably superior when decoding H.264 video. I noticed that when I ran it on a clean install without QuickTime installed. Once QuickTime is installed, it slows to a crawl again (100% CPU usage on 720p offline (downloaded) Apple trailers and pretty much freezes - I have an old Athlon XP 3000+; it's only 60-70% and plays smoothly when I do as little as temporarily put the QuickTime folder (from Program Files) in the recycle bin).
I went into view, options, external filters. I added both the QuickTime movie parser and the QT decompressor*. I tried various combinations of uncheck the boxes, click block, but maybe I'm doing it wrong. It keeps using the QuickTime H.264 decoder.

Interestingly, this happens only with MOV files, not MP4 ones (mpc-hc uses its own H.264 decoder for MP4 files - I tested it on a lossless transcode (using pass-through with QuickTime pro) from MOV to MP4, and CPU usage was 60-70%).

Can someone point me in the right direction, or should I post it in the wish list because it's not implemented yet?

* I think one of them is Microsoft's own MOV decoder? Which one is it?

clsid
1st December 2009, 14:06
Options -> Player -> Formats -> QuickTime file
^ all file extension in the above list are played using the QuickTime framework. It can be set to DirectShow if you want, but I don't recommend that.

The method I recommend for bypassing the use of QuickTime in MPC is to rename those files that you want to play with DirectShow to .hdmov. That way you can continue to play any 'problematic' mov files with the QuickTime framework.

Pulstar
2nd December 2009, 11:46
Try this trick

http://img140.imageshack.us/img140/5063/image1hlp.jpg
http://img687.imageshack.us/img687/2271/image2jeq.jpg

blah789
2nd December 2009, 15:08
Try this trick
http://img140.imageshack.us/img140/5063/image1hlp.jpg
http://img687.imageshack.us/img6872271/image2jeq.jpg

That was the first thing I tried, blocking both of them, but no it doesn't work. (I know because CPU usage is 100% and the video just freezes). Not sure where I went wrong though.

Options -> Player -> Formats -> QuickTime file
^ all file extension in the above list are played using the QuickTime framework. It can be set to DirectShow if you want, but I don't recommend that.
I was a bit confused at first. I tried setting it to DirectShow, but it didn't have any impact.
Then I realized you were saying if the extension is on the list it will use QuickTime.
So I did the weirdest thing: I removed .mov from the list, and clicked on set. Lo and behold! It's down to 70% again!

Amazing that you know the fix. An awkward solution it is though. Now if you want to associate mpc-hc with mov files, you'd have to do it by hand (folder options, file types).
I think the coders should have put (the settings for switching on and off the QT framework with a given file extension) separate from (mpc's file association settings).
It would be nice if you could toggle it for given codecs (mpc-hc crashes my svq1's with its own internal decoders without quicktime), or do a priority check (for example if mpc can decode it, then do so, if not, THEN turn to quicktime).

clsid
2nd December 2009, 15:34
You can click on the word 'QuickTime' behind the list and change it to 'DirectShow'.

Disabling the internal SVQ1 decoder and using ffdshow instead will probably fix that crash.

Doing stuff based on what formats a file contains is NOT possible. MPC knows very little about a file when it decides which framework it uses for playback. That is why it decides based on file extension.

blah789
3rd December 2009, 18:35
You can click on the word 'QuickTime' behind the list and change it to 'DirectShow'.
Whoa! That worked (down to 60%)! I didn't even realize it was clickable!

I was a bit confused at first. I tried setting it to DirectShow, but it didn't have any impact.
Quote from my earlier reply. Stupid me! I set it to DirectShow on the rtsp setting (I should have read the setting!) I had a hunch I missed something though.

Options -> Player -> Formats -> QuickTime file
*snip*
It can be set to DirectShow if you want, but I don't recommend that.
I now realize that was you pointing to the solution there (I just wasn't clicking at the right spot).

Thank you very much for your the solution.