Browse Source

Add a log2 replacement for systems that haven't quite caught up with the C99

standard library.

Originally committed as revision 19395 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Alex Converse 16 years ago
parent
commit
291fd18a6e
2 changed files with 9 additions and 1 deletions
  1. +2
    -1
      configure
  2. +7
    -0
      libavutil/internal.h

+ 2
- 1
configure View File

@@ -911,6 +911,7 @@ HAVE_LIST="
libdc1394_1
libdc1394_2
llrint
log2
loongson
lrint
lrintf
@@ -2078,7 +2079,7 @@ check_lib math.h sin -lm
check_lib va/va.h vaInitialize -lva

# test for C99 functions in math.h
for func in llrint lrint lrintf round roundf truncf; do
for func in llrint log2 lrint lrintf round roundf truncf; do
check_exec <<EOF && enable $func || disable $func
#include <math.h>
int main(void) { return ($func(3.999f) > 0)?0:1; }


+ 7
- 0
libavutil/internal.h View File

@@ -265,6 +265,13 @@ static av_always_inline av_const long long llrint(double x)
}
#endif /* HAVE_LLRINT */

#if !HAVE_LOG2
static av_always_inline av_const double log2(double x)
{
return log(x) * 1.44269504088896340736;
}
#endif /* HAVE_LOG2 */

#if !HAVE_LRINT
static av_always_inline av_const long int lrint(double x)
{


Loading…
Cancel
Save