[Ffmpeg-devel] Parallelizing the h.264 Decoder

Luca Barbato lu_zero
Mon Nov 13 13:18:39 CET 2006


Philip Peter wrote:
> Hi,
> i'm currently trying to make a port of the h.264 decoder to multicore
> systems with special emphasis on the cell processor.

There is quite interest in this.

> Since the cells cores are limited in local memory, i want to parallelize
> the decoding of an actual frame, not just decode multiple frames at once.

Keep in mind that you don't have infinite SPEs and every time you want
them doing something different you'll pay some time to feed the new
code, more on this later.

> To make the port easier i decided to go with a fixed distribution of the
> decoding steps to the different cores, rather than with an dynamic model.
> Therefore i would have one or more core do the cabac decoding and one or
> more cores to the transformation, quantization and filtering.

Sounds interesting.

> However at the moment, those functions are called directly after each
> other for each macroblock. This would be suitable for a pipelined
> approach, but i'm afraid that one core won't suffice to do the cabac
> decoding.

How so, if you have access to a Cell, please make a spu stand alone
program with just cabac decoding and feed it with some data.
Probably hand assembly for it could help as is helping for x86...

> I realize that this will require some changes, but i'm not certain how
> big these changes are.

The other question is how to make this structure be optional so that
traditional cores won't have overhead from it.

lu

-- 

Luca Barbato

Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero





More information about the ffmpeg-devel mailing list