[x264-devel] Re: [Need for Help:] About parallelism of the x264 encoder algorithm

Loren Merritt lorenm at u.washington.edu
Wed Jan 31 23:46:29 CET 2007


On Wed, 31 Jan 2007, Hao Shen wrote:

> Recently, I am researching on the parallelism of the h.264 encoder
> algorithm. After I read some papers about this topic, I find there are
> 4 different parallelism methods.
> 1. Group-of-frame decomposition.
> 2. Frame-level decomposition.
> 3. Slice-level decomposition.
> 4. MacroBlock (MB) level decomposition.
>
> The latest version of x264 support frame-level decomposition only. And
> some early version support slice-level decomposition. If anyone have
> some idea how to realize other two kinds of parallelism encoder based
> on the x264 existed code, please tell me. And welcome to any
> suggestion.

It's easy to emulate GOP decomposition using frame decomposition. Just set 
threads=GOP_length*number_of_cpus (to make it buffer enough frames), and 
mvrange-thread=frame_height (to prevent it from simultaneously encoding 
two interdependent frames). The extra idle threads will waste some memory, 
but shouldn't affect speed.

There's no relation between the implementation of MB decomposition and 
the others, so rather than explain it from scratch I'll point you at XviD, 
which already uses that method.

--Loren Merritt

-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list