MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / verify_expr

Function verify_expr

libavutil/eval.c:694–733  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

692}
693
694static int verify_expr(AVExpr *e)
695{
696 if (!e) return 0;
697 switch (e->type) {
698 case e_value:
699 case e_const: return 1;
700 case e_func0:
701 case e_func1:
702 case e_squish:
703 case e_ld:
704 case e_gauss:
705 case e_isnan:
706 case e_isinf:
707 case e_floor:
708 case e_ceil:
709 case e_trunc:
710 case e_round:
711 case e_sqrt:
712 case e_not:
713 case e_random:
714 case e_sgn:
715 return verify_expr(e->param[0]) && !e->param[1];
716 case e_print:
717 return verify_expr(e->param[0])
718 && (!e->param[1] || verify_expr(e->param[1]));
719 case e_if:
720 case e_ifnot:
721 case e_taylor:
722 return verify_expr(e->param[0]) && verify_expr(e->param[1])
723 && (!e->param[2] || verify_expr(e->param[2]));
724 case e_between:
725 case e_clip:
726 case e_lerp:
727 case e_randomi:
728 return verify_expr(e->param[0]) &&
729 verify_expr(e->param[1]) &&
730 verify_expr(e->param[2]);
731 default: return verify_expr(e->param[0]) && verify_expr(e->param[1]) && !e->param[2];
732 }
733}
734
735int av_expr_parse(AVExpr **expr, const char *s,
736 const char * const *const_names,

Callers 1

av_expr_parseFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected