diff options
author | Ganesh Ajjanagadde <gajjanagadde@gmail.com> | 2015-11-14 11:57:28 -0500 |
---|---|---|
committer | Ganesh Ajjanagadde <gajjanagadde@gmail.com> | 2015-11-21 08:51:49 -0500 |
commit | 275aca8fba50e77af16627d8d5db4b3d4987d889 (patch) | |
tree | 7b0d88db7fb09ddbe2235c5caf43a5832d580fe1 /configure | |
parent | 14ea4151d7c3c26500193f11ac661ed20c7c2b9c (diff) | |
download | ffmpeg-275aca8fba50e77af16627d8d5db4b3d4987d889.tar.gz |
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-x | configure | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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 |