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) {