summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>2015-12-21 19:05:00 -0800
committerGanesh Ajjanagadde <gajjanagadde@gmail.com>2015-12-23 09:22:59 -0800
commite29db08cf7f68fefe18f043250e2292aaf91ef3b (patch)
treed69978eab4ed9dbf310009a7aa64bfba794da728 /configure
parent520a5d33f0ea9f8838dbc7282470db700d248065 (diff)
lavu/libm: add exp10 support
exp10 is a function available in GNU libm. Looks like no other common libm has it. This adds support for it to FFmpeg. There are essentially 2 ways of handling the fallback: 1. Using pow(10, x) 2. Using exp2(M_LOG2_10 * x). First one represents a Pareto improvement, with no speed or accuracy regression anywhere, but speed improvement limited to GNU libm. Second one represents a slight accuracy loss (relative error ~ 1e-13) for non GNU libm. Speedup of > 2x is obtained on non GNU libm platforms, ~30% on GNU libm. These are "average case numbers", another benefit is the lack of triggering of the well-known terrible worst case paths through pow. Based on reviews, second one chosen. Comment added accordingly. Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure2
1 files changed, 2 insertions, 0 deletions
diff --git a/configure b/configure
index 5de470c583..ba7722186e 100755
--- a/configure
+++ b/configure
@@ -1815,6 +1815,8 @@ MATH_FUNCS="
copysign
cosf
erf
+ exp10
+ exp10f
exp2
exp2f
expf