[FFmpeg-devel] [PATCH 3/4] Add setpts filter by Victor Paesa.

Víctor Paesa victorpaesa
Thu Jun 17 22:17:17 CEST 2010


Hi,

On 2010-06-17, Michael Niedermayer wrote:
> On Thu, Jun 17, 2010 at 12:48:37AM +0200, Stefano Sabatini wrote:
>> On date Wednesday 2010-06-09 03:39:04 +0200, Michael Niedermayer encoded:
>> > On Wed, Jun 09, 2010 at 12:17:35AM +0200, Stefano Sabatini wrote:
>> > > ---
>> > >  doc/libavfilter.texi     |   46 +++++++++++++++++
>> > >  libavfilter/Makefile     |    1 +
>> > >  libavfilter/allfilters.c |    1 +
>> > >  libavfilter/vf_setpts.c  |  127
>> > > ++++++++++++++++++++++++++++++++++++++++++++++
>> > >  4 files changed, 175 insertions(+), 0 deletions(-)
>> > >  create mode 100644 libavfilter/vf_setpts.c
>> > >
>> > > diff --git a/doc/libavfilter.texi b/doc/libavfilter.texi
>> > > index 1de27d9..cf53a93 100644
>> > > --- a/doc/libavfilter.texi
>> > > +++ b/doc/libavfilter.texi
>> > > @@ -237,6 +237,52 @@ ratio of the input image.
>> > >
>> > >  The default value of @var{width} and @var{height} is 0.
>> > >
>> > > + at section setpts
>> > > +
>> > > +Change the PTS (presentation timestamp) of the input video frames.
>> > > +
>> > > +Accepts in input an expression evaluated through the eval API, which
>> > > +can contain the following constants:
>> > > +
>> > > + at table
>> > > + at item PTS
>> > > +the presentation timestamp in input
>> > > +
>> > > + at item PI
>> > > +Greek PI
>> > > +
>> > > + at item E
>> > > +Euler number
>> > > +
>> > > + at item AVTB
>> > > +the FFmpeg Time Base
>> > > +
>> > > + at item N
>> > > +the count of the input frame, starting from 0.
>> > > +
>> > > + at item STARTPTS
>> > > +the PTS of the first video frame
>> > > + at end table
>> >
>> > missing:
>>
>> > average fps
>>
>> computed in which interval?
>
> in the one available
> a demuxer with index might even set it exactly
>
>
>>
>> > interlace flag
>> > file position
>>
>> > timebase
>>
>> which timebase? As far as I know the timebase in the filterchain is
>> fixed, and is AV_TIME_BASE.
>>
>> > guessed real minimal timebase
>>
>> please suggest an algorithm for computing it if you have already an
>> idea
>
> Avfilterwhatever.* = AVStream.*
>
>
>>
>> > previous input pts
>> > previous output pts
>>
>> I added them in a previous version, but then I didn't know how to deal
>> with them for the first frame. I suppose they may be set to 0 or
>> AV_NOPTS_VALUE, but then I need to understand how can I deal with
>> them, for example in the expression: outpts=prev_outpts+XXX.
>
> prev= curr - 1/avg_fps
>
>
>>
>> > obviously some of these could be usefull

Would it be possible to add "duration" from AVStream too?
More than in vf_setps, I think it would be useful in vf_fade, to make
fade outs at the end of videos.

>> Also I suggest to add the more complex features in successive patches,
>> this is a port afterall.
>
> thats ok but timebase availablity in the filterchain and fixing timestamps
> in ffplay is related

Regards,
V?ctor



More information about the ffmpeg-devel mailing list