[FFmpeg-devel] [RFC] Removing non-pthreads support
Alexander Strange
astrange
Tue Apr 20 00:04:19 CEST 2010
On Apr 19, 2010, at 5:55 PM, M?ns Rullg?rd wrote:
> Alexander Strange <astrange at ithinksw.com> writes:
>
>> On Apr 19, 2010, at 5:22 PM, Howard Chu wrote:
>>
>>> M?ns Rullg?rd wrote:
>>>> FFmpeg currently supports four different threading libraries:
>>>> pthreads, beos, win32, and OS/2. I suspect most people already use
>>>> pthreads, and all the relevant operating systems seem to have a
>>>> pthreads implementation, even OS/2. I'm not sure about old BeOS, but
>>>> I doubt anyone is still using that, much less with threads.
>>>>
>>>> To ease the maintenance burden, I suggest we drop support for all but
>>>> pthreads in FFmpeg. If there is a compelling reason for keeping any
>>>> of the others, please speak up now.
>>>>
>>> Just out of curiosity, what pthreads implementation on Windows are
>>> you referring to?
>>
>> This one:
>> http://sourceware.org/pthreads-win32/
>>
>> Unfortunately the last release isn't perfect - if you use it as a
>> static library you have to call some init code yourself. pthread.c
>> obviously doesn't do that since that's not required by pthreads, but
>> some distributions patched it.
>>
>> Ramiro's Windows builds now use a patch against the library itself
>> (autostatic) which gets rid of that, but I don't know if it's been
>> applied upstream. I hope it has since the idea of needing a local
>> patch for this is gross and prevents switching to some other
>> library.
>
> Does a plain build, with dynamically linked systems libs, work
> correctly? Pure static builds can fail in crazy ways with glibc too
> (thanks a lot, Drepper), so I'm not terribly concerned if this case
> requires an extra hack or two. What does the ffmpeg patch look like?
I believe the dynamic library works fine.
Patch:
http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/patches/to_upstream/01_static_pthread_O2.patch?revision=43316&view=markup
Don't know why it's not in pthread.c - I think I asked Ramiro to try it but he'd already switched to patching the library.
More information about the ffmpeg-devel
mailing list