summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure2
-rw-r--r--libavutil/libm.h7
2 files changed, 9 insertions, 0 deletions
diff --git a/configure b/configure
index 32c3544fb3..dd44ba4739 100755
--- a/configure
+++ b/configure
@@ -1119,6 +1119,7 @@ HAVE_LIST="
sys_videoio_h
ten_operands
threads
+ trunc
truncf
vfp_args
VirtualAlloc
@@ -2852,6 +2853,7 @@ check_mathfunc lrint
check_mathfunc lrintf
check_mathfunc round
check_mathfunc roundf
+check_mathfunc trunc
check_mathfunc truncf
# these are off by default, so fail if requested and not available
diff --git a/libavutil/libm.h b/libavutil/libm.h
index 704bcf9554..783f3cdfab 100644
--- a/libavutil/libm.h
+++ b/libavutil/libm.h
@@ -86,6 +86,13 @@ static av_always_inline av_const float roundf(float x)
}
#endif /* HAVE_ROUNDF */
+#if !HAVE_TRUNC
+static av_always_inline av_const double trunc(double x)
+{
+ return (x > 0) ? floor(x) : ceil(x);
+}
+#endif /* HAVE_TRUNC */
+
#if !HAVE_TRUNCF
static av_always_inline av_const float truncf(float x)
{