resample: remove an unneeded context variable
authorAnton Khirnov <anton@khirnov.net>
Sat, 22 Feb 2014 19:27:44 +0000 (20:27 +0100)
committerAnton Khirnov <anton@khirnov.net>
Thu, 17 Apr 2014 18:08:19 +0000 (20:08 +0200)
libavresample/resample.c

index 03362c8..5fd6b90 100644 (file)
@@ -42,7 +42,6 @@ struct ResampleContext {
     int linear;
     enum AVResampleFilterType filter_type;
     int kaiser_beta;
-    double factor;
     void (*set_filter)(void *filter, double *tab, int phase, int tap_count);
     void (*resample_one)(struct ResampleContext *c, void *dst0,
                          int dst_index, const void *src0,
@@ -94,10 +93,10 @@ static double bessel(double x)
 }
 
 /* Build a polyphase filterbank. */
-static int build_filter(ResampleContext *c)
+static int build_filter(ResampleContext *c, double factor)
 {
     int ph, i;
-    double x, y, w, factor;
+    double x, y, w;
     double *tab;
     int tap_count    = c->filter_length;
     int phase_count  = 1 << c->phase_shift;
@@ -107,9 +106,6 @@ static int build_filter(ResampleContext *c)
     if (!tab)
         return AVERROR(ENOMEM);
 
-    /* if upsampling, only need to interpolate, no filter */
-    factor = FFMIN(c->factor, 1.0);
-
     for (ph = 0; ph < phase_count; ph++) {
         double norm = 0;
         for (i = 0; i < tap_count; i++) {
@@ -176,7 +172,6 @@ ResampleContext *ff_audio_resample_init(AVAudioResampleContext *avr)
     c->phase_shift   = avr->phase_shift;
     c->phase_mask    = phase_count - 1;
     c->linear        = avr->linear_interp;
-    c->factor        = factor;
     c->filter_length = FFMAX((int)ceil(avr->filter_size / factor), 1);
     c->filter_type   = avr->filter_type;
     c->kaiser_beta   = avr->kaiser_beta;
@@ -209,7 +204,7 @@ ResampleContext *ff_audio_resample_init(AVAudioResampleContext *avr)
     if (!c->filter_bank)
         goto error;
 
-    if (build_filter(c) < 0)
+    if (build_filter(c, factor) < 0)
         goto error;
 
     memcpy(&c->filter_bank[(c->filter_length * phase_count + 1) * felem_size],