[FFmpeg-devel] [PATCH] fix compilation in cygwin

Vitor Sessak vitor1001
Tue Jan 12 14:50:09 CET 2010

M?ns Rullg?rd wrote:
> Vitor Sessak <vitor1001 at gmail.com> writes:
>> M?ns Rullg?rd wrote:
>>> Michael Kostylev <michael.kostylev at gmail.com> writes:
>>>> On Sun Jan 10 21:55:50 2010
>>>> Vitor Sessak wrote:
>>>>>>> +#if !HAVE_EXP2F
>>>>>>> +static av_always_inline av_const float exp2f(float x)
>>>>>>> +{
>>>>>>> +    return exp(x) * 0.693147180559945;
>>>>>>> +}
>>>>>>> +#endif /* HAVE_EXP2F */
>>>>>> Same again.  exp2() should be preferred.
>>>>> Let's hope that at least exp2() is supported...
>>>> exp2() is missing in NetBSD and DragonFly.
>>> We have a replacement for it, so it's OK.
>> We have a replacement for log2(), but not for exp2().
>> I'm slightly favorable of adding a replacement for exp2() (as
>> attached) as we do for log2(), since we can get some speed gain in
>> platforms where exp2() is supported and we'll eventually need exp2()
>> sooner or later.
>> [...]
> Well, this caused things to break in new and interesting ways:
> libavutil/internal.h:275: error: static declaration of 'exp2f' follows non-static declaration
> libavutil/internal.h:296: error: static declaration of 'log2f' follows non-static declaration
> uClibc apparently has declarations for those functions, but no actual
> implementations.  This is truly the week of idiots.

BTW, wouldn't compilation fail if log2f() is a macro? It looks to be the 
case for cygwin. I've wrote a quick patch to fix it.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix_mingw5.diff
Type: text/x-patch
Size: 1080 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100112/4bf3f38e/attachment.bin>

More information about the ffmpeg-devel mailing list