Fix constness for func[12] parameters in ff_parse_expr() and
ff_parse_and_eval_expr(). Change func[12] attributes from "** func" to "* const * func". This is consistent with the semantics of the provided arrays of functions, which are not supposed to be changed by the ff_parse_* functions. Also fix the GCC compilation warnings: libavcodec/ratecontrol.c: In function ‘ff_rate_control_init’: libavcodec/ratecontrol.c:109: warning: passing argument 3 of ‘ff_parse_expr’ discards qualifiers from pointer target type libavcodec/eval.h:69: note: expected ‘double (**)(void *, double)’ but argument is of type ‘double (* const*)(void *, double)’ Originally committed as revision 22860 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
82fdcd449c
commit
fc7e2d34cf
@ -34,9 +34,9 @@ typedef struct Parser{
|
||||
char *s;
|
||||
const double *const_value;
|
||||
const char * const *const_name; // NULL terminated
|
||||
double (**func1)(void *, double a); // NULL terminated
|
||||
double (* const *func1)(void *, double a); // NULL terminated
|
||||
const char * const *func1_name; // NULL terminated
|
||||
double (**func2)(void *, double a, double b); // NULL terminated
|
||||
double (* const *func2)(void *, double a, double b); // NULL terminated
|
||||
const char * const *func2_name; // NULL terminated
|
||||
void *opaque;
|
||||
const char **error;
|
||||
@ -370,8 +370,8 @@ static int verify_expr(AVExpr * e) {
|
||||
}
|
||||
|
||||
AVExpr *ff_parse_expr(const char *s, const char * const *const_name,
|
||||
double (**func1)(void *, double), const char * const *func1_name,
|
||||
double (**func2)(void *, double, double), const char * const *func2_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){
|
||||
Parser p;
|
||||
AVExpr *e = NULL;
|
||||
@ -413,8 +413,8 @@ double ff_eval_expr(AVExpr * e, const double *const_value, void *opaque) {
|
||||
}
|
||||
|
||||
double ff_parse_and_eval_expr(const char *s, const double *const_value, const char * const *const_name,
|
||||
double (**func1)(void *, double), const char * const *func1_name,
|
||||
double (**func2)(void *, double, double), const char * const *func2_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){
|
||||
AVExpr * e = ff_parse_expr(s, const_name, func1, func1_name, func2, func2_name, error);
|
||||
double d;
|
||||
|
@ -44,8 +44,8 @@ typedef struct AVExpr AVExpr;
|
||||
* @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 (**func1)(void *, double), const char * const *func1_name,
|
||||
double (**func2)(void *, double, double), const char * const *func2_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);
|
||||
|
||||
/**
|
||||
@ -61,9 +61,10 @@ double ff_parse_and_eval_expr(const char *s, const double *const_value, const ch
|
||||
* @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 (**func1)(void *, double), const char * const *func1_name,
|
||||
double (**func2)(void *, double, double), const char * const *func2_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);
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user