[FFmpeg-devel] Question about parallelizing h264 decoding

Guillaume Poirier gpoirier
Thu May 10 17:44:02 CEST 2007


Le 10 mai 07 ? 17:01, Thorsten Jordan a ?crit :

> since it seems that the performance of a single core is not enough for
> full HDTV decoding, one obvious alternative is multithreading on SMP
> systems.
> I know that the current h264 decoder can't decode multithreaded, but i
> want to discuss some ideas how this could be done.
> Two choices come to my mind:
> 1) decode slices in parallel - problematic, because intra-frame
> references and many data dependencies, also because of difficult
> parallelization of cabac decoding etc.
> 2) decode frames or even GOPs in parallel - this one i want to  
> discuss a
> bit further.

There's actually another way to perform multi-threaded H264 decoding:  
split different stages of the decoding process into different threads.

Since CABAC is pretty CPU-hungry, You could start by putting cabac  
decoding in a separate thread.

This certainly does not scale too well with core count, but it's  
probably the easiest thing to do IMHO.


More information about the ffmpeg-devel mailing list