[Ffmpeg-devel] Threading in libavcodec

Michael Niedermayer michaelni
Mon Jan 23 13:31:54 CET 2006


On Mon, Jan 23, 2006 at 10:34:35AM +0100, Mathieu Monnier wrote:
> >>> Libavcodec can optionally be compiled to use multiple threads.
> >>> This improves encoding speed on multiprocessor machines.
> >> And lowers quality.
> > Or increases bitrate.
> >> XviD implements multithreading without losing any efficiency, and
> >> scales well, while lavc, from what you're saying, doesn't.
> > I didn't say it, Rich did. Rich is, as we all know, obsessed with
> > image quality.
> Anyway, I rather wanted to put the emphasis on the fact that threading 
> can be implemented in a way that doesn't reduce the coding efficiency, 
> as XviD proved it.

wait, you can always implement anything with 2 threads what can be done
with 1 binary identically, the question is how fast it is

its always a tradeoff between speed, quality and complexity
now i wanted to look at xvid, but i cant find any multithreaded code in cvs
am i blind? IIRC there was some patch for multithreaded motion estimation
on the xvid-dev list, is that what you are talking about?

furthermore it would be interresting to see some comparission betweeen xvid
and lavcs multithreading speed and quality change (on the same OS of course)

and last, keep in mind that the way lavc splits the image during 
multithreaded encoding has the advantage that it could also be decoded with
multiple threads


More information about the ffmpeg-devel mailing list