diff options
Diffstat (limited to 'doc/eval.texi')
-rw-r--r-- | doc/eval.texi | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/doc/eval.texi b/doc/eval.texi deleted file mode 100644 index e1fd7ee484..0000000000 --- a/doc/eval.texi +++ /dev/null @@ -1,156 +0,0 @@ -@chapter Expression Evaluation -@c man begin EXPRESSION EVALUATION - -When evaluating an arithmetic expression, Libav uses an internal -formula evaluator, implemented through the @file{libavutil/eval.h} -interface. - -An expression may contain unary, binary operators, constants, and -functions. - -Two expressions @var{expr1} and @var{expr2} can be combined to form -another expression "@var{expr1};@var{expr2}". -@var{expr1} and @var{expr2} are evaluated in turn, and the new -expression evaluates to the value of @var{expr2}. - -The following binary operators are available: @code{+}, @code{-}, -@code{*}, @code{/}, @code{^}. - -The following unary operators are available: @code{+}, @code{-}. - -The following functions are available: -@table @option -@item sinh(x) -@item cosh(x) -@item tanh(x) -@item sin(x) -@item cos(x) -@item tan(x) -@item atan(x) -@item asin(x) -@item acos(x) -@item exp(x) -@item log(x) -@item abs(x) -@item squish(x) -@item gauss(x) -@item isinf(x) -Return 1.0 if @var{x} is +/-INFINITY, 0.0 otherwise. -@item isnan(x) -Return 1.0 if @var{x} is NAN, 0.0 otherwise. - -@item mod(x, y) -@item max(x, y) -@item min(x, y) -@item eq(x, y) -@item gte(x, y) -@item gt(x, y) -@item lte(x, y) -@item lt(x, y) -@item st(var, expr) -Allow to store the value of the expression @var{expr} in an internal -variable. @var{var} specifies the number of the variable where to -store the value, and it is a value ranging from 0 to 9. The function -returns the value stored in the internal variable. - -@item ld(var) -Allow to load the value of the internal variable with number -@var{var}, which was previously stored with st(@var{var}, @var{expr}). -The function returns the loaded value. - -@item while(cond, expr) -Evaluate expression @var{expr} while the expression @var{cond} is -non-zero, and returns the value of the last @var{expr} evaluation, or -NAN if @var{cond} was always false. - -@item ceil(expr) -Round the value of expression @var{expr} upwards to the nearest -integer. For example, "ceil(1.5)" is "2.0". - -@item floor(expr) -Round the value of expression @var{expr} downwards to the nearest -integer. For example, "floor(-1.5)" is "-2.0". - -@item trunc(expr) -Round the value of expression @var{expr} towards zero to the nearest -integer. For example, "trunc(-1.5)" is "-1.0". - -@item sqrt(expr) -Compute the square root of @var{expr}. This is equivalent to -"(@var{expr})^.5". - -@item not(expr) -Return 1.0 if @var{expr} is zero, 0.0 otherwise. -@end table - -Note that: - -@code{*} works like AND - -@code{+} works like OR - -thus -@example -if A then B else C -@end example -is equivalent to -@example -A*B + not(A)*C -@end example - -In your C code, you can extend the list of unary and binary functions, -and define recognized constants, so that they are available for your -expressions. - -The evaluator also recognizes the International System number -postfixes. If 'i' is appended after the postfix, powers of 2 are used -instead of powers of 10. The 'B' postfix multiplies the value for 8, -and can be appended after another postfix or used alone. This allows -using for example 'KB', 'MiB', 'G' and 'B' as postfix. - -Follows the list of available International System postfixes, with -indication of the corresponding powers of 10 and of 2. -@table @option -@item y --24 / -80 -@item z --21 / -70 -@item a --18 / -60 -@item f --15 / -50 -@item p --12 / -40 -@item n --9 / -30 -@item u --6 / -20 -@item m --3 / -10 -@item c --2 -@item d --1 -@item h -2 -@item k -3 / 10 -@item K -3 / 10 -@item M -6 / 20 -@item G -9 / 30 -@item T -12 / 40 -@item P -15 / 40 -@item E -18 / 50 -@item Z -21 / 60 -@item Y -24 / 70 -@end table - -@c man end |