[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