ffmpeg | branch: master | Stefano Sabatini <stefa...@gmail.com> | Tue Nov 3 09:57:23 2015 -0800| [018bdaed37d2f1735dbecfc58309a1a164abadd5] | committer: Anton Khirnov
setpts: add FRAME_RATE constant Useful for dealing with constant frame-rate video. (cherry picked from ffmpeg commit 722762f7e1212b4d02142778fabfdd73375722e0) Signed-off-by: Anton Khirnov <an...@khirnov.net> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=018bdaed37d2f1735dbecfc58309a1a164abadd5 --- doc/filters.texi | 3 +++ libavfilter/setpts.c | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/doc/filters.texi b/doc/filters.texi index d9874b6..9804c0e 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -209,6 +209,9 @@ The expression is evaluated through the eval API and can contain the following constants: @table @option +@item FRAME_RATE +frame rate, only defined for constant frame-rate video + @item PTS the presentation timestamp in input diff --git a/libavfilter/setpts.c b/libavfilter/setpts.c index 98bafc2..6519790 100644 --- a/libavfilter/setpts.c +++ b/libavfilter/setpts.c @@ -41,6 +41,7 @@ static const char *const var_names[] = { "E", ///< Euler number + "FRAME_RATE", ///< defined only for constant frame-rate video "INTERLACED", ///< tell if the current frame is interlaced "N", ///< frame / sample number (starting at zero) "PHI", ///< golden ratio @@ -59,6 +60,7 @@ static const char *const var_names[] = { enum var_name { VAR_E, + VAR_FRAME_RATE, VAR_INTERLACED, VAR_N, VAR_PHI, @@ -115,6 +117,13 @@ static int config_input(AVFilterLink *inlink) setpts->var_values[VAR_SR] = inlink->sample_rate; } + setpts->var_values[VAR_FRAME_RATE] = inlink->frame_rate.num && + inlink->frame_rate.den ? + av_q2d(inlink->frame_rate) : NAN; + + // Indicate the output can be variable framerate. + inlink->frame_rate = (AVRational){1, 0}; + av_log(inlink->src, AV_LOG_VERBOSE, "TB:%f\n", setpts->var_values[VAR_TB]); return 0; } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog