diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-06-02 19:03:55 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-06-02 19:06:39 +0200 |
commit | 666e29fe9e7eb9a87eb870f0e6d68331c0615d43 (patch) | |
tree | c245c269d7b37b629b301aca5c8e76f20f4be04d /libavutil/mathematics.c | |
parent | e9add0d85b38db8efebd53bed83125945103e11f (diff) | |
download | ffmpeg-666e29fe9e7eb9a87eb870f0e6d68331c0615d43.tar.gz |
avutil/mathematics/av_add_stable: Avoid av_cmp_q() call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/mathematics.c')
-rw-r--r-- | libavutil/mathematics.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libavutil/mathematics.c b/libavutil/mathematics.c index df7d0d88bf..126cffc3f0 100644 --- a/libavutil/mathematics.c +++ b/libavutil/mathematics.c @@ -198,11 +198,10 @@ int64_t av_add_stable(AVRational ts_tb, int64_t ts, AVRational inc_tb, int64_t i if (m % d == 0) return ts + m / d; - - if (av_cmp_q(inc_tb, ts_tb) < 0) { - //increase step is too small for even 1 step to be representable + if (m < d) return ts; - } else { + + { int64_t old = av_rescale_q(ts, ts_tb, inc_tb); int64_t old_ts = av_rescale_q(old, inc_tb, ts_tb); return av_rescale_q(old + 1, inc_tb, ts_tb) + (ts - old_ts); |