[FFmpeg-cvslog] lavfi/framesync: use av_gcd_q().

Nicolas George git at videolan.org
Sat May 23 17:17:16 EEST 2020


ffmpeg | branch: master | Nicolas George <george at nsup.org> | Thu Apr 16 21:36:35 2020 +0200| [2a52f19a91de33f382e00a3efa9431ec3277af42] | committer: Nicolas George

lavfi/framesync: use av_gcd_q().

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2a52f19a91de33f382e00a3efa9431ec3277af42
---

 libavfilter/framesync.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/libavfilter/framesync.c b/libavfilter/framesync.c
index bc95f7d904..b32a5cba6c 100644
--- a/libavfilter/framesync.c
+++ b/libavfilter/framesync.c
@@ -117,7 +117,6 @@ static void framesync_sync_level_update(FFFrameSync *fs)
 int ff_framesync_configure(FFFrameSync *fs)
 {
     unsigned i;
-    int64_t gcd, lcm;
 
     if (!fs->opt_repeatlast || fs->opt_eof_action == EOF_ACTION_PASS) {
         fs->opt_repeatlast = 0;
@@ -142,17 +141,8 @@ int ff_framesync_configure(FFFrameSync *fs)
         for (i = 0; i < fs->nb_in; i++) {
             if (fs->in[i].sync) {
                 if (fs->time_base.num) {
-                    gcd = av_gcd(fs->time_base.den, fs->in[i].time_base.den);
-                    lcm = (fs->time_base.den / gcd) * fs->in[i].time_base.den;
-                    if (lcm < AV_TIME_BASE / 2) {
-                        fs->time_base.den = lcm;
-                        fs->time_base.num = av_gcd(fs->time_base.num,
-                                                   fs->in[i].time_base.num);
-                    } else {
-                        fs->time_base.num = 1;
-                        fs->time_base.den = AV_TIME_BASE;
-                        break;
-                    }
+                    fs->time_base = av_gcd_q(fs->time_base, fs->in[i].time_base,
+                                             AV_TIME_BASE / 2, AV_TIME_BASE_Q);
                 } else {
                     fs->time_base = fs->in[i].time_base;
                 }



More information about the ffmpeg-cvslog mailing list