Mercurial > mplayer.hg
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;