[x264-devel] macroblock-level parallelism

Guillaume POIRIER poirierg at gmail.com
Tue Nov 6 09:34:27 CET 2018


Hello Sophie,
On Tue, Nov 6, 2018 at 7:16 AM liying (AN) <liying105 at huawei.com> wrote:

> I have studied x264 for a while and I noticed that x264 implemented frame-level and slice-level parallelism and didn’t implement macroblock-level parallelism.
>
> I have tried to implement the macroblock-level parallelism based on frame-level parallelism in analysis stage before entropy coding, but the result was very depressing.
>
> The encoding speed is slower than that of encoding with frame-level threads only in default settings even if I don’t care about the PSNR.
>
> My question is that is it possible to accelerate x264 by exploring the macroblock-level parallelism? And I wonder Why x264 didn’t do it?


I wouldn't be surprised if thread overhead is simply too big for such
"small tasks". Maybe you could see a slight speed improvement if you
switch to "slow" encoding profiles, since you'd increased the amount
of work done at the macroblock-level. Please use a decent profiler to
check how much time you waste on thread handling to check if my
guesses are right or wrong.

Guillaume


-- 
Wearing a Rolex is like driving an Audi: It says you've got some
money, but nothing to say.
John Lefèvre


More information about the x264-devel mailing list