[FFmpeg-devel] Parallelizing MPEG encoding with MPI

Andreas Simbuerger simi
Sun Dec 7 10:43:29 CET 2008


On Sun, 2008-12-07 at 03:10 +0000, M?ns Rullg?rd wrote:

> Search again.  I can assure you it's there.
> 

Before posting my question i should have slept over it again.
Stood up today and just found it. *grml* :-)

In theory the MPI approach leads to a high encoding performance
gain especially on clusters. I can add more detail to this next
week, when i heard a lecture from the doctoral candidate about
the planned scheduling. My work should test this theory in a "dirty"
environment.

Concerning the slicing threads approach described in 
(http://akuvian.org/src/x264/sliceless_threads.txt ), i think
this approach leads to a lot of synchronization work between those threads
and limits you in the possible effect of parallelism because the slowest threads blocks
the others.
In GOP parallelism with MPI you will also have nodes waiting for a frame that
isn't encoded yet, but you will be able use this "sleep time" to distribute a frame 
from another GOP to the waiting node which should minimize waiting time of single nodes.

Until now i try to find out what data i have to pass for I,P and B-
Frame encoding.
Currently i'm working on a picture buffer overflow on my input node because
i send the data required for I-Frame encoding to the next free node and 
bypass the encoding on the Input Node. Just using av_free(..) on the picture 
buffer did not bring 'good' results hehe ;-) but i will get that.

Andreas






More information about the ffmpeg-devel mailing list