X-Git-Url: https://git.libav.org/?p=libav.git;a=blobdiff_plain;f=libavcodec%2Feval.h;h=5f208e599ae81cdc603d72c22f4cd69f09d59568;hp=bd72a2ef95bca9aa0e4b5c346c6ede80f9bd18bc;hb=2b65bb45b59389d25661f3b3df45daa721d8abc8;hpb=85c36856ff40dd57277dec6bb08f3376a6966375 diff --git a/libavcodec/eval.h b/libavcodec/eval.h index bd72a2ef95..5f208e599a 100644 --- a/libavcodec/eval.h +++ b/libavcodec/eval.h @@ -19,7 +19,7 @@ */ /** - * @file libavcodec/eval.h + * @file * simple arithmetic expression evaluator */ @@ -33,38 +33,40 @@ typedef struct AVExpr AVExpr; * Note, this is significantly slower than ff_eval_expr(). * * @param s expression as a zero terminated string for example "1+2^3+5*5+sin(2/3)" - * @param func1 NULL terminated array of function pointers for functions which take 1 argument - * @param func2 NULL terminated array of function pointers for functions which take 2 arguments * @param const_name NULL terminated array of zero terminated strings of constant identifers for example {"PI", "E", 0} + * @param const_value a zero terminated array of values for the identifers from const_name * @param func1_name NULL terminated array of zero terminated strings of func1 identifers + * @param func1 NULL terminated array of function pointers for functions which take 1 argument * @param func2_name NULL terminated array of zero terminated strings of func2 identifers - * @param error pointer to a char* which is set to an error message if something goes wrong - * @param const_value a zero terminated array of values for the identifers from const_name + * @param func2 NULL terminated array of function pointers for functions which take 2 arguments * @param opaque a pointer which will be passed to all functions from func1 and func2 + * @param log_ctx parent logging context * @return the value of the expression */ -double ff_parse_and_eval_expr(const char *s, const double *const_value, const char * const *const_name, - double (* const *func1)(void *, double), const char * const *func1_name, - double (* const *func2)(void *, double, double), const char * const *func2_name, - void *opaque, const char **error); +double ff_parse_and_eval_expr(const char *s, + const char * const *const_name, const double *const_value, + const char * const *func1_name, double (* const *func1)(void *, double), + const char * const *func2_name, double (* const *func2)(void *, double, double), + void *opaque, int log_offset, void *log_ctx); /** - * Parses a expression. + * Parses an expression. * * @param s expression as a zero terminated string for example "1+2^3+5*5+sin(2/3)" - * @param func1 NULL terminated array of function pointers for functions which take 1 argument - * @param func2 NULL terminated array of function pointers for functions which take 2 arguments * @param const_name NULL terminated array of zero terminated strings of constant identifers for example {"PI", "E", 0} * @param func1_name NULL terminated array of zero terminated strings of func1 identifers + * @param func1 NULL terminated array of function pointers for functions which take 1 argument * @param func2_name NULL terminated array of zero terminated strings of func2 identifers - * @param error pointer to a char* which is set to an error message if something goes wrong + * @param func2 NULL terminated array of function pointers for functions which take 2 arguments + * @param log_ctx parent logging context * @return AVExpr which must be freed with ff_free_expr() by the user when it is not needed anymore * NULL if anything went wrong */ -AVExpr *ff_parse_expr(const char *s, const char * const *const_name, - double (* const *func1)(void *, double), const char * const *func1_name, - double (* const *func2)(void *, double, double), const char * const *func2_name, - const char **error); +AVExpr *ff_parse_expr(const char *s, + const char * const *const_name, + const char * const *func1_name, double (* const *func1)(void *, double), + const char * const *func2_name, double (* const *func2)(void *, double, double), + int log_offset, void *log_ctx); /** * Evaluates a previously parsed expression.