diff options
author | Carl Eugen Hoyos | 2015-09-15 17:29:38 +0200 |
---|---|---|
committer | Carl Eugen Hoyos | 2015-09-15 18:02:47 +0200 |
commit | c311713ca99cb0556609972ba60d3634dc96c7a0 (patch) | |
tree | e664c2e39639f0189fe9255fb7dda2ef86a22869 | |
parent | 7404f3bdb90e6a5dcb59bc0a091e2c5c038e557d (diff) |
lavf: Switch bitrate to 64bit unless compatibility with avconv was requested.
Based on a patch by Steve Swanson, swanysteve at gmail.
Fixes ticket #2089.
-rw-r--r-- | doc/APIchanges | 4 | ||||
-rw-r--r-- | libavformat/avformat.h | 4 | ||||
-rw-r--r-- | libavformat/dump.c | 2 | ||||
-rw-r--r-- | libavformat/g729dec.c | 2 | ||||
-rw-r--r-- | libavformat/utils.c | 6 | ||||
-rw-r--r-- | libavformat/version.h | 2 |
6 files changed, 14 insertions, 6 deletions
diff --git a/doc/APIchanges b/doc/APIchanges index e5cd3e43b7..7cde366b08 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,10 @@ libavutil: 2015-08-28 API changes, most recent first: +2015-09-15 - lavf 57.1.100 - avformat.h + bit_rate was changed to 64bit, make sure you update any + printf() or other type sensitive code + 2015-09-15 - lavc 57.2.100 - avcodec.h bit_rate/rc_max_rate/rc_min_rate were changed to 64bit, make sure you update any printf() or other type sensitive code diff --git a/libavformat/avformat.h b/libavformat/avformat.h index b7f18c1614..825e6365e5 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1358,7 +1358,11 @@ typedef struct AVFormatContext { * available. Never set it directly if the file_size and the * duration are known as FFmpeg can compute it automatically. */ +#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI int bit_rate; +#else + int64_t bit_rate; +#endif unsigned int packet_size; int max_delay; diff --git a/libavformat/dump.c b/libavformat/dump.c index 705da82148..7ed766554b 100644 --- a/libavformat/dump.c +++ b/libavformat/dump.c @@ -518,7 +518,7 @@ void av_dump_format(AVFormatContext *ic, int index, } av_log(NULL, AV_LOG_INFO, ", bitrate: "); if (ic->bit_rate) - av_log(NULL, AV_LOG_INFO, "%d kb/s", ic->bit_rate / 1000); + av_log(NULL, AV_LOG_INFO, "%"PRId64" kb/s", (int64_t)ic->bit_rate / 1000); else av_log(NULL, AV_LOG_INFO, "N/A"); av_log(NULL, AV_LOG_INFO, "\n"); diff --git a/libavformat/g729dec.c b/libavformat/g729dec.c index 794558ef10..349a014340 100644 --- a/libavformat/g729dec.c +++ b/libavformat/g729dec.c @@ -57,7 +57,7 @@ static int g729_read_header(AVFormatContext *s) } else if (s->bit_rate == 8000) { st->codec->block_align = 10; } else { - av_log(s, AV_LOG_ERROR, "Only 8000 b/s and 6400 b/s bitrates are supported. Provided: %d b/s\n", s->bit_rate); + av_log(s, AV_LOG_ERROR, "Only 8000 b/s and 6400 b/s bitrates are supported. Provided: %"PRId64" b/s\n", (int64_t)s->bit_rate); return AVERROR_INVALIDDATA; } diff --git a/libavformat/utils.c b/libavformat/utils.c index 24eacf3967..96a1e8642a 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2369,7 +2369,7 @@ static void update_stream_timings(AVFormatContext *ic) /* compute the bitrate */ double bitrate = (double) filesize * 8.0 * AV_TIME_BASE / (double) ic->duration; - if (bitrate >= 0 && bitrate <= INT_MAX) + if (bitrate >= 0 && (!AV_HAVE_INCOMPATIBLE_LIBAV_ABI || bitrate <= INT_MAX)) ic->bit_rate = bitrate; } } @@ -2614,10 +2614,10 @@ static void estimate_timings(AVFormatContext *ic, int64_t old_offset) (double) st->duration / AV_TIME_BASE); } av_log(ic, AV_LOG_TRACE, - "stream: start_time: %0.3f duration: %0.3f bitrate=%d kb/s\n", + "stream: start_time: %0.3f duration: %0.3f bitrate=%"PRId64" kb/s\n", (double) ic->start_time / AV_TIME_BASE, (double) ic->duration / AV_TIME_BASE, - ic->bit_rate / 1000); + (int64_t)ic->bit_rate / 1000); } } diff --git a/libavformat/version.h b/libavformat/version.h index 18be8b26b6..3444908180 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -30,7 +30,7 @@ #include "libavutil/version.h" #define LIBAVFORMAT_VERSION_MAJOR 57 -#define LIBAVFORMAT_VERSION_MINOR 0 +#define LIBAVFORMAT_VERSION_MINOR 1 #define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ |