diff mbox series

[FFmpeg-devel,v2,6/7] avformat/imf: refactor to use av_rescale_interval()

Message ID 20220221060230.6665-6-pal@sandflow.com
State New
Headers show
Series [FFmpeg-devel,v2,1/7] avformat/imf: relocate static function imf_time_to_ts() | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished

Commit Message

Pierre-Anthony Lemieux Feb. 21, 2022, 6:02 a.m. UTC
From: Pierre-Anthony Lemieux <pal@palemieux.com>

---
 libavformat/imfdec.c | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)
diff mbox series

Patch

diff --git a/libavformat/imfdec.c b/libavformat/imfdec.c
index ac212b05e1..bc27e3cc2a 100644
--- a/libavformat/imfdec.c
+++ b/libavformat/imfdec.c
@@ -69,6 +69,7 @@ 
 #include "libavutil/avstring.h"
 #include "libavutil/bprint.h"
 #include "libavutil/intreadwrite.h"
+#include "libavutil/mathematics.h"
 #include "libavutil/opt.h"
 #include "mxf.h"
 #include "url.h"
@@ -904,14 +905,6 @@  static int imf_probe(const AVProbeData *p)
     return AVPROBE_SCORE_MAX;
 }
 
-static void rescale_interval(AVRational tb_in, AVRational tb_out,
-                             int64_t *min_ts, int64_t *ts, int64_t *max_ts)
-{
-    *ts = av_rescale_q(*ts, tb_in, tb_out);
-    *min_ts = av_rescale_q_rnd(*min_ts, tb_in, tb_out, AV_ROUND_UP | AV_ROUND_PASS_MINMAX);
-    *max_ts = av_rescale_q_rnd(*max_ts, tb_in, tb_out, AV_ROUND_DOWN | AV_ROUND_PASS_MINMAX);
-}
-
 static int coherent_ts(int64_t ts, AVRational in_tb, AVRational out_tb)
 {
     int dst_num;
@@ -937,13 +930,13 @@  static int imf_seek(AVFormatContext *s, int stream_index, int64_t min_ts,
 
     /* rescale timestamps to Composition edit units */
     if (stream_index < 0)
-        rescale_interval(AV_TIME_BASE_Q,
-                         av_make_q(c->cpl->edit_rate.den, c->cpl->edit_rate.num),
-                         &min_ts, &ts, &max_ts);
+        av_rescale_interval(AV_TIME_BASE_Q,
+                            av_make_q(c->cpl->edit_rate.den, c->cpl->edit_rate.num),
+                            &min_ts, &ts, &max_ts);
     else
-        rescale_interval(s->streams[stream_index]->time_base,
-                         av_make_q(c->cpl->edit_rate.den, c->cpl->edit_rate.num),
-                         &min_ts, &ts, &max_ts);
+        av_rescale_interval(s->streams[stream_index]->time_base,
+                            av_make_q(c->cpl->edit_rate.den, c->cpl->edit_rate.num),
+                            &min_ts, &ts, &max_ts);
 
     /* requested timestamp bounds are too close */
     if (max_ts < min_ts)