[FFmpeg-devel] [PATCH] fix compilation in cygwin
Måns Rullgård
mans
Tue Jan 12 03:16:55 CET 2010
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.
>
> -Vitor
> Index: configure
> ===================================================================
> --- configure (revision 21124)
> +++ configure (working copy)
> @@ -950,6 +950,8 @@
> dos_paths
> ebp_available
> ebx_available
> + exp2
> + exp2f
> fast_64bit
> fast_cmov
> fast_unaligned
> @@ -965,6 +967,7 @@
> libdc1394_2
> llrint
> log2
> + log2f
> loongson
> lrint
> lrintf
> @@ -2370,8 +2373,11 @@
> check_lib math.h sin -lm
> check_lib va/va.h vaInitialize -lva
>
> +check_func exp2
> +check_func exp2f
> check_func llrint
> check_func log2
> +check_func log2f
> check_func lrint
> check_func lrintf
> check_func round
> Index: libavutil/internal.h
> ===================================================================
> --- libavutil/internal.h (revision 21124)
> +++ libavutil/internal.h (working copy)
> @@ -263,6 +263,20 @@
> }\
> }
>
> +#if !HAVE_EXP2
> +static av_always_inline av_const double exp2(double x)
> +{
> + return exp(x * 0.693147180559945);
> +}
> +#endif /* HAVE_EXP2 */
> +
> +#if !HAVE_EXP2F
> +static av_always_inline av_const float exp2f(float x)
> +{
> + return exp2(x);
> +}
> +#endif /* HAVE_EXP2F */
> +
> #if !HAVE_LLRINT
> static av_always_inline av_const long long llrint(double x)
> {
> @@ -277,6 +291,13 @@
> }
> #endif /* HAVE_LOG2 */
>
> +#if !HAVE_LOG2F
> +static av_always_inline av_const float log2f(float x)
> +{
> + return log2(x);
> +}
> +#endif /* HAVE_LOG2F */
> +
> #if !HAVE_LRINT
> static av_always_inline av_const long int lrint(double x)
> {
I'm fine with this. Please commit it so we get rid of those build
failures.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list