[FFmpeg-devel] mutlithreading in ffmpeg?
fbarchard at google.com
Tue Mar 29 21:41:22 CEST 2011
On Mon, Mar 28, 2011 at 10:50 PM, Reimar Döffinger <Reimar.Doeffinger at gmx.de
> On 29 Mar 2011, at 03:32, Frank Barchard <fbarchard at google.com> wrote:
> > On Sun, Mar 27, 2011 at 2:52 AM, Reimar Döffinger
> > <Reimar.Doeffinger at gmx.de>wrote:
> >> On Sat, Mar 26, 2011 at 12:14:40PM +0100, Michael Niedermayer wrote:
> >>> This patch looks like it would break if libavcodec would be linked
> >>> with an application that itself also used static pthreads
> >> Not to mention that it will crash if an application dynamically loads
> >> libavcodec and then unloads it before exiting (i.e. the atexit code
> >> will no longer exist when the program exits).
> > Thats what Chromium does - Each tab is a process that loads
> > Closing a tab unloads the dll.
> > A DLL is really an .exe. The atexit code runs when the DLL is unloaded.
> At least "man atexit" does not specify any such behaviour, are you really
> sure you're not relying on an implementation detail?
MSDN documents _onexit better:
> Actually, are you really sure that you unload the avcodec dll separately
> before exiting the tab process, that seems like a pointless thing to do.
Correct. The process (for each tab) unloads the dll for us. The chromium
ffmpeg dll loader is here:
We picked up this static pthread patch from here:
Ran another test - ff vp8
>media_bench --flush --stream=video --video-threads=1 tulip2.webm
>media_bench --flush --stream=video --video-threads=2 tulip2.webm
just checking :)
More information about the ffmpeg-devel