[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