Lines Matching defs:eval_expr
184 static double eval_expr(Parser *p, AVExpr *e)
189 case e_func0: return e->value * e->a.func0(eval_expr(p, e->param[0]));
190 case e_func1: return e->value * e->a.func1(p->opaque, eval_expr(p, e->param[0]));
191 case e_func2: return e->value * e->a.func2(p->opaque, eval_expr(p, e->param[0]), eval_expr(p, e->param[1]));
192 case e_squish: return 1/(1+exp(4*eval_expr(p, e->param[0])));
193 case e_gauss: { double d = eval_expr(p, e->param[0]); return exp(-d*d/2)/sqrt(2*M_PI); }
194 case e_ld: return e->value * p->var[av_clip(eval_expr(p, e->param[0]), 0, VARS-1)];
195 case e_isnan: return e->value * !!isnan(eval_expr(p, e->param[0]));
196 case e_isinf: return e->value * !!isinf(eval_expr(p, e->param[0]));
197 case e_floor: return e->value * floor(eval_expr(p, e->param[0]));
198 case e_ceil : return e->value * ceil (eval_expr(p, e->param[0]));
199 case e_trunc: return e->value * trunc(eval_expr(p, e->param[0]));
200 case e_round: return e->value * round(eval_expr(p, e->param[0]));
201 case e_sgn: return e->value * FFDIFFSIGN(eval_expr(p, e->param[0]), 0);
202 case e_sqrt: return e->value * sqrt (eval_expr(p, e->param[0]));
203 case e_not: return e->value * (eval_expr(p, e->param[0]) == 0);
204 case e_if: return e->value * (eval_expr(p, e->param[0]) ? eval_expr(p, e->param[1]) :
205 e->param[2] ? eval_expr(p, e->param[2]) : 0);
206 case e_ifnot: return e->value * (!eval_expr(p, e->param[0]) ? eval_expr(p, e->param[1]) :
207 e->param[2] ? eval_expr(p, e->param[2]) : 0);
209 double x = eval_expr(p, e->param[0]);
210 double min = eval_expr(p, e->param[1]), max = eval_expr(p, e->param[2]);
213 return e->value * av_clipd(eval_expr(p, e->param[0]), min, max);
216 double d = eval_expr(p, e->param[0]);
217 return e->value * (d >= eval_expr(p, e->param[1]) &&
218 d <= eval_expr(p, e->param[2]));
221 double v0 = eval_expr(p, e->param[0]);
222 double v1 = eval_expr(p, e->param[1]);
223 double f = eval_expr(p, e->param[2]);
227 double x = eval_expr(p, e->param[0]);
228 int level = e->param[1] ? av_clip(eval_expr(p, e->param[1]), INT_MIN, INT_MAX) : AV_LOG_INFO;
233 int idx= av_clip(eval_expr(p, e->param[0]), 0, VARS-1);
241 while (eval_expr(p, e->param[0]))
242 d=eval_expr(p, e->param[1]);
247 double x = eval_expr(p, e->param[1]);
248 int id = e->param[2] ? av_clip(eval_expr(p, e->param[2]), 0, VARS-1) : 0;
254 v = eval_expr(p, e->param[0]);
267 double x_max = eval_expr(p, e->param[1]);
277 v = eval_expr(p, e->param[0]);
291 v = eval_expr(p, e->param[0]);
306 double d = eval_expr(p, e->param[0]);
307 double d2 = eval_expr(p, e->param[1]);
773 return eval_expr(&p, e);