Remove obsolete OLD_DSP_ROUTINES code. Also, remove the FAX_DETECT define and
authorRussell Bryant <russell@russellbryant.com>
Wed, 21 Nov 2007 18:52:19 +0000 (18:52 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 21 Nov 2007 18:52:19 +0000 (18:52 +0000)
only do the calculations if fax detection is enabled on the dsp.

(closes issue #11331)
Reported by: dimas
Patches:
      dsp.patch uploaded by dimas (license 88)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89490 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/dsp.c

index f744ab5..c98ee7f 100644 (file)
@@ -117,9 +117,6 @@ enum busy_detect {
 /*! Remember last 15 units */
 #define DSP_HISTORY            15
 
-/*! Define if you want the fax detector -- NOT RECOMMENDED IN -STABLE */
-#define FAX_DETECT
-
 #define TONE_THRESH            10.0    /*!< How much louder the tone should be than channel energy */
 #define TONE_MIN_THRESH        1e8     /*!< How much tone there should be at least to attempt */
 
@@ -162,17 +159,9 @@ enum gsamp_thresh {
 #define DTMF_2ND_HARMONIC_COL  63.1    /* 18dB */
 #define DTMF_TO_TOTAL_ENERGY   42.0
 
-#ifdef OLD_DSP_ROUTINES
-#define MF_THRESHOLD           8.0e7
-#define MF_NORMAL_TWIST                5.3     /* 8dB */
-#define MF_REVERSE_TWIST       4.0     /* was 2.5 */
-#define MF_RELATIVE_PEAK       5.3     /* 8dB */
-#define MF_2ND_HARMONIC                1.7     /* was 2.5  */
-#else
 #define BELL_MF_THRESHOLD      1.6e9
 #define BELL_MF_TWIST          4.0     /* 6dB */
 #define BELL_MF_RELATIVE_PEAK  12.6    /* 11dB */
-#endif
 
 #if !defined(BUSYDETECT_MARTIN) && !defined(BUSYDETECT) && !defined(BUSYDETECT_TONEONLY) && !defined(BUSYDETECT_COMPARE_TONE_AND_SILENCE)
 #define BUSYDETECT_MARTIN
@@ -183,9 +172,7 @@ typedef struct {
        int v3;
        int chunky;
        int fac;
-#ifndef OLD_DSP_ROUTINES
        int samples;
-#endif 
 } goertzel_state_t;
 
 typedef struct {
@@ -197,22 +184,8 @@ typedef struct
 {
        goertzel_state_t row_out[4];
        goertzel_state_t col_out[4];
-#ifdef FAX_DETECT
        goertzel_state_t fax_tone;
-#endif
-#ifdef OLD_DSP_ROUTINES
-       goertzel_state_t row_out2nd[4];
-       goertzel_state_t col_out2nd[4];
-#ifdef FAX_DETECT
-       goertzel_state_t fax_tone2nd;    
-#endif
-       int hit1;
-       int hit2;
-       int hit3;
-       int hit4;
-#else
        int lasthit;
-#endif 
        int mhit;
        float energy;
        int current_sample;
@@ -223,25 +196,14 @@ typedef struct
        int detected_digits;
        int lost_digits;
        int digit_hits[16];
-#ifdef FAX_DETECT
        int fax_hits;
-#endif
 } dtmf_detect_state_t;
 
 typedef struct
 {
        goertzel_state_t tone_out[6];
        int mhit;
-#ifdef OLD_DSP_ROUTINES
-       int hit1;
-       int hit2;
-       int hit3;
-       int hit4;
-       goertzel_state_t tone_out2nd[6];
-       float energy;
-#else
        int hits[5];
-#endif
        int current_sample;
        
        char digits[MAX_DTMF_DIGITS + 1];
@@ -249,9 +211,6 @@ typedef struct
        int current_digits;
        int detected_digits;
        int lost_digits;
-#ifdef FAX_DETECT
-       int fax_hits;
-#endif
 } mf_detect_state_t;
 
 static float dtmf_row[] =
@@ -268,24 +227,11 @@ static float mf_tones[] =
        700.0, 900.0, 1100.0, 1300.0, 1500.0, 1700.0
 };
 
-#ifdef FAX_DETECT
 static float fax_freq = 1100.0;
-#endif
 
 static char dtmf_positions[] = "123A" "456B" "789C" "*0#D";
 
-#ifdef OLD_DSP_ROUTINES
-static char mf_hit[6][6] = {
-       /*  700 + */ {   0, '1', '2', '4', '7', 'C' },
-       /*  900 + */ { '1',   0, '3', '5', '8', 'A' },
-       /* 1100 + */ { '2', '3',   0, '6', '9', '*' },
-       /* 1300 + */ { '4', '5', '6',   0, '0', 'B' },
-       /* 1500 + */ { '7', '8', '9', '0',  0, '#' },
-       /* 1700 + */ { 'C', 'A', '*', 'B', '#',  0  },
-};
-#else
 static char bell_mf_positions[] = "1247C-358A--69*---0B----#";
-#endif
 
 static inline void goertzel_sample(goertzel_state_t *s, short sample)
 {
@@ -326,9 +272,7 @@ static inline void goertzel_init(goertzel_state_t *s, float freq, int samples)
 {
        s->v2 = s->v3 = s->chunky = 0.0;
        s->fac = (int)(32768.0 * 2.0 * cos(2.0 * M_PI * (freq / 8000.0)));
-#ifndef OLD_DSP_ROUTINES
        s->samples = samples;
-#endif
 }
 
 static inline void goertzel_reset(goertzel_state_t *s)
@@ -369,33 +313,15 @@ static void ast_dtmf_detect_init (dtmf_detect_state_t *s)
 {
        int i;
 
-#ifdef OLD_DSP_ROUTINES
-       s->hit1 = 
-       s->mhit = 
-       s->hit3 =
-       s->hit4 = 
-       s->hit2 = 0;
-#else
        s->lasthit = 0;
-#endif
        for (i = 0;  i < 4;  i++) {
                goertzel_init (&s->row_out[i], dtmf_row[i], 102);
                goertzel_init (&s->col_out[i], dtmf_col[i], 102);
-#ifdef OLD_DSP_ROUTINES
-               goertzel_init (&s->row_out2nd[i], dtmf_row[i] * 2.0, 102);
-               goertzel_init (&s->col_out2nd[i], dtmf_col[i] * 2.0, 102);
-#endif 
                s->energy = 0.0;
        }
-#ifdef FAX_DETECT
        /* Same for the fax dector */
        goertzel_init (&s->fax_tone, fax_freq, 102);
 
-#ifdef OLD_DSP_ROUTINES
-       /* Same for the fax dector 2nd harmonic */
-       goertzel_init (&s->fax_tone2nd, fax_freq * 2.0, 102);
-#endif 
-#endif /* FAX_DETECT */
        s->current_sample = 0;
        s->detected_digits = 0;
        s->current_digits = 0;
@@ -407,18 +333,9 @@ static void ast_dtmf_detect_init (dtmf_detect_state_t *s)
 static void ast_mf_detect_init (mf_detect_state_t *s)
 {
        int i;
-#ifdef OLD_DSP_ROUTINES
-       s->hit1 = 
-       s->hit2 = 0;
-#else  
        s->hits[0] = s->hits[1] = s->hits[2] = s->hits[3] = s->hits[4] = 0;
-#endif
        for (i = 0;  i < 6;  i++) {
                goertzel_init (&s->tone_out[i], mf_tones[i], 160);
-#ifdef OLD_DSP_ROUTINES
-               goertzel_init (&s->tone_out2nd[i], mf_tones[i] * 2.0, 160);
-               s->energy = 0.0;
-#endif
        }
        s->current_digits = 0;
        memset(&s->digits, 0, sizeof(s->digits));
@@ -434,12 +351,7 @@ static int dtmf_detect (dtmf_detect_state_t *s, int16_t amp[], int samples,
 {
        float row_energy[4];
        float col_energy[4];
-#ifdef FAX_DETECT
-       float fax_energy;
-#ifdef OLD_DSP_ROUTINES
-       float fax_energy_2nd;
-#endif 
-#endif /* FAX_DETECT */
+       float fax_energy = 0.0;
        float famp;
        int i;
        int j;
@@ -456,16 +368,6 @@ static int dtmf_detect (dtmf_detect_state_t *s, int16_t amp[], int samples,
                        limit = sample + (102 - s->current_sample);
                else
                        limit = samples;
-#if defined(USE_3DNOW)
-               _dtmf_goertzel_update (s->row_out, amp + sample, limit - sample);
-               _dtmf_goertzel_update (s->col_out, amp + sample, limit - sample);
-#ifdef OLD_DSP_ROUTINES
-               _dtmf_goertzel_update (s->row_out2nd, amp + sample, limit2 - sample);
-               _dtmf_goertzel_update (s->col_out2nd, amp + sample, limit2 - sample);
-#endif         
-               /* XXX Need to fax detect for 3dnow too XXX */
-               #warning "Fax Support Broken"
-#else
                /* The following unrolled loop takes only 35% (rough estimate) of the 
                   time of a rolled loop on the machine on which it was developed */
                for (j = sample; j < limit; j++) {
@@ -481,44 +383,11 @@ static int dtmf_detect (dtmf_detect_state_t *s, int16_t amp[], int samples,
                        goertzel_sample(s->col_out + 2, amp[j]);
                        goertzel_sample(s->row_out + 3, amp[j]);
                        goertzel_sample(s->col_out + 3, amp[j]);
-#ifdef FAX_DETECT
+
                        /* Update fax tone */
-                       goertzel_sample(&s->fax_tone, amp[j]);
-#endif /* FAX_DETECT */
-#ifdef OLD_DSP_ROUTINES
-                       v1 = s->col_out2nd[0].v2;
-                       s->col_out2nd[0].v2 = s->col_out2nd[0].v3;
-                       s->col_out2nd[0].v3 = s->col_out2nd[0].fac*s->col_out2nd[0].v2 - v1 + famp;
-                       v1 = s->row_out2nd[0].v2;
-                       s->row_out2nd[0].v2 = s->row_out2nd[0].v3;
-                       s->row_out2nd[0].v3 = s->row_out2nd[0].fac*s->row_out2nd[0].v2 - v1 + famp;
-                       v1 = s->col_out2nd[1].v2;
-                       s->col_out2nd[1].v2 = s->col_out2nd[1].v3;
-                       s->col_out2nd[1].v3 = s->col_out2nd[1].fac*s->col_out2nd[1].v2 - v1 + famp;
-                       v1 = s->row_out2nd[1].v2;
-                       s->row_out2nd[1].v2 = s->row_out2nd[1].v3;
-                       s->row_out2nd[1].v3 = s->row_out2nd[1].fac*s->row_out2nd[1].v2 - v1 + famp;
-                       v1 = s->col_out2nd[2].v2;
-                       s->col_out2nd[2].v2 = s->col_out2nd[2].v3;
-                       s->col_out2nd[2].v3 = s->col_out2nd[2].fac*s->col_out2nd[2].v2 - v1 + famp;
-                       v1 = s->row_out2nd[2].v2;
-                       s->row_out2nd[2].v2 = s->row_out2nd[2].v3;
-                       s->row_out2nd[2].v3 = s->row_out2nd[2].fac*s->row_out2nd[2].v2 - v1 + famp;
-                       v1 = s->col_out2nd[3].v2;
-                       s->col_out2nd[3].v2 = s->col_out2nd[3].v3;
-                       s->col_out2nd[3].v3 = s->col_out2nd[3].fac*s->col_out2nd[3].v2 - v1 + famp;
-                       v1 = s->row_out2nd[3].v2;
-                       s->row_out2nd[3].v2 = s->row_out2nd[3].v3;
-                       s->row_out2nd[3].v3 = s->row_out2nd[3].fac*s->row_out2nd[3].v2 - v1 + famp;
-#ifdef FAX_DETECT
-                       /* Update fax tone */            
-                       v1 = s->fax_tone.v2;
-                       s->fax_tone2nd.v2 = s->fax_tone2nd.v3;
-                       s->fax_tone2nd.v3 = s->fax_tone2nd.fac*s->fax_tone2nd.v2 - v1 + famp;
-#endif /* FAX_DETECT */
-#endif
+                       if (faxdetect)
+                               goertzel_sample(&s->fax_tone, amp[j]);
                }
-#endif
                s->current_sample += (limit - sample);
                if (s->current_sample < 102) {
                        if (hit && !((digitmode & DSP_DIGITMODE_NOQUELCH))) {
@@ -530,10 +399,9 @@ static int dtmf_detect (dtmf_detect_state_t *s, int16_t amp[], int samples,
                        }
                        continue;
                }
-#ifdef FAX_DETECT
                /* Detect the fax energy, too */
-               fax_energy = goertzel_result(&s->fax_tone);
-#endif
+               if (faxdetect)
+                       fax_energy = goertzel_result(&s->fax_tone);
                /* We are at the end of a DTMF detection block */
                /* Find the peak row and the peak column */
                row_energy[0] = goertzel_result (&s->row_out[0]);
@@ -562,17 +430,9 @@ static int dtmf_detect (dtmf_detect_state_t *s, int16_t amp[], int samples,
                                        break;
                                }
                        }
-#ifdef OLD_DSP_ROUTINES
-                       /* ... and second harmonic test */
-                       if (i >= 4 && 
-                           (row_energy[best_row] + col_energy[best_col]) > 42.0*s->energy &&
-                           goertzel_result(&s->col_out2nd[best_col])*DTMF_2ND_HARMONIC_COL < col_energy[best_col]
-                           && goertzel_result(&s->row_out2nd[best_row])*DTMF_2ND_HARMONIC_ROW < row_energy[best_row]) {
-#else
                        /* ... and fraction of total energy test */
                        if (i >= 4 &&
                            (row_energy[best_row] + col_energy[best_col]) > DTMF_TO_TOTAL_ENERGY*s->energy) {
-#endif
                                /* Got a hit */
                                hit = dtmf_positions[(best_row << 2) + best_col];
                                if (!(digitmode & DSP_DIGITMODE_NOQUELCH)) {
@@ -581,30 +441,9 @@ static int dtmf_detect (dtmf_detect_state_t *s, int16_t amp[], int samples,
                                                amp[i] = 0;
                                        *writeback = 1;
                                }
-#ifdef OLD_DSP_ROUTINES
-                               /* Look for two successive similar results */
-                               /* The logic in the next test is:
-                                  We need two successive identical clean detects, with
-                                  something different preceeding it. This can work with
-                                  back to back differing digits. More importantly, it
-                                  can work with nasty phones that give a very wobbly start
-                                  to a digit */
-                               if (hit == s->hit3  &&  s->hit3 != s->hit2) {
-                                       s->mhit = hit;
-                                       s->digit_hits[(best_row << 2) + best_col]++;
-                                       s->detected_digits++;
-                                       if (s->current_digits < MAX_DTMF_DIGITS) {
-                                               s->digits[s->current_digits++] = hit;
-                                               s->digits[s->current_digits] = '\0';
-                                       } else {
-                                               s->lost_digits++;
-                                       }
-                               }
-#endif
                        }
                } 
 
-#ifndef OLD_DSP_ROUTINES
                /* Look for two successive similar results */
                /* The logic in the next test is:
                   We need two successive identical clean detects, with
@@ -625,15 +464,9 @@ static int dtmf_detect (dtmf_detect_state_t *s, int16_t amp[], int samples,
                        }
                        s->mhit = hit;
                }
-#endif
 
-#ifdef FAX_DETECT
-               if (!hit && (fax_energy >= FAX_THRESHOLD) && 
-                       (fax_energy >= DTMF_TO_TOTAL_ENERGY*s->energy) &&
-                       (faxdetect)) {
-#if 0
-                       printf("Fax energy/Second Harmonic: %f\n", fax_energy);
-#endif                                 
+               if (!hit && faxdetect && (fax_energy >= FAX_THRESHOLD) && 
+                       (fax_energy >= DTMF_TO_TOTAL_ENERGY*s->energy)) {
                        /* XXX Probably need better checking than just this the energy XXX */
                        hit = 'f';
                        s->fax_hits++;
@@ -651,64 +484,29 @@ static int dtmf_detect (dtmf_detect_state_t *s, int16_t amp[], int samples,
                        }
                        s->fax_hits = 0;
                }
-#endif /* FAX_DETECT */
-#ifdef OLD_DSP_ROUTINES
-               s->hit1 = s->hit2;
-               s->hit2 = s->hit3;
-               s->hit3 = hit;
-#else
                s->lasthit = hit;
-#endif         
                /* Reinitialise the detector for the next block */
                for (i = 0;  i < 4;  i++) {
                        goertzel_reset(&s->row_out[i]);
                        goertzel_reset(&s->col_out[i]);
-#ifdef OLD_DSP_ROUTINES
-                       goertzel_reset(&s->row_out2nd[i]);
-                       goertzel_reset(&s->col_out2nd[i]);
-#endif                 
                }
-#ifdef FAX_DETECT
-               goertzel_reset (&s->fax_tone);
-#ifdef OLD_DSP_ROUTINES
-               goertzel_reset (&s->fax_tone2nd);
-#endif                 
-#endif
+               if (faxdetect)
+                       goertzel_reset (&s->fax_tone);
                s->energy = 0.0;
                s->current_sample = 0;
        }
-#ifdef OLD_DSP_ROUTINES
-       if ((!s->mhit) || (s->mhit != hit)) {
-               s->mhit = 0;
-               return(0);
-       }
-       return (hit);
-#else
        return (s->mhit);       /* return the debounced hit */
-#endif
 }
 
 /* MF goertzel size */
-#ifdef OLD_DSP_ROUTINES
-#define        MF_GSIZE 160
-#else
 #define MF_GSIZE 120
-#endif
 
 static int mf_detect (mf_detect_state_t *s, int16_t amp[],
                  int samples, int digitmode, int *writeback)
 {
-#ifdef OLD_DSP_ROUTINES
-       float tone_energy[6];
-       int best1;
-       int best2;
-       float max;
-       int sofarsogood;
-#else
        float energy[6];
        int best;
        int second_best;
-#endif
        float famp;
        int i;
        int j;
@@ -723,23 +521,10 @@ static int mf_detect (mf_detect_state_t *s, int16_t amp[],
                        limit = sample + (MF_GSIZE - s->current_sample);
                else
                        limit = samples;
-#if defined(USE_3DNOW)
-               _dtmf_goertzel_update (s->row_out, amp + sample, limit - sample);
-               _dtmf_goertzel_update (s->col_out, amp + sample, limit - sample);
-#ifdef OLD_DSP_ROUTINES
-               _dtmf_goertzel_update (s->row_out2nd, amp + sample, limit2 - sample);
-               _dtmf_goertzel_update (s->col_out2nd, amp + sample, limit2 - sample);
-#endif
-               /* XXX Need to fax detect for 3dnow too XXX */
-               #warning "Fax Support Broken"
-#else
                /* The following unrolled loop takes only 35% (rough estimate) of the 
                   time of a rolled loop on the machine on which it was developed */
                for (j = sample;  j < limit;  j++) {
                        famp = amp[j];
-#ifdef OLD_DSP_ROUTINES
-                       s->energy += famp*famp;
-#endif
                        /* With GCC 2.95, the following unrolled code seems to take about 35%
                           (rough estimate) as long as a neat little 0-3 loop */
                        goertzel_sample(s->tone_out, amp[j]);
@@ -748,28 +533,7 @@ static int mf_detect (mf_detect_state_t *s, int16_t amp[],
                        goertzel_sample(s->tone_out + 3, amp[j]);
                        goertzel_sample(s->tone_out + 4, amp[j]);
                        goertzel_sample(s->tone_out + 5, amp[j]);
-#ifdef OLD_DSP_ROUTINES
-                       v1 = s->tone_out2nd[0].v2;
-                       s->tone_out2nd[0].v2 = s->tone_out2nd[0].v3;
-                       s->tone_out2nd[0].v3 = s->tone_out2nd[0].fac*s->tone_out2nd[0].v2 - v1 + famp;
-                       v1 = s->tone_out2nd[1].v2;
-                       s->tone_out2nd[1].v2 = s->tone_out2nd[1].v3;
-                       s->tone_out2nd[1].v3 = s->tone_out2nd[1].fac*s->tone_out2nd[1].v2 - v1 + famp;
-                       v1 = s->tone_out2nd[2].v2;
-                       s->tone_out2nd[2].v2 = s->tone_out2nd[2].v3;
-                       s->tone_out2nd[2].v3 = s->tone_out2nd[2].fac*s->tone_out2nd[2].v2 - v1 + famp;
-                       v1 = s->tone_out2nd[3].v2;
-                       s->tone_out2nd[3].v2 = s->tone_out2nd[3].v3;
-                       s->tone_out2nd[3].v3 = s->tone_out2nd[3].fac*s->tone_out2nd[3].v2 - v1 + famp;
-                       v1 = s->tone_out2nd[4].v2;
-                       s->tone_out2nd[4].v2 = s->tone_out2nd[4].v3;
-                       s->tone_out2nd[4].v3 = s->tone_out2nd[4].fac*s->tone_out2nd[2].v2 - v1 + famp;
-                       v1 = s->tone_out2nd[3].v2;
-                       s->tone_out2nd[5].v2 = s->tone_out2nd[6].v3;
-                       s->tone_out2nd[5].v3 = s->tone_out2nd[6].fac*s->tone_out2nd[3].v2 - v1 + famp;
-#endif
                }
-#endif
                s->current_sample += (limit - sample);
                if (s->current_sample < MF_GSIZE) {
                        if (hit && !((digitmode & DSP_DIGITMODE_NOQUELCH))) {
@@ -781,99 +545,6 @@ static int mf_detect (mf_detect_state_t *s, int16_t amp[],
                        }
                        continue;
                }
-#ifdef OLD_DSP_ROUTINES                
-               /* We're at the end of an MF detection block.  Go ahead and calculate
-                  all the energies. */
-               for (i=0;i<6;i++) {
-                       tone_energy[i] = goertzel_result(&s->tone_out[i]);
-               }
-               /* Find highest */
-               best1 = 0;
-               max = tone_energy[0];
-               for (i=1;i<6;i++) {
-                       if (tone_energy[i] > max) {
-                               max = tone_energy[i];
-                               best1 = i;
-                       }
-               }
-
-               /* Find 2nd highest */
-               if (best1) {
-                       max = tone_energy[0];
-                       best2 = 0;
-               } else {
-                       max = tone_energy[1];
-                       best2 = 1;
-               }
-
-               for (i=0;i<6;i++) {
-                       if (i == best1) continue;
-                       if (tone_energy[i] > max) {
-                               max = tone_energy[i];
-                               best2 = i;
-                       }
-               }
-               hit = 0;
-               if (best1 != best2) 
-                       sofarsogood=1;
-               else 
-                       sofarsogood=0;
-               /* Check for relative energies */
-               for (i=0;i<6;i++) {
-                       if (i == best1) 
-                               continue;
-                       if (i == best2) 
-                               continue;
-                       if (tone_energy[best1] < tone_energy[i] * MF_RELATIVE_PEAK) {
-                               sofarsogood = 0;
-                               break;
-                       }
-                       if (tone_energy[best2] < tone_energy[i] * MF_RELATIVE_PEAK) {
-                               sofarsogood = 0;
-                               break;
-                       }
-               }
-               
-               if (sofarsogood) {
-                       /* Check for 2nd harmonic */
-                       if (goertzel_result(&s->tone_out2nd[best1]) * MF_2ND_HARMONIC > tone_energy[best1]) 
-                               sofarsogood = 0;
-                       else if (goertzel_result(&s->tone_out2nd[best2]) * MF_2ND_HARMONIC > tone_energy[best2])
-                               sofarsogood = 0;
-               }
-               if (sofarsogood) {
-                       hit = mf_hit[best1][best2];
-                       if (!(digitmode & DSP_DIGITMODE_NOQUELCH)) {
-                               /* Zero out frame data if this is part DTMF */
-                               for (i=sample;i<limit;i++) 
-                                       amp[i] = 0;
-                               *writeback = 1;
-                       }
-                       /* Look for two consecutive clean hits */
-                       if ((hit == s->hit3) && (s->hit3 != s->hit2)) {
-                               s->mhit = hit;
-                               s->detected_digits++;
-                               if (s->current_digits < MAX_DTMF_DIGITS - 2) {
-                                       s->digits[s->current_digits++] = hit;
-                                       s->digits[s->current_digits] = '\0';
-                               } else {
-                                       s->lost_digits++;
-                               }
-                       }
-               }
-               
-               s->hit1 = s->hit2;
-               s->hit2 = s->hit3;
-               s->hit3 = hit;
-               /* Reinitialise the detector for the next block */
-               for (i = 0;  i < 6;  i++) {
-                       goertzel_reset(&s->tone_out[i]);
-                       goertzel_reset(&s->tone_out2nd[i]);
-               }
-               s->energy = 0.0;
-               s->current_sample = 0;
-       }
-#else
                /* We're at the end of an MF detection block.  */
                /* Find the two highest energies. The spec says to look for
                   two tones and two tones only. Taking this literally -ie
@@ -957,7 +628,6 @@ static int mf_detect (mf_detect_state_t *s, int16_t amp[],
                        goertzel_reset(&s->tone_out[i]);
                s->current_sample = 0;
        }
-#endif 
        if ((!s->mhit) || (s->mhit != hit)) {
                s->mhit = 0;
                return(0);
@@ -1064,11 +734,6 @@ static int __ast_dsp_call_progress(struct ast_dsp *dsp, short *s, int len)
                        float hz[7];
                        for (y=0;y<7;y++)
                                hz[y] = goertzel_result(&dsp->freqs[y]);
-#if 0
-                       printf("\n350:     425:     440:     480:     620:     950:     1400:    1800:    Energy:   \n");
-                       printf("%.2e %.2e %.2e %.2e %.2e %.2e %.2e %.2e %.2e\n", 
-                               hz[HZ_350], hz[HZ_425], hz[HZ_440], hz[HZ_480], hz[HZ_620], hz[HZ_950], hz[HZ_1400], hz[HZ_1800], dsp->genergy);
-#endif
                        switch (dsp->progmode) {
                        case PROG_MODE_NA:
                                if (pair_there(hz[HZ_480], hz[HZ_620], hz[HZ_350], hz[HZ_440], dsp->genergy)) {
@@ -1148,17 +813,13 @@ static int __ast_dsp_call_progress(struct ast_dsp *dsp, short *s, int len)
                                                break;
                                }
                                if (dsp->ringtimeout==THRESH_RING2ANSWER) {
-#if 0
-                                       ast_log(LOG_NOTICE, "Consider call as answered because of timeout after last ring\n");
-#endif
+                                       ast_debug(1, "Consider call as answered because of timeout after last ring\n");
                                        res = AST_CONTROL_ANSWER;
                                        dsp->features &= ~DSP_FEATURE_CALL_PROGRESS;
                                }
                        } else {
-#if 0
-                               ast_log(LOG_NOTICE, "Stop state %d with duration %d\n", dsp->tstate, dsp->tcount);
-                               ast_log(LOG_NOTICE, "Start state %d\n", newstate);
-#endif
+                               ast_debug(5, "Stop state %d with duration %d\n", dsp->tstate, dsp->tcount);
+                               ast_debug(5, "Start state %d\n", newstate);
                                dsp->tstate = newstate;
                                dsp->tcount = 1;
                        }
@@ -1170,10 +831,7 @@ static int __ast_dsp_call_progress(struct ast_dsp *dsp, short *s, int len)
                        dsp->genergy = 0.0;
                }
        }
-#if 0
-       if (res)
-               printf("Returning %d\n", res);
-#endif         
+
        return res;
 }
 
@@ -1328,12 +986,10 @@ int ast_dsp_busydetect(struct ast_dsp *dsp)
        }
 #endif
 #ifndef BUSYDETECT_TONEONLY
-#if 1
        if (res) {
                ast_debug(1, "ast_dsp_busydetect detected busy, avgtone: %d, avgsilence %d\n", avgtone, avgsilence);
        }
 #endif
-#endif
        return res;
 }
 #endif
@@ -1665,16 +1321,8 @@ void ast_dsp_digitreset(struct ast_dsp *dsp)
                /* Reinitialise the detector for the next block */
                for (i = 0;  i < 6;  i++) {
                        goertzel_reset(&dsp->td.mf.tone_out[i]);
-#ifdef OLD_DSP_ROUTINES
-                       goertzel_reset(&dsp->td.mf.tone_out2nd[i]);
-#endif                 
                }
-#ifdef OLD_DSP_ROUTINES
-               dsp->td.mf.energy = 0.0;
-               dsp->td.mf.hit1 = dsp->td.mf.hit2 = dsp->td.mf.hit3 = dsp->td.mf.hit4 = dsp->td.mf.mhit = 0;
-#else
                dsp->td.mf.hits[4] = dsp->td.mf.hits[3] = dsp->td.mf.hits[2] = dsp->td.mf.hits[1] = dsp->td.mf.hits[0] = dsp->td.mf.mhit = 0;
-#endif         
                dsp->td.mf.current_sample = 0;
        } else {
                memset(dsp->td.dtmf.digits, 0, sizeof(dsp->td.dtmf.digits));
@@ -1683,22 +1331,9 @@ void ast_dsp_digitreset(struct ast_dsp *dsp)
                for (i = 0;  i < 4;  i++) {
                        goertzel_reset(&dsp->td.dtmf.row_out[i]);
                        goertzel_reset(&dsp->td.dtmf.col_out[i]);
-#ifdef OLD_DSP_ROUTINES
-                       goertzel_reset(&dsp->td.dtmf.row_out2nd[i]);
-                       goertzel_reset(&dsp->td.dtmf.col_out2nd[i]);
-#endif                 
                }
-#ifdef FAX_DETECT
                goertzel_reset (&dsp->td.dtmf.fax_tone);
-#endif
-#ifdef OLD_DSP_ROUTINES
-#ifdef FAX_DETECT
-               goertzel_reset (&dsp->td.dtmf.fax_tone2nd);
-#endif
-               dsp->td.dtmf.hit1 = dsp->td.dtmf.hit2 = dsp->td.dtmf.hit3 = dsp->td.dtmf.hit4 = dsp->td.dtmf.mhit = 0;
-#else
                dsp->td.dtmf.lasthit = dsp->td.dtmf.mhit = 0;
-#endif         
                dsp->td.dtmf.energy = 0.0;
                dsp->td.dtmf.current_sample = 0;
        }