It has been added for an FF_API_* at a time when these were in avutil.h.
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
1)Some filters allow cross-referenced expressions e.g. x=y+10. In
such cases, filters evaluate expressions multiple times for
successful evaluation of all expressions. If the expression for one or
more variables contains a RNG, the result may vary across evaluation
leading to inconsistent values across the cross-referenced expressions.
2)A related case is circular expressions e.g. x=y+10 and y=x+10 which
cannot be succesfully resolved.
3)Certain filter variables may only be applicable in specific eval modes
and lead to a failure of evaluation in other modes e.g. pts is only
relevant for frame eval mode.
At present, there is no reliable means to identify these occurrences and
thus the error messages provided are broad or inaccurate. The helper
function introduced - av_expr_count_vars - allows developers to identify
the use and count of variables in expressions and thus tailor the error
message, allow for a graceful fallback and/or decide evaluation order.
Define positive return values as non errors and leave further meaning undefined
This allows future extensions to use these values
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
eval API.
More grep-friendly and more consistent with the rest of the FFmpeg
API.
Originally committed as revision 25708 to svn://svn.ffmpeg.org/ffmpeg/trunk
const_name -> const_names
const_value -> const_values
func[12]_name -> func[12]_names
func[12] -> funcs[12]
All these parameters contain a list of values, using plural names for
them help understanding a little.
Originally committed as revision 23403 to svn://svn.ffmpeg.org/ffmpeg/trunk
containing an error code.
Allow these functions to convey the reason of the failure to the
calling function, failure which is not always due to a parsing error
but it may depend for example on a memory problem.
Also fix several potential memleaks.
Originally committed as revision 23402 to svn://svn.ffmpeg.org/ffmpeg/trunk
ff_parse_and_eval_expr(), place the names for constants/functions
before the corresponding values.
This looks more readable, as the user is expected to know the names
before the values.
Originally committed as revision 23149 to svn://svn.ffmpeg.org/ffmpeg/trunk
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
ff_parse_and_eval_expr().
Change attribute from "const char **" to "const char * const *".
The name arrays are not supposed to be changed by the function.
Originally committed as revision 22859 to svn://svn.ffmpeg.org/ffmpeg/trunk
The new name is more expressive and fits better in the overall naming
scheme for the revisited eval API.
Originally committed as revision 22858 to svn://svn.ffmpeg.org/ffmpeg/trunk
This way we have to deal only with struct AVExpr and AVExpr, which is
slightly less confusing as the association between the two symbols is
obvious.
Originally committed as revision 22839 to svn://svn.ffmpeg.org/ffmpeg/trunk
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.' to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".
Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
utils.c: In function ‘avcodec_get_context_defaults2’:
utils.c:793: warning: assignment discards qualifiers from pointer target type
Originally committed as revision 11938 to svn://svn.ffmpeg.org/ffmpeg/trunk
when building doxygen docs
patch by mark cox melbournemark plus ffmpeg minus devel chez gmail dot com
Originally committed as revision 8866 to svn://svn.ffmpeg.org/ffmpeg/trunk