Martin Storsjö <[email protected]> writes:

> From: "Ronald S. Bultje" <[email protected]>
>
> Some compilers, MSVC among them, don't recognize the divisions by
> zero as meaning infinity/nan.
>
> These macros should, according to the standard, expand to constant
> expressions, but this shouldn't matter for our usage.
> ---
>  libavutil/mathematics.h |    5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/libavutil/mathematics.h b/libavutil/mathematics.h
> index a734b75..043dd0f 100644
> --- a/libavutil/mathematics.h
> +++ b/libavutil/mathematics.h
> @@ -25,6 +25,7 @@
>  #include <math.h>
>  #include "attributes.h"
>  #include "rational.h"
> +#include "intfloat.h"
>
>  #ifndef M_LOG2_10
>  #define M_LOG2_10      3.32192809488736234787  /* log_2 10 */
> @@ -33,10 +34,10 @@
>  #define M_PHI          1.61803398874989484820   /* phi / golden ratio */
>  #endif
>  #ifndef NAN
> -#define NAN            (0.0/0.0)
> +#define NAN            av_int2float(0x7fc00000)
>  #endif
>  #ifndef INFINITY
> -#define INFINITY       (1.0/0.0)
> +#define INFINITY       av_int2float(0x7f800000)
>  #endif
>
>  /**
> -- 

Seems OK, but did you make sure it works as expected?

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to