[FFmpeg-devel] [PATCH 2/7] Extend the nullsrc source, make it accepts a parameter for specifying the timebase (useful for debugging timebase configuration issues).
Stefano Sabatini
stefano.sabatini-lala
Tue Oct 12 01:30:38 CEST 2010
On date Monday 2010-10-11 16:43:50 +0200, Michael Niedermayer encoded:
> On Mon, Oct 11, 2010 at 12:23:13PM +0200, Stefano Sabatini wrote:
> > ---
> > doc/filters.texi | 12 ++++++---
> > libavfilter/vsrc_nullsrc.c | 53 +++++++++++++++++++++++++++++++++++++++++--
> > 2 files changed, 58 insertions(+), 7 deletions(-)
> >
> > diff --git a/doc/filters.texi b/doc/filters.texi
> > index 68dcf7f..3c3285e 100644
> > --- a/doc/filters.texi
> > +++ b/doc/filters.texi
> > @@ -652,11 +652,15 @@ Null video source, never return images. It is mainly useful as a
> > template and to be employed in analysis / debugging tools.
> >
> > It accepts as optional parameter a string of the form
> > - at var{width}:@var{height}, where @var{width} and @var{height} specify the size of
> > -the configured source.
> > + at var{width}:@var{height}:@var{timebase}.
> >
> > -The default values of @var{width} and @var{height} are respectively 352
> > -and 288 (corresponding to the CIF size format).
> > + at var{width} and @var{height} specify the size of the configured
> > +source. The default values of @var{width} and @var{height} are
> > +respectively 352 and 288 (corresponding to the CIF size format).
> > +
> > + at var{timebase} specifies an arithmetic expression representing a
> > +timebase. The expression can contain the constants "PI", "E", "PHI",
> > +"AVTB" (the default timebase), and default to the value "AVTB".
> >
> > @c man end VIDEO SOURCES
> >
> > diff --git a/libavfilter/vsrc_nullsrc.c b/libavfilter/vsrc_nullsrc.c
> > index f319ceb..80978c8 100644
> > --- a/libavfilter/vsrc_nullsrc.c
> > +++ b/libavfilter/vsrc_nullsrc.c
> > @@ -21,10 +21,32 @@
> > * null video source
> > */
> >
> > +#include "libavutil/avstring.h"
> > +#include "libavutil/eval.h"
> > +#include "libavcore/parseutils.h"
> > #include "avfilter.h"
> >
> > +static const char *var_names[] = {
> > + "E",
> > + "PHI",
> > + "PI",
> > + "AVTB", /* default timebase 1/AV_TIME_BASE */
> > + NULL
> > +};
> > +
> > +enum var_name {
> > + VAR_E,
> > + VAR_PHI,
> > + VAR_PI,
> > + VAR_AVTB,
> > + VAR_INTB,
> > + VAR_VARS_NB
> > +};
> > +
> [...]
> > + priv->var_values[VAR_E] = M_E;
> > + priv->var_values[VAR_PHI] = M_PHI;
> > + priv->var_values[VAR_PI] = M_PI;
> > + priv->var_values[VAR_AVTB] = av_q2d(AV_TIME_BASE_Q);
>
> iam thinking some code factorization between filters could at some point make
> sense.
Yes I had the same concerns, maybe I'll post something one day when
I'll be motivated.
> thats off topic though, so patch ok
Applied.
--
FFmpeg = Forgiving and Fanciful Mega Portable Erratic Guru
More information about the ffmpeg-devel
mailing list