[FFmpeg-devel] [PATCH] avcodec/setts_bsf: allow to use input stream timebase too

Paul B Mahol onemda at gmail.com
Sun Aug 22 15:40:45 EEST 2021


Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
 doc/bitstream_filters.texi | 5 ++++-
 libavcodec/setts_bsf.c     | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/doc/bitstream_filters.texi b/doc/bitstream_filters.texi
index 1900eb4352..b5a0be8ca2 100644
--- a/doc/bitstream_filters.texi
+++ b/doc/bitstream_filters.texi
@@ -777,8 +777,11 @@ The previous output DTS.
 @item PREV_OUTPTS
 The previous output PTS.
 
+ at item ITB
+The input timebase of stream packet belongs.
+
 @item TB
-The timebase of stream packet belongs.
+The output timebase of stream packet belongs.
 
 @item SR
 The sample rate of stream packet belongs.
diff --git a/libavcodec/setts_bsf.c b/libavcodec/setts_bsf.c
index d604f91f71..965c999500 100644
--- a/libavcodec/setts_bsf.c
+++ b/libavcodec/setts_bsf.c
@@ -41,7 +41,8 @@ static const char *const var_names[] = {
     "DTS",         ///< original DTS in the file of the frame
     "STARTPTS",    ///< PTS at start of movie
     "STARTDTS",    ///< DTS at start of movie
-    "TB",          ///< timebase of the stream
+    "ITB",         ///< input timebase of the stream
+    "TB",          ///< output timebase of the stream
     "SR",          ///< sample rate of the stream
     "NOPTS",       ///< The AV_NOPTS_VALUE constant
     NULL
@@ -59,6 +60,7 @@ enum var_name {
     VAR_DTS,
     VAR_STARTPTS,
     VAR_STARTDTS,
+    VAR_ITB,
     VAR_TB,
     VAR_SR,
     VAR_NOPTS,
@@ -154,6 +156,7 @@ static int setts_filter(AVBSFContext *ctx, AVPacket *pkt)
     s->var_values[VAR_PREV_OUTDTS] = s->prev_outdts;
     s->var_values[VAR_STARTPTS]    = s->start_pts;
     s->var_values[VAR_STARTDTS]    = s->start_dts;
+    s->var_values[VAR_ITB]         = ctx->time_base_in.den  ? av_q2d(ctx->time_base_in)  : 0;
     s->var_values[VAR_TB]          = ctx->time_base_out.den ? av_q2d(ctx->time_base_out) : 0;
     s->var_values[VAR_SR]          = ctx->par_in->sample_rate;
 
-- 
2.17.1



More information about the ffmpeg-devel mailing list