[MPlayer-users] h.264 decoding and thread-level parallelism

Mathieu Monnier manao at melix.net
Sat Sep 22 12:18:14 CEST 2007


> is there the support of thread-level parallelism in MPlayer or ffmpeg ? I want to play h.264
> files with MPlayer, is there any sense to upgrade my CPU to  Athlon64X2  or  Intel Core 2 Duo ?

FFmpeg supports slice based threading. That means it can use as many 
threads as the h264 file has slices.

The implications behind that are the following :
  - if you didn't create the file you want to play, you don't know 
whether you'll be able to play it using several threads or not before 
actually playing it
  - recent x264 revisions use a frame based parallelism, and don't 
support slices anymore, so the main open source provider of h264 stream 
isn't "thread compatible" with ffmpeg at the present time
  - most professionnal encoders use a sliced based approach to encoding. 
So it's highly probable that you'll be able to decode Apple's trailers, 
and broadcasted HD videos using both threads.

Additionnally, don't minimize the decoding performance of ffmpeg on a 
Core 2 Duo with a single thread. With that, you should still be able to 
decode most videos ( for reference, a year and a half ago, I could 
decode 960x1080i50 @ 5.5 mbits with a A64 3000+. Since then, ffmpeg did 
improve ( more than 10%, especially in the CABAC decoding department ), 
and a Core 2 is much more powerfull than a A64 ).

After all, you don't need to decode a video at 100+fps, you just need to 
decode it in realtime ( i.e 25/30 fps ).

Regards,

Mathieu




More information about the MPlayer-users mailing list