[x264-devel] Re: Scalability

Mathieu Monnier manao at melix.net
Tue Feb 27 19:27:47 CET 2007


> The new threading code is indeed better than the old one, but x264 still
> has problems scaling beyond 8 CPUs. Are there any known reasons for
> that?

Yes. X264 encodes several frames in parallel. That means a frame is 
encoded while its reference(s) aren't yet completely encoded. That works 
because x264 checks for the current frame that the motion vector doesn't 
go in the area of the reference frame that hasn't been encoded yet.

And that is done by waiting that at least a few row(s) of macroblock in 
the reference frame is encoded before starting a new frame. The 
consequence is that if your video has only 36 rows ( 576p ), you can 
only have at most 36 concurrent threads ( and actually half less, since 
you must at least wait 2 rows ).

So 576p won't benefit from more than 18 threads.

What was your vertical resolution ?

Regards,

Mathieu

-- 
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