[FFmpeg-cvslog] Provide a fallback version of the libm function trunc

Martin Storsjö git at videolan.org
Fri Apr 22 03:58:45 CEST 2011


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Thu Apr 21 13:02:38 2011 +0200| [23d3931a6a8a37bb7e86bd6cb4709eb46031bfe1] | committer: Martin Storsjö

Provide a fallback version of the libm function trunc

This fixes compilation on DOS.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=23d3931a6a8a37bb7e86bd6cb4709eb46031bfe1
---

 configure        |    2 ++
 libavutil/libm.h |    7 +++++++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/configure b/configure
index 32c3544..dd44ba4 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 704bcf9..783f3cd 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)
 {



More information about the ffmpeg-cvslog mailing list