Martin Storsjö <[email protected]> writes: > On Sun, 1 Jul 2012, Måns Rullgård wrote: > >> 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? > > Make fate works fine with this in place, and it is tested by the > fate-eval test. (I also extended this test to test isinf and the > INFINITY macro.)
I guess it's OK then. -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
