changeset 24889:4055d43fc406

libaf: Remove rational number implementation Remove the mul/cancel/gcd functions and some related code. Use ff_gcd instead of the removed af_gcd in af_resample.c.
author uau
date Thu, 01 Nov 2007 06:52:06 +0000
parents b2402b4f0afa
children a54a25221b79
files libaf/af.c libaf/af.h libaf/af_resample.c
diffstat 3 files changed, 3 insertions(+), 59 deletions(-) [+]
line wrap: on
line diff
--- a/libaf/af.c	Thu Nov 01 06:52:01 2007 +0000
+++ b/libaf/af.c	Thu Nov 01 06:52:06 2007 +0000
@@ -604,53 +604,6 @@
   return NULL;
 }
 
-/**
- * \brief calculate greatest common divisior of a and b.
- * \ingroup af_filter
- *
- *   If both are 0 the result is 1.
- */
-int af_gcd(register int a, register int b) {
-  while (b != 0) {
-    a %= b;
-    if (a == 0)
-      break;
-    b %= a;
-  }
-  // the result is either in a or b. As the other one is 0 just add them.
-  a += b;
-  if (!a)
-    return 1;
-  return a;
-}
-
-/**
- * \brief cancel down a fraction f
- * \param f fraction to cancel down
- * \ingroup af_filter
- */
-void af_frac_cancel(frac_t *f) {
-  int gcd = af_gcd(f->n, f->d);
-  f->n /= gcd;
-  f->d /= gcd;
-}
-
-/**
- * \brief multiply out by in and store result in out.
- * \param out [inout] fraction to multiply by in
- * \param in [in] fraction to multiply out by
- * \ingroup af_filter
- *
- *        the resulting fraction will be cancelled down
- *        if in and out were.
- */
-void af_frac_mul(frac_t *out, const frac_t *in) {
-  int gcd1 = af_gcd(out->n, in->d);
-  int gcd2 = af_gcd(in->n, out->d);
-  out->n = (out->n / gcd1) * (in->n / gcd2);
-  out->d = (out->d / gcd2) * (in->d / gcd1);
-}
-
 void af_help (void) {
   int i = 0;
   af_msg(AF_MSG_INFO, "Available audio filters:\n");
--- a/libaf/af.h	Thu Nov 01 06:52:01 2007 +0000
+++ b/libaf/af.h	Thu Nov 01 06:52:06 2007 +0000
@@ -26,16 +26,6 @@
   int bps; 	// bytes per sample
 } af_data_t;
 
-// Fraction, used to calculate buffer lengths
-typedef struct frac_s
-{
-  int n; // Numerator
-  int d; // Denominator
-} frac_t;
-
-int af_gcd(register int a, register int b);
-void af_frac_cancel(frac_t *f);
-void af_frac_mul(frac_t *out, const frac_t *in);
 
 // Flags used for defining the behavior of an audio filter
 #define AF_FLAGS_REENTRANT 	0x00000000
--- a/libaf/af_resample.c	Thu Nov 01 06:52:01 2007 +0000
+++ b/libaf/af_resample.c	Thu Nov 01 06:52:06 2007 +0000
@@ -13,6 +13,7 @@
 #include <stdlib.h>
 #include <inttypes.h>
 
+#include "libavutil/common.h"
 #include "af.h"
 #include "dsp.h"
 
@@ -189,7 +190,7 @@
     }
 
     // Calculate up and down sampling factors
-    d=af_gcd(af->data->rate,n->rate);
+    d=ff_gcd(af->data->rate,n->rate);
 
     // If sloppy resampling is enabled limit the upsampling factor
     if(((s->setup & FREQ_MASK) == FREQ_SLOPPY) && (af->data->rate/d > 5000)){
@@ -197,7 +198,7 @@
       int dn=n->rate/2;
       int m=2;
       while(af->data->rate/(d*m) > 5000){
-	d=af_gcd(up,dn); 
+	d=ff_gcd(up,dn);
 	up/=2; dn/=2; m*=2;
       }
       d*=m;