diff options
author | Limin Wang <lance.lmwang@gmail.com> | 2020-04-26 17:49:19 +0800 |
---|---|---|
committer | Karthick J <kjeyapal@akamai.com> | 2020-04-29 11:57:31 +0530 |
commit | 759565ccf8ce0a14b536f870b36405dcef791b1b (patch) | |
tree | f17063858cb061cf03cbdbaafb104381295a8275 | |
parent | 839d024fabf28438203b27253ef6f3491684d906 (diff) | |
download | ffmpeg-759565ccf8ce0a14b536f870b36405dcef791b1b.tar.gz |
avformat/dashenc: use local variable and avoid calculate duration multiple times
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
-rw-r--r-- | libavformat/dashenc.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 6376414958..4885a6beda 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1916,6 +1916,7 @@ static int dash_flush(AVFormatContext *s, int final, int stream) OutputStream *os = &c->streams[i]; AVStream *st = s->streams[i]; int range_length, index_length = 0; + int64_t duration; if (!os->packets_written) continue; @@ -1955,23 +1956,18 @@ static int dash_flush(AVFormatContext *s, int final, int stream) } } - os->last_duration = FFMAX(os->last_duration, av_rescale_q(os->max_pts - os->start_pts, - st->time_base, - AV_TIME_BASE_Q)); + duration = av_rescale_q(os->max_pts - os->start_pts, st->time_base, AV_TIME_BASE_Q); + os->last_duration = FFMAX(os->last_duration, duration); if (!os->muxer_overhead && os->max_pts > os->start_pts) os->muxer_overhead = ((int64_t) (range_length - os->total_pkt_size) * - 8 * AV_TIME_BASE) / - av_rescale_q(os->max_pts - os->start_pts, - st->time_base, AV_TIME_BASE_Q); + 8 * AV_TIME_BASE) / duration; os->total_pkt_size = 0; os->total_pkt_duration = 0; if (!os->bit_rate) { // calculate average bitrate of first segment - int64_t bitrate = (int64_t) range_length * 8 * AV_TIME_BASE / av_rescale_q(os->max_pts - os->start_pts, - st->time_base, - AV_TIME_BASE_Q); + int64_t bitrate = (int64_t) range_length * 8 * AV_TIME_BASE / duration; if (bitrate >= 0) os->bit_rate = bitrate; } |