eval.h 1.9 KB
Newer Older
Panagiotis Issaris's avatar
Panagiotis Issaris committed
1 2 3 4 5
/*
 * simple arithmetic expression evaluator
 *
 * Copyright (c) 2002 Michael Niedermayer <michaelni@gmx.at>
 *
6 7 8
 * This file is part of FFmpeg.
 *
 * FFmpeg is free software; you can redistribute it and/or
Panagiotis Issaris's avatar
Panagiotis Issaris committed
9 10
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
11
 * version 2.1 of the License, or (at your option) any later version.
Panagiotis Issaris's avatar
Panagiotis Issaris committed
12
 *
13
 * FFmpeg is distributed in the hope that it will be useful,
Panagiotis Issaris's avatar
Panagiotis Issaris committed
14 15 16 17 18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
19
 * License along with FFmpeg; if not, write to the Free Software
Panagiotis Issaris's avatar
Panagiotis Issaris committed
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */

/**
 * @file eval.h
 * eval header.
 */

#ifndef AVCODEC_EVAL_H
#define AVCODEC_EVAL_H

#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
double ff_eval(char *s, double *const_value, const char **const_name,
               double (**func1)(void *, double), const char **func1_name,
               double (**func2)(void *, double, double), char **func2_name,
               void *opaque);
#endif
double ff_eval2(char *s, double *const_value, const char **const_name,
               double (**func1)(void *, double), const char **func1_name,
               double (**func2)(void *, double, double), char **func2_name,
               void *opaque, char **error);

42 43 44 45 46 47 48 49
typedef struct ff_expr_s AVEvalExpr;
AVEvalExpr * ff_parse(char *s, const char **const_name,
               double (**func1)(void *, double), const char **func1_name,
               double (**func2)(void *, double, double), char **func2_name,
               char **error);
double ff_parse_eval(AVEvalExpr * e, double *const_value, void *opaque);
void ff_eval_free(AVEvalExpr * e);

Panagiotis Issaris's avatar
Panagiotis Issaris committed
50
#endif /* AVCODEC_EVAL_H */