From 49a78e6b8cbd83d070920b8250a4cf58a6b70d8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= Date: Wed, 2 Jan 2013 22:50:56 +0100 Subject: lavu/eval: handle div by zero in mod(). Similarly to 03f5043f5, we use the FTRAPV config setting. --- libavutil/eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libavutil/eval.c') diff --git a/libavutil/eval.c b/libavutil/eval.c index b41c95c838..6687b646f5 100644 --- a/libavutil/eval.c +++ b/libavutil/eval.c @@ -253,7 +253,7 @@ static double eval_expr(Parser *p, AVExpr *e) double d = eval_expr(p, e->param[0]); double d2 = eval_expr(p, e->param[1]); switch (e->type) { - case e_mod: return e->value * (d - floor(d/d2)*d2); + case e_mod: return e->value * (d - floor((!CONFIG_FTRAPV || d2) ? d / d2 : d * INFINITY) * d2); case e_gcd: return e->value * av_gcd(d,d2); case e_max: return e->value * (d > d2 ? d : d2); case e_min: return e->value * (d < d2 ? d : d2); -- cgit v1.2.3