[SCM] libav/experimental: export gcd function as av_gcd()

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:35:31 UTC 2013


The following commit has been merged in the experimental branch:
commit 9ce6c1387988bf3cdb631f3844e99a0c9bea43f2
Author: Aurelien Jacobs <aurel at gnuage.org>
Date:   Sat Jan 17 11:13:33 2009 +0000

    export gcd function as av_gcd()
    
    Originally committed as revision 16653 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 7b401a4..41b4f11 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -5156,7 +5156,7 @@ int h263_decode_picture_header(MpegEncContext *s)
                     av_log(s, AV_LOG_ERROR, "zero framerate\n");
                     return -1;
                 }
-                gcd= ff_gcd(s->avctx->time_base.den, s->avctx->time_base.num);
+                gcd= av_gcd(s->avctx->time_base.den, s->avctx->time_base.num);
                 s->avctx->time_base.den /= gcd;
                 s->avctx->time_base.num /= gcd;
 //                av_log(s->avctx, AV_LOG_DEBUG, "%d/%d\n", s->avctx->time_base.den, s->avctx->time_base.num);
diff --git a/libavcodec/libxvidff.c b/libavcodec/libxvidff.c
index ac1553f..35104c3 100644
--- a/libavcodec/libxvidff.c
+++ b/libavcodec/libxvidff.c
@@ -557,7 +557,7 @@ void xvid_correct_framerate(AVCodecContext *avctx) {
     frate = avctx->time_base.den;
     fbase = avctx->time_base.num;
 
-    gcd = ff_gcd(frate, fbase);
+    gcd = av_gcd(frate, fbase);
     if( gcd > 1 ) {
         frate /= gcd;
         fbase /= gcd;
@@ -579,7 +579,7 @@ void xvid_correct_framerate(AVCodecContext *avctx) {
     } else
         est_fbase = 1;
 
-    gcd = ff_gcd(est_frate, est_fbase);
+    gcd = av_gcd(est_frate, est_fbase);
     if( gcd > 1 ) {
         est_frate /= gcd;
         est_fbase /= gcd;
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index dc8dd74..e381598 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -464,7 +464,7 @@ av_cold int MPV_encode_init(AVCodecContext *avctx)
         avctx->b_frame_strategy = 0;
     }
 
-    i= ff_gcd(avctx->time_base.den, avctx->time_base.num);
+    i= av_gcd(avctx->time_base.den, avctx->time_base.num);
     if(i > 1){
         av_log(avctx, AV_LOG_INFO, "removing common factors from framerate\n");
         avctx->time_base.den /= i;
diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index 0e60d49..3f8783b 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -4773,7 +4773,7 @@ int main(void){
                 }
                 error= (int)(sqrt(error)+0.5);
                 errors[level][orientation]= error;
-                if(g) g=ff_gcd(g, error);
+                if(g) g=av_gcd(g, error);
                 else g= error;
             }
         }
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 0a3773e..7499957 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -694,7 +694,7 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
                          display_aspect_ratio.num, display_aspect_ratio.den);
             }
             if(av_log_get_level() >= AV_LOG_DEBUG){
-                int g= ff_gcd(enc->time_base.num, enc->time_base.den);
+                int g= av_gcd(enc->time_base.num, enc->time_base.den);
                 snprintf(buf + strlen(buf), buf_size - strlen(buf),
                      ", %d/%d",
                      enc->time_base.num/g, enc->time_base.den/g);
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 5638d34..b510d7c 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1172,7 +1172,7 @@ static int mov_read_stts(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
         sc->stts_data[i].count= sample_count;
         sc->stts_data[i].duration= sample_duration;
 
-        sc->time_rate= ff_gcd(sc->time_rate, sample_duration);
+        sc->time_rate= av_gcd(sc->time_rate, sample_duration);
 
         dprintf(c->fc, "sample_count=%d, sample_duration=%d\n",sample_count,sample_duration);
 
@@ -1215,7 +1215,7 @@ static int mov_read_ctts(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
         sc->ctts_data[i].count   = count;
         sc->ctts_data[i].duration= duration;
 
-        sc->time_rate= ff_gcd(sc->time_rate, FFABS(duration));
+        sc->time_rate= av_gcd(sc->time_rate, FFABS(duration));
     }
     return 0;
 }
diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
index 4d838a5..02d828a 100644
--- a/libavformat/nutdec.c
+++ b/libavformat/nutdec.c
@@ -206,7 +206,7 @@ static int decode_main_header(NUTContext *nut){
     for(i=0; i<nut->time_base_count; i++){
         GET_V(nut->time_base[i].num, tmp>0 && tmp<(1ULL<<31))
         GET_V(nut->time_base[i].den, tmp>0 && tmp<(1ULL<<31))
-        if(ff_gcd(nut->time_base[i].num, nut->time_base[i].den) != 1){
+        if(av_gcd(nut->time_base[i].num, nut->time_base[i].den) != 1){
             av_log(s, AV_LOG_ERROR, "time base invalid\n");
             return -1;
         }
diff --git a/libavformat/riff.c b/libavformat/riff.c
index ed92187..73ebc91 100644
--- a/libavformat/riff.c
+++ b/libavformat/riff.c
@@ -466,7 +466,7 @@ void ff_parse_specific_params(AVCodecContext *stream, int *au_rate, int *au_ssiz
         *au_scale= stream->block_align ? stream->block_align*8 : 8;
         *au_rate = stream->bit_rate ? stream->bit_rate : 8*stream->sample_rate;
     }
-    gcd= ff_gcd(*au_scale, *au_rate);
+    gcd= av_gcd(*au_scale, *au_rate);
     *au_scale /= gcd;
     *au_rate /= gcd;
 }
diff --git a/libavformat/utils.c b/libavformat/utils.c
index a675048..1778bba 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2727,7 +2727,7 @@ static void dump_stream_format(AVFormatContext *ic, int i, int index, int is_out
     char buf[256];
     int flags = (is_output ? ic->oformat->flags : ic->iformat->flags);
     AVStream *st = ic->streams[i];
-    int g = ff_gcd(st->time_base.num, st->time_base.den);
+    int g = av_gcd(st->time_base.num, st->time_base.den);
     avcodec_string(buf, sizeof(buf), st->codec, is_output);
     av_log(NULL, AV_LOG_INFO, "    Stream #%d.%d", index, i);
     /* the pid is an important information, so we display it */
@@ -3192,7 +3192,7 @@ char *ff_data_to_hex(char *buff, const uint8_t *src, int s)
 void av_set_pts_info(AVStream *s, int pts_wrap_bits,
                      int pts_num, int pts_den)
 {
-    unsigned int gcd= ff_gcd(pts_num, pts_den);
+    unsigned int gcd= av_gcd(pts_num, pts_den);
     s->pts_wrap_bits = pts_wrap_bits;
     s->time_base.num = pts_num/gcd;
     s->time_base.den = pts_den/gcd;
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index ad5af25..68a780e 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -35,7 +35,7 @@
 #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
 
 #define LIBAVUTIL_VERSION_MAJOR 49
-#define LIBAVUTIL_VERSION_MINOR 12
+#define LIBAVUTIL_VERSION_MINOR 13
 #define LIBAVUTIL_VERSION_MICRO  0
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
diff --git a/libavutil/common.h b/libavutil/common.h
index ed295cf..e583101 100644
--- a/libavutil/common.h
+++ b/libavutil/common.h
@@ -242,9 +242,6 @@ static inline av_const float av_clipf(float a, float amin, float amax)
     else               return a;
 }
 
-/* math */
-int64_t av_const ff_gcd(int64_t a, int64_t b);
-
 /**
  * converts fourcc string to int
  */
diff --git a/libavutil/mathematics.c b/libavutil/mathematics.c
index ef93ba4..eed2241 100644
--- a/libavutil/mathematics.c
+++ b/libavutil/mathematics.c
@@ -48,8 +48,8 @@ const uint8_t ff_log2_tab[256]={
         7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
 };
 
-int64_t ff_gcd(int64_t a, int64_t b){
-    if(b) return ff_gcd(b, a%b);
+int64_t av_gcd(int64_t a, int64_t b){
+    if(b) return av_gcd(b, a%b);
     else  return a;
 }
 
diff --git a/libavutil/mathematics.h b/libavutil/mathematics.h
index 7438527..3098862 100644
--- a/libavutil/mathematics.h
+++ b/libavutil/mathematics.h
@@ -49,6 +49,8 @@ enum AVRounding {
     AV_ROUND_NEAR_INF = 5, ///< round to nearest and halfway cases away from zero
 };
 
+int64_t av_const av_gcd(int64_t a, int64_t b);
+
 /**
  * rescale a 64bit integer with rounding to nearest.
  * a simple a*b/c isn't possible as it can overflow
diff --git a/libavutil/rational.c b/libavutil/rational.c
index cac3ff5..4c0216e 100644
--- a/libavutil/rational.c
+++ b/libavutil/rational.c
@@ -35,7 +35,7 @@
 int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max){
     AVRational a0={0,1}, a1={1,0};
     int sign= (nom<0) ^ (den<0);
-    int64_t gcd= ff_gcd(FFABS(nom), FFABS(den));
+    int64_t gcd= av_gcd(FFABS(nom), FFABS(den));
 
     if(gcd){
         nom = FFABS(nom)/gcd;
@@ -66,7 +66,7 @@ int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max)
         nom= den;
         den= next_den;
     }
-    assert(ff_gcd(a1.num, a1.den) <= 1U);
+    assert(av_gcd(a1.num, a1.den) <= 1U);
 
     *dst_nom = sign ? -a1.num : a1.num;
     *dst_den = a1.den;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list