[FFmpeg-devel] [PATCH] lavfi/settb: add support for named options
Stefano Sabatini
stefasab at gmail.com
Sat Mar 16 01:26:53 CET 2013
On date Saturday 2013-03-16 00:42:12 +0100, Clément Bœsch encoded:
> On Sat, Mar 16, 2013 at 12:30:35AM +0100, Stefano Sabatini wrote:
> > TODO: bump micro
> > ---
> > doc/filters.texi | 16 +++++++++++---
> > libavfilter/f_settb.c | 56 ++++++++++++++++++++++++++++++++++++++++++-------
> > 2 files changed, 62 insertions(+), 10 deletions(-)
> >
> > diff --git a/doc/filters.texi b/doc/filters.texi
> > index 108718b..df8e0fe 100644
> > --- a/doc/filters.texi
> > +++ b/doc/filters.texi
> > @@ -6579,12 +6579,22 @@ ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -
> > Set the timebase to use for the output frames timestamps.
> > It is mainly useful for testing timebase configuration.
> >
> > -It accepts in input an arithmetic expression representing a rational.
> > -The expression can contain the constants "AVTB" (the
> > -default timebase), "intb" (the input timebase) and "sr" (the sample rate,
> > +The filter accepts parameters as a list of @var{key}=@var{value}
> > +pairs, separated by ":". If the key of the first options is omitted,
> > +the arguments are interpreted according to the syntax @option{tb}.
>
> The @option{tb} alone looks a bit weird for a "syntax". Maybe you could
> reword that sentence.
>
> > +
> > +A description of the accepted options follows.
> > +
> > + at table @option
> > + at item tb
> > +Set arithmetic expression representing a rational.
> > +
> > +The expression can contain the constants "AVTB" (the default
> > +timebase), "intb" (the input timebase) and "sr" (the sample rate,
> > audio only).
> >
> > The default value for the input is "intb".
> > + at end table
> >
> > @subsection Examples
> >
> > diff --git a/libavfilter/f_settb.c b/libavfilter/f_settb.c
> > index 436491e..afefae7 100644
> > --- a/libavfilter/f_settb.c
> > +++ b/libavfilter/f_settb.c
> > @@ -29,6 +29,7 @@
> > #include "libavutil/avstring.h"
> > #include "libavutil/eval.h"
> > #include "libavutil/internal.h"
> > +#include "libavutil/opt.h"
>
> nit++: can be moved one line below for perfection
It would be boring if perfect, but fixed.
> > #include "libavutil/mathematics.h"
> > #include "libavutil/rational.h"
> > #include "avfilter.h"
> > @@ -51,21 +52,40 @@ enum var_name {
> > };
> >
> > typedef struct {
> > - char tb_expr[256];
> > + const AVClass *class;
> > + char *tb_expr;
> > double var_values[VAR_VARS_NB];
> > } SetTBContext;
> >
> > -static av_cold int init(AVFilterContext *ctx, const char *args)
> > +#define OFFSET(x) offsetof(SetTBContext, x)
>
> > +#define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
> > +
>
> This is not true for asettb
Reworked with a clever hack.
> > +static const AVOption options[] = {
> > + { "tb", "set timebase expression", OFFSET(tb_expr), AV_OPT_TYPE_STRING, {.str="intb"}, .flags=FLAGS },
> > + { NULL },
>
> nit++: extra comma
[...]
> LGTM otherwise.
Will push it tomorrow, TFTR.
--
FFmpeg = Free Faithful Magnificient Pure Entertaining Gigant
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-lavfi-settb-add-support-for-named-options.patch
Type: text/x-diff
Size: 5008 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130316/ac989c82/attachment.bin>
More information about the ffmpeg-devel
mailing list