summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>2015-11-14 11:57:28 -0500
committerGanesh Ajjanagadde <gajjanagadde@gmail.com>2015-11-21 08:51:49 -0500
commit275aca8fba50e77af16627d8d5db4b3d4987d889 (patch)
tree7b0d88db7fb09ddbe2235c5caf43a5832d580fe1 /configure
parent14ea4151d7c3c26500193f11ac661ed20c7c2b9c (diff)
configure+libm.h: add hypot emulation
It is known that the naive sqrt(x*x + y*y) approach for computing the hypotenuse suffers from overflow and accuracy issues, see e.g http://www.johndcook.com/blog/2010/06/02/whats-so-hard-about-finding-a-hypotenuse/. This adds hypot support to FFmpeg, a C99 function. On platforms without hypot, this patch does a reaonable workaround, that although not as accurate as GNU libm, is readable and does not suffer from the overflow issue. Improvements can be made separately. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> 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 9a736ce2a4..4a288364a3 100755
--- a/configure
+++ b/configure
@@ -1773,6 +1773,7 @@ MATH_FUNCS="
exp2
exp2f
expf
+ hypot
isinf
isnan
ldexpf
@@ -5308,6 +5309,7 @@ disabled crystalhd || check_lib libcrystalhd/libcrystalhd_if.h DtsCrystalHDVersi
atan2f_args=2
copysign_args=2
+hypot_args=2
ldexpf_args=2
powf_args=2