[FFmpeg-devel] [PATCH/RFC] Trac ticket 2363

Hendrik Leppkes h.leppkes at gmail.com
Sun Mar 17 22:58:19 CET 2013

On Sun, Mar 17, 2013 at 10:27 PM, James Almer <jamrial at gmail.com> wrote:
> lavu/atomic.c is not compiling with gcc when using -march=i386 and w32threads
> or os2threads because __sync_val_compare_and_swap() is not defined and the
> fallback implementation currently only supports pthreads.
> Mingw-w64 has MemoryBarrier() defined even when using -march=i386, so this is
> not as much of a problem as it is with mingw32.
> I was able to make it work using the pthreads wrappers from libavcodec, but
> I'm not sure if this is a proper fix or not since threading is not my field of
> expertise.
> I'm attaching two versions of the proposed patch. Both are essentially the
> same, but one alters the pthreads implementation for the sake of cleaner code.
> I didn't test with the pthreads wrapper for os2threads because i have no way
> to do it, but in theory it should work as well.
> I'll send an actual patch once (and if) one of these is accepted.
> Regards.

Personally i'm in favor of simply calling the ancient and deprecated
mingw32 unsupported, and redirect people to mingw-w64.
There is several issues with it, and many things are not properly supported.

Additionally, why would you build for arch=i386?

More information about the ffmpeg-devel mailing list