| @@ -13,6 +13,9 @@ libavutil: 2011-04-18 | |||||
| API changes, most recent first: | API changes, most recent first: | ||||
| 2011-05-25 - XXXXXXX - lavf 53.1.0 - avformat.h | |||||
| Add fps_probe_size to AVFormatContext. | |||||
| 2011-05-18 - 64150ff - lavc 53.4.0 - AVCodecContext.request_sample_fmt | 2011-05-18 - 64150ff - lavc 53.4.0 - AVCodecContext.request_sample_fmt | ||||
| Add request_sample_fmt field to AVCodecContext. | Add request_sample_fmt field to AVCodecContext. | ||||
| @@ -817,6 +817,11 @@ typedef struct AVFormatContext { | |||||
| * - decoding: Unused. | * - decoding: Unused. | ||||
| */ | */ | ||||
| int64_t start_time_realtime; | int64_t start_time_realtime; | ||||
| /** | |||||
| * decoding: number of frames used to probe fps | |||||
| */ | |||||
| int fps_probe_size; | |||||
| } AVFormatContext; | } AVFormatContext; | ||||
| typedef struct AVPacketList { | typedef struct AVPacketList { | ||||
| @@ -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"}, | {"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"}, | {"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}, | {"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}, | {NULL}, | ||||
| }; | }; | ||||
| @@ -2229,6 +2229,8 @@ int av_find_stream_info(AVFormatContext *ic) | |||||
| the correct fps */ | the correct fps */ | ||||
| if (av_q2d(st->time_base) > 0.0005) | if (av_q2d(st->time_base) > 0.0005) | ||||
| fps_analyze_framecount *= 2; | 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 */ | /* variable fps and no guess at the real fps */ | ||||
| if( tb_unreliable(st->codec) && !(st->r_frame_rate.num && st->avg_frame_rate.num) | if( tb_unreliable(st->codec) && !(st->r_frame_rate.num && st->avg_frame_rate.num) | ||||
| && st->info->duration_count < fps_analyze_framecount | && st->info->duration_count < fps_analyze_framecount | ||||
| @@ -24,8 +24,8 @@ | |||||
| #include "libavutil/avutil.h" | #include "libavutil/avutil.h" | ||||
| #define LIBAVFORMAT_VERSION_MAJOR 53 | #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, \ | #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ | ||||
| LIBAVFORMAT_VERSION_MINOR, \ | LIBAVFORMAT_VERSION_MINOR, \ | ||||