modified 1600 so it doesn't alter amplitude of the demod input vector, to allow pass...
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Mon, 6 Feb 2017 08:50:47 +0000 (08:50 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Mon, 6 Feb 2017 08:50:47 +0000 (08:50 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@3019 01035d8c-6547-0410-b346-abe4f91aad63

codec2-dev/src/freedv_api.c

index 2bf95f68447ae1db266422ec10a0f3f56cf15a3a..ace5958ae8c5844bd17baddb48225ee0304e7802 100644 (file)
@@ -962,13 +962,14 @@ static int freedv_comprx_fdmdv_1600(struct freedv *f, COMP demod_in[], int *vali
     bytes_per_codec_frame = (bits_per_codec_frame + 7) / 8;
     nout = f->n_speech_samples;
 
+    COMP ademod_in[f->nin];
     for(i=0; i<f->nin; i++)
-        demod_in[i] = fcmult(1.0/FDMDV_SCALE, demod_in[i]);
+        ademod_in[i] = fcmult(1.0/FDMDV_SCALE, demod_in[i]);
 
     bits_per_fdmdv_frame  = fdmdv_bits_per_frame(f->fdmdv);
 
     nin_prev = f->nin;
-    fdmdv_demod(f->fdmdv, f->fdmdv_bits, &reliable_sync_bit, demod_in, &f->nin);
+    fdmdv_demod(f->fdmdv, f->fdmdv_bits, &reliable_sync_bit, ademod_in, &f->nin);
     fdmdv_get_demod_stats(f->fdmdv, &f->stats);
     f->sync = f->fdmdv->sync;
     f->snr_est = f->stats.snr_est;