[FFmpeg-devel] Parallelized h264 proof-of-concept

Mathieu Monnier manao
Fri May 18 23:18:17 CEST 2007


> o deblocking doesn't work correctly. 

There's a flag (per picture?) indicating whether the deblocking must be 
done accross slice boudaries or not.

-

However, if I recall correctly during the multiple times multithreading 
was discussed, Loren and Michael pointed out that the possibly best way 
to multithread the decoding was to decode several frames in parallel ( 
see for example 
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/029054.html )

It's not really more complicated that what you tried. You don't have to 
care about deblocking, but you must remember the last decoeded and 
deblocked row of each frame, and test each motion vectors against those.

That would mimick the way the multithreading is done in x264 during the 
encoding ( and it is an efficient method, both from the coding 
efficiency point of view and from the scaling point of view ).

And, more importantly, it wouldn't depend on the encoding configuration 
of the video itself, which cannot be controlled most of the time.

Apart from Apple, whose encoder is used afaict only for trailers, the 
professionnal realtime encoders that will be used for HDTV may or may 
not use slices, and I know for a fact that at least one doesn't. For 
those encoders, your patch wouldn't help ( OK, those encoders use PAFF 
anyway, even a sliceless threading wouldn't help, but that's another 
story... )

Regards,

Mathieu





More information about the ffmpeg-devel mailing list