Browse Source

eval: add support for pow() function

It is a more search-friendly alternative to the ^ operator.
tags/n0.8
Stefano Sabatini 14 years ago
parent
commit
d58ed64a89
3 changed files with 10 additions and 1 deletions
  1. +4
    -0
      doc/eval.texi
  2. +1
    -1
      libavutil/avutil.h
  3. +5
    -0
      libavutil/eval.c

+ 4
- 0
doc/eval.texi View File

@@ -79,6 +79,10 @@ Compute the square root of @var{expr}. This is equivalent to

@item not(expr)
Return 1.0 if @var{expr} is zero, 0.0 otherwise.

@item pow(x, y)
Compute the power of @var{x} elevated @var{y}, it is equivalent to
"(@var{x})^(@var{y})".
@end table

Note that:


+ 1
- 1
libavutil/avutil.h View File

@@ -41,7 +41,7 @@

#define LIBAVUTIL_VERSION_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 6
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_MICRO 1

#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \


+ 5
- 0
libavutil/eval.c View File

@@ -290,6 +290,7 @@ static int parse_primary(AVExpr **e, Parser *p)
else if (strmatch(next, "trunc" )) d->type = e_trunc;
else if (strmatch(next, "sqrt" )) d->type = e_sqrt;
else if (strmatch(next, "not" )) d->type = e_not;
else if (strmatch(next, "pow" )) d->type = e_pow;
else {
for (i=0; p->func1_names && p->func1_names[i]; i++) {
if (strmatch(next, p->func1_names[i])) {
@@ -643,6 +644,10 @@ int main(void)
"not(1)",
"not(NAN)",
"not(0)",
"pow(0,1.23)",
"pow(PI,1.23)",
"PI^1.23",
"pow(-1,1.23)",
NULL
};



Loading…
Cancel
Save