diff options
author | Alex Converse <aconverse@google.com> | 2011-05-09 14:34:23 -0700 |
---|---|---|
committer | Alex Converse <alex.converse@gmail.com> | 2011-05-25 12:34:46 -0700 |
commit | 30315a8d9c9bea98d54260956db58b6df56f9347 (patch) | |
tree | 0d2a29d48fb91454ce0849e369d325ea9fed9829 /libavformat | |
parent | 80068da3a0bafc7e24ce6b1f91cefec7d793b4d2 (diff) | |
download | ffmpeg-30315a8d9c9bea98d54260956db58b6df56f9347.tar.gz |
avformat: Add fpsprobesize as an AVOption.
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/avformat.h | 5 | ||||
-rw-r--r-- | libavformat/options.c | 1 | ||||
-rw-r--r-- | libavformat/utils.c | 2 | ||||
-rw-r--r-- | libavformat/version.h | 4 |
4 files changed, 10 insertions, 2 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 11dbe8b2de..3a652a354b 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -817,6 +817,11 @@ typedef struct AVFormatContext { * - decoding: Unused. */ int64_t start_time_realtime; + + /** + * decoding: number of frames used to probe fps + */ + int fps_probe_size; } AVFormatContext; typedef struct AVPacketList { diff --git a/libavformat/options.c b/libavformat/options.c index 22807c3058..377ba93b44 100644 --- a/libavformat/options.c +++ b/libavformat/options.c @@ -57,6 +57,7 @@ static const AVOption options[]={ {"fdebug", "print specific debug info", OFFSET(debug), FF_OPT_TYPE_FLAGS, {.dbl = DEFAULT }, 0, INT_MAX, E|D, "fdebug"}, {"ts", NULL, 0, FF_OPT_TYPE_CONST, {.dbl = FF_FDEBUG_TS }, INT_MIN, INT_MAX, E|D, "fdebug"}, {"max_delay", "maximum muxing or demuxing delay in microseconds", OFFSET(max_delay), FF_OPT_TYPE_INT, {.dbl = DEFAULT }, 0, INT_MAX, E|D}, +{"fpsprobesize", "number of frames used to probe fps", OFFSET(fps_probe_size), FF_OPT_TYPE_INT, -1, -1, INT_MAX-1, D}, {NULL}, }; diff --git a/libavformat/utils.c b/libavformat/utils.c index 8cdd8b3805..89ab1086fe 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2229,6 +2229,8 @@ int av_find_stream_info(AVFormatContext *ic) the correct fps */ if (av_q2d(st->time_base) > 0.0005) fps_analyze_framecount *= 2; + if (ic->fps_probe_size >= 0) + fps_analyze_framecount = ic->fps_probe_size; /* variable fps and no guess at the real fps */ if( tb_unreliable(st->codec) && !(st->r_frame_rate.num && st->avg_frame_rate.num) && st->info->duration_count < fps_analyze_framecount diff --git a/libavformat/version.h b/libavformat/version.h index b4fdb6f8b5..b2ac6d8181 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -24,8 +24,8 @@ #include "libavutil/avutil.h" #define LIBAVFORMAT_VERSION_MAJOR 53 -#define LIBAVFORMAT_VERSION_MINOR 0 -#define LIBAVFORMAT_VERSION_MICRO 3 +#define LIBAVFORMAT_VERSION_MINOR 1 +#define LIBAVFORMAT_VERSION_MICRO 0 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ |