summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2010-06-01 08:07:15 +0000
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2010-06-01 08:07:15 +0000
commit0cd28d94940a61c4532ba0bf4e3c2330f1421be4 (patch)
tree7f393815586fc8643667da2e19963816676147d1
parent9711439b44a672d2a2f35e78bdba16fdfb5c817d (diff)
Cosmetics: consistently apply K&R style.
Make me and Diego happy. Originally committed as revision 23404 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/eval.c135
1 files changed, 71 insertions, 64 deletions
diff --git a/libavcodec/eval.c b/libavcodec/eval.c
index 85b2565520..6a92891978 100644
--- a/libavcodec/eval.c
+++ b/libavcodec/eval.c
@@ -29,7 +29,7 @@
#include "libavutil/avutil.h"
#include "eval.h"
-typedef struct Parser{
+typedef struct Parser {
const AVClass *class;
int stack_index;
char *s;
@@ -48,7 +48,7 @@ typedef struct Parser{
static const AVClass class = { "Eval", av_default_item_name, NULL, LIBAVUTIL_VERSION_INT, offsetof(Parser,log_offset), offsetof(Parser,log_ctx) };
-static const int8_t si_prefixes['z' - 'E' + 1]={
+static const int8_t si_prefixes['z' - 'E' + 1] = {
['y'-'E']= -24,
['z'-'E']= -21,
['a'-'E']= -18,
@@ -71,27 +71,27 @@ static const int8_t si_prefixes['z' - 'E' + 1]={
['Y'-'E']= 24,
};
-double av_strtod(const char *numstr, char **tail) {
+double av_strtod(const char *numstr, char **tail)
+{
double d;
char *next;
d = strtod(numstr, &next);
/* if parsing succeeded, check for and interpret postfixes */
if (next!=numstr) {
-
- if(*next >= 'E' && *next <= 'z'){
+ if (*next >= 'E' && *next <= 'z') {
int e= si_prefixes[*next - 'E'];
- if(e){
- if(next[1] == 'i'){
+ if (e) {
+ if (next[1] == 'i') {
d*= pow( 2, e/0.3);
next+=2;
- }else{
+ } else {
d*= pow(10, e);
next++;
}
}
}
- if(*next=='B') {
+ if (*next=='B') {
d*=8;
next++;
}
@@ -103,10 +103,11 @@ double av_strtod(const char *numstr, char **tail) {
return d;
}
-static int strmatch(const char *s, const char *prefix){
+static int strmatch(const char *s, const char *prefix)
+{
int i;
- for(i=0; prefix[i]; i++){
- if(prefix[i] != s[i]) return 0;
+ for (i=0; prefix[i]; i++) {
+ if (prefix[i] != s[i]) return 0;
}
return 1;
}
@@ -129,7 +130,8 @@ struct AVExpr {
struct AVExpr *param[2];
};
-static double eval_expr(Parser * p, AVExpr * e) {
+static double eval_expr(Parser *p, AVExpr *e)
+{
switch (e->type) {
case e_value: return e->value;
case e_const: return e->value * p->const_values[e->a.const_index];
@@ -141,7 +143,7 @@ static double eval_expr(Parser * p, AVExpr * e) {
case e_ld: return e->value * p->var[av_clip(eval_expr(p, e->param[0]), 0, VARS-1)];
case e_while: {
double d = NAN;
- while(eval_expr(p, e->param[0]))
+ while (eval_expr(p, e->param[0]))
d=eval_expr(p, e->param[1]);
return d;
}
@@ -169,7 +171,8 @@ static double eval_expr(Parser * p, AVExpr * e) {
static int parse_expr(AVExpr **e, Parser *p);
-void ff_free_expr(AVExpr * e) {
+void ff_free_expr(AVExpr *e)
+{
if (!e) return;
ff_free_expr(e->param[0]);
ff_free_expr(e->param[1]);
@@ -178,7 +181,7 @@ void ff_free_expr(AVExpr * e) {
static int parse_primary(AVExpr **e, Parser *p)
{
- AVExpr * d = av_mallocz(sizeof(AVExpr));
+ AVExpr *d = av_mallocz(sizeof(AVExpr));
char *next= p->s;
int ret, i;
@@ -187,7 +190,7 @@ static int parse_primary(AVExpr **e, Parser *p)
/* number */
d->value = av_strtod(p->s, &next);
- if(next != p->s){
+ if (next != p->s) {
d->type = e_value;
p->s= next;
*e = d;
@@ -196,8 +199,8 @@ static int parse_primary(AVExpr **e, Parser *p)
d->value = 1;
/* named constants */
- for(i=0; p->const_names && p->const_names[i]; i++){
- if(strmatch(p->s, p->const_names[i])){
+ for (i=0; p->const_names && p->const_names[i]; i++) {
+ if (strmatch(p->s, p->const_names[i])) {
p->s+= strlen(p->const_names[i]);
d->type = e_const;
d->a.const_index = i;
@@ -207,7 +210,7 @@ static int parse_primary(AVExpr **e, Parser *p)
}
p->s= strchr(p->s, '(');
- if(p->s==NULL){
+ if (p->s==NULL) {
av_log(p, AV_LOG_ERROR, "undefined constant or missing (\n");
p->s= next;
ff_free_expr(d);
@@ -218,7 +221,7 @@ static int parse_primary(AVExpr **e, Parser *p)
av_freep(&d);
if ((ret = parse_expr(&d, p)) < 0)
return ret;
- if(p->s[0] != ')'){
+ if (p->s[0] != ')') {
av_log(p, AV_LOG_ERROR, "missing )\n");
ff_free_expr(d);
return AVERROR(EINVAL);
@@ -231,11 +234,11 @@ static int parse_primary(AVExpr **e, Parser *p)
ff_free_expr(d);
return ret;
}
- if(p->s[0]== ','){
+ if (p->s[0]== ',') {
p->s++; // ","
parse_expr(&d->param[1], p);
}
- if(p->s[0] != ')'){
+ if (p->s[0] != ')') {
av_log(p, AV_LOG_ERROR, "missing )\n");
ff_free_expr(d);
return AVERROR(EINVAL);
@@ -243,34 +246,34 @@ static int parse_primary(AVExpr **e, Parser *p)
p->s++; // ")"
d->type = e_func0;
- if( strmatch(next, "sinh" ) ) d->a.func0 = sinh;
- else if( strmatch(next, "cosh" ) ) d->a.func0 = cosh;
- else if( strmatch(next, "tanh" ) ) d->a.func0 = tanh;
- else if( strmatch(next, "sin" ) ) d->a.func0 = sin;
- else if( strmatch(next, "cos" ) ) d->a.func0 = cos;
- else if( strmatch(next, "tan" ) ) d->a.func0 = tan;
- else if( strmatch(next, "atan" ) ) d->a.func0 = atan;
- else if( strmatch(next, "asin" ) ) d->a.func0 = asin;
- else if( strmatch(next, "acos" ) ) d->a.func0 = acos;
- else if( strmatch(next, "exp" ) ) d->a.func0 = exp;
- else if( strmatch(next, "log" ) ) d->a.func0 = log;
- else if( strmatch(next, "abs" ) ) d->a.func0 = fabs;
- else if( strmatch(next, "squish") ) d->type = e_squish;
- else if( strmatch(next, "gauss" ) ) d->type = e_gauss;
- else if( strmatch(next, "mod" ) ) d->type = e_mod;
- else if( strmatch(next, "max" ) ) d->type = e_max;
- else if( strmatch(next, "min" ) ) d->type = e_min;
- else if( strmatch(next, "eq" ) ) d->type = e_eq;
- else if( strmatch(next, "gte" ) ) d->type = e_gte;
- else if( strmatch(next, "gt" ) ) d->type = e_gt;
- else if( strmatch(next, "lte" ) ) { AVExpr * tmp = d->param[1]; d->param[1] = d->param[0]; d->param[0] = tmp; d->type = e_gt; }
- else if( strmatch(next, "lt" ) ) { AVExpr * tmp = d->param[1]; d->param[1] = d->param[0]; d->param[0] = tmp; d->type = e_gte; }
- else if( strmatch(next, "ld" ) ) d->type = e_ld;
- else if( strmatch(next, "st" ) ) d->type = e_st;
- else if( strmatch(next, "while" ) ) d->type = e_while;
+ if (strmatch(next, "sinh" )) d->a.func0 = sinh;
+ else if (strmatch(next, "cosh" )) d->a.func0 = cosh;
+ else if (strmatch(next, "tanh" )) d->a.func0 = tanh;
+ else if (strmatch(next, "sin" )) d->a.func0 = sin;
+ else if (strmatch(next, "cos" )) d->a.func0 = cos;
+ else if (strmatch(next, "tan" )) d->a.func0 = tan;
+ else if (strmatch(next, "atan" )) d->a.func0 = atan;
+ else if (strmatch(next, "asin" )) d->a.func0 = asin;
+ else if (strmatch(next, "acos" )) d->a.func0 = acos;
+ else if (strmatch(next, "exp" )) d->a.func0 = exp;
+ else if (strmatch(next, "log" )) d->a.func0 = log;
+ else if (strmatch(next, "abs" )) d->a.func0 = fabs;
+ else if (strmatch(next, "squish")) d->type = e_squish;
+ else if (strmatch(next, "gauss" )) d->type = e_gauss;
+ else if (strmatch(next, "mod" )) d->type = e_mod;
+ else if (strmatch(next, "max" )) d->type = e_max;
+ else if (strmatch(next, "min" )) d->type = e_min;
+ else if (strmatch(next, "eq" )) d->type = e_eq;
+ else if (strmatch(next, "gte" )) d->type = e_gte;
+ else if (strmatch(next, "gt" )) d->type = e_gt;
+ else if (strmatch(next, "lte" )) { AVExpr *tmp = d->param[1]; d->param[1] = d->param[0]; d->param[0] = tmp; d->type = e_gt; }
+ else if (strmatch(next, "lt" )) { AVExpr *tmp = d->param[1]; d->param[1] = d->param[0]; d->param[0] = tmp; d->type = e_gte; }
+ else if (strmatch(next, "ld" )) d->type = e_ld;
+ else if (strmatch(next, "st" )) d->type = e_st;
+ else if (strmatch(next, "while" )) d->type = e_while;
else {
- for(i=0; p->func1_names && p->func1_names[i]; i++){
- if(strmatch(next, p->func1_names[i])){
+ for (i=0; p->func1_names && p->func1_names[i]; i++) {
+ if (strmatch(next, p->func1_names[i])) {
d->a.func1 = p->funcs1[i];
d->type = e_func1;
*e = d;
@@ -278,8 +281,8 @@ static int parse_primary(AVExpr **e, Parser *p)
}
}
- for(i=0; p->func2_names && p->func2_names[i]; i++){
- if(strmatch(next, p->func2_names[i])){
+ for (i=0; p->func2_names && p->func2_names[i]; i++) {
+ if (strmatch(next, p->func2_names[i])) {
d->a.func2 = p->funcs2[i];
d->type = e_func2;
*e = d;
@@ -296,8 +299,9 @@ static int parse_primary(AVExpr **e, Parser *p)
return 0;
}
-static AVExpr * new_eval_expr(int type, int value, AVExpr *p0, AVExpr *p1){
- AVExpr * e = av_mallocz(sizeof(AVExpr));
+static AVExpr *new_eval_expr(int type, int value, AVExpr *p0, AVExpr *p1)
+{
+ AVExpr *e = av_mallocz(sizeof(AVExpr));
if (!e)
return NULL;
e->type =type ;
@@ -347,7 +351,7 @@ static int parse_term(AVExpr **e, Parser *p)
AVExpr *e0, *e1, *e2;
if ((ret = parse_factor(&e0, p)) < 0)
return ret;
- while(p->s[0]=='*' || p->s[0]=='/'){
+ while (p->s[0]=='*' || p->s[0]=='/') {
int c= *p->s++;
e1 = e0;
if ((ret = parse_factor(&e2, p)) < 0) {
@@ -371,7 +375,7 @@ static int parse_subexpr(AVExpr **e, Parser *p)
AVExpr *e0, *e1, *e2;
if ((ret = parse_term(&e0, p)) < 0)
return ret;
- while(*p->s == '+' || *p->s == '-') {
+ while (*p->s == '+' || *p->s == '-') {
e1 = e0;
if ((ret = parse_term(&e2, p)) < 0) {
ff_free_expr(e1);
@@ -393,13 +397,13 @@ static int parse_expr(AVExpr **e, Parser *p)
{
int ret;
AVExpr *e0, *e1, *e2;
- if(p->stack_index <= 0) //protect against stack overflows
+ if (p->stack_index <= 0) //protect against stack overflows
return AVERROR(EINVAL);
p->stack_index--;
if ((ret = parse_subexpr(&e0, p)) < 0)
return ret;
- while(*p->s == ';') {
+ while (*p->s == ';') {
e1 = e0;
if ((ret = parse_subexpr(&e2, p)) < 0) {
ff_free_expr(e1);
@@ -419,7 +423,8 @@ static int parse_expr(AVExpr **e, Parser *p)
return 0;
}
-static int verify_expr(AVExpr * e) {
+static int verify_expr(AVExpr *e)
+{
if (!e) return 0;
switch (e->type) {
case e_value:
@@ -476,7 +481,8 @@ end:
return ret;
}
-double ff_eval_expr(AVExpr *e, const double *const_values, void *opaque) {
+double ff_eval_expr(AVExpr *e, const double *const_values, void *opaque)
+{
Parser p;
p.const_values = const_values;
@@ -504,17 +510,18 @@ int ff_parse_and_eval_expr(double *d, const char *s,
#ifdef TEST
#undef printf
-static double const_values[]={
+static double const_values[] = {
M_PI,
M_E,
0
};
-static const char *const_names[]={
+static const char *const_names[] = {
"PI",
"E",
0
};
-int main(void){
+int main(void)
+{
int i;
double d;
ff_parse_and_eval_expr(&d, "1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)", const_names, const_values, NULL, NULL, NULL, NULL, NULL, 0, NULL);
@@ -522,7 +529,7 @@ int main(void){
ff_parse_and_eval_expr(&d, "80G/80Gi", const_names, const_values, NULL, NULL, NULL, NULL, NULL, NULL);
printf("%f == 0.931322575\n", d);
- for(i=0; i<1050; i++){
+ for (i=0; i<1050; i++) {
START_TIMER
ff_parse_and_eval_expr(&d, "1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)", const_names, const_values, NULL, NULL, NULL, NULL, NULL, 0, NULL);
STOP_TIMER("ff_parse_and_eval_expr")