diff options
author | Alex Converse <alex.converse@gmail.com> | 2009-07-10 19:20:06 +0000 |
---|---|---|
committer | Alex Converse <alex.converse@gmail.com> | 2009-07-10 19:20:06 +0000 |
commit | 291fd18a6ede0fc6a6d35c9a98af6ae7fd6d6117 (patch) | |
tree | c850a66c9a9c6109680c6f14582963c7c6cbe5e8 | |
parent | 451ae257242c4e10b6f1e816e14638bb45ad762b (diff) | |
download | ffmpeg-291fd18a6ede0fc6a6d35c9a98af6ae7fd6d6117.tar.gz |
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
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | libavutil/internal.h | 7 |
2 files changed, 9 insertions, 1 deletions
@@ -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; } diff --git a/libavutil/internal.h b/libavutil/internal.h index a80ea2470b..1012f1c690 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -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) { |