diff options
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | libavutil/internal.h | 7 |
2 files changed, 9 insertions, 1 deletions
@@ -886,6 +886,7 @@ HAVE_LIST=" sys_videoio_h termios_h threads + truncf winsock2_h yasm " @@ -1875,7 +1876,7 @@ done check_lib math.h sin -lm # test for C99 functions in math.h -for func in llrint lrint lrintf round roundf; do +for func in llrint lrint lrintf round roundf truncf; do check_exec <<EOF && enable $func || disable $func #include <math.h> int main(void) { return ($func(3.999f) > 0)?0:1; } diff --git a/libavutil/internal.h b/libavutil/internal.h index bbf4407139..957566026d 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -294,4 +294,11 @@ static av_always_inline av_const float roundf(float x) } #endif /* HAVE_ROUNDF */ +#ifndef HAVE_TRUNCF +static av_always_inline av_const float truncf(float x) +{ + return (x > 0) ? floor(x) : ceil(x); +} +#endif /* HAVE_TRUNCF */ + #endif /* AVUTIL_INTERNAL_H */ |