Log in

View Full Version : Multicore support for H.264 playback?


Encoder888
20th March 2008, 05:49
Hi,

I have the following question - does anybody know if it's possible to maximize H.264 playback performance by utilizing all cores of your CPU? I mean, is there a player that does that or... ? I have a Phenom 9500 and I've been encoding BD titles, which originally play seamlessly in PowerDVD as BD m2ts, but when I encode and compress them with x264 and shrink them to 6-7GB .mkv (retaining 1080p and generally at very high quality) and try to play them in BSPlayer or Media Classic, they start skipping once the bitrate per second gets high... I hit Ctrl+Alt+Del and I see that only one of my 4 cores is utilized and it is working on 100%, but the other 3 are not doing anything... So I was wondering if there was any way I could utilize all 4 cores, or at least 2 of them when playing my movies. H.264 (x264) uses all 4 when it's encoding, so it would make sense that all 4 could be used when decoding, right? I noticed that all 4 are used when I play the original BD movie in PowerDVD, and it uses H.264 as well... So, that tells me that there must be a way.

ALSO - another thing I was thinking about is, PowerDVD uses hardware decoding, and my videocard has HDCP support, so that certainly helps, I was wondering if there was a player that could make use of that...?

Any help is appreciated :) Thanks

Dark Shikari
20th March 2008, 05:55
CoreAVC is fully multithreaded. Pick it up for $15.

Snowknight26
20th March 2008, 06:07
While we're at it, whats the difference between CoreAVC's implementation of mulithreading and ffdshow's?

Encoder888
20th March 2008, 06:40
Awesome! Worked like a charm, thanks a lot. At first I couldn't get my players to use it, as they were still using the ffdshow, but all you have to do is open the ffd options and disable h.264 support, and then media player classic is forced to use the coreavc. Wow, it's amazingly fast.

Dark Shikari
20th March 2008, 06:48
While we're at it, whats the difference between CoreAVC's implementation of mulithreading and ffdshow's?FFDshow has multithreading for sliced H.264, but not unsliced H.264, such as that which x264 generates. FFDshow-tryouts has partial multithreading--it just multithreads the CABAC portion, though its not that efficient at it.

audyovydeo
20th March 2008, 13:14
Media Player Classic Home Cinema - DXVA! (http://forum.doom9.org/showthread.php?t=123537)



cheers
audyovydeo

gdb66
29th April 2008, 11:27
FFDshow has multithreading for sliced H.264, but not unsliced H.264, such as that which x264 generates. FFDshow-tryouts has partial multithreading--it just multithreads the CABAC portion, though its not that efficient at it.

I don't know much about the technical details of sliced or unsliced video. However, what I do know is that I have lots of x264 encoded video and that my multicore cpu (Intel E8200) is sometimes maxed out on a single core, resulting in video stutter.

Are there any developments going on in the FFDShow tryouts project to have better multi-core support for unsliced video like x264 produces?

clsid
29th April 2008, 13:00
The ffdshow project doesn't develop any of the decoders. The decoders that are used come from the FFmpeg project. Currrently, no work is being done on multithreading.

soresu
29th April 2008, 13:21
I think that frame level multithreading is one of the FFmpeg projects for GSoC 2008, while this does not seem to be specific to AVC decoding, it should go a long way to adding multithread support in FFmpeg applications.

Google Summer of Code - FFmpeg project page (http://code.google.com/soc/2008/ffmpeg/appinfo.html?csaid=9FD2BF705A5D5DBB)

Blue_MiSfit
29th April 2008, 21:36
CoreAVC is so good, and so cheap!!! I would use the MPC decoder, but for DXVA support I have to link it straight to the renderer, no ffdshow for scaling / grain addition :(

~MiSfit

KornX
29th April 2008, 22:54
but coreAVC can only do h264... (as the name says)
are there plans for vc1, or how do you do it?

KornX

Anacletus
29th April 2008, 23:04
but coreAVC can only do h264... (as the name says)
are there plans for vc1, or how do you do it?

KornX

hello, CoreAvc can already decode VC1:

http://www.coreavc.com/images/stories/screens/1.jpg

regards

Atak_Snajpera
29th April 2008, 23:18
avc1 = h264 or avc not VC1!!!!

Anacletus
30th April 2008, 00:06
avc1 = h264 or avc not VC1!!!!

oops my bad :confused: