modifief for p=1 equalisation, works OK
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Thu, 26 Mar 2015 06:43:31 +0000 (06:43 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Thu, 26 Mar 2015 06:43:31 +0000 (06:43 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@2091 01035d8c-6547-0410-b346-abe4f91aad63

codec2-dev/unittest/genres.c

index 2da9662c824fdc6d510fbc0a657778e194e54554..bd2e73c0b676708513d93e7eee1ef29d4746a222 100644 (file)
@@ -30,7 +30,7 @@
 #include <lpc.h>
 
 #define N 160
-#define P 10
+#define P 1
 
 int main(int argc, char *argv[])
 {
@@ -51,12 +51,14 @@ int main(int argc, char *argv[])
 
   /* Open files */
 
-  if ((fin = fopen(argv[1],"rb")) == NULL) {
+  if (strcmp(argv[1], "-")  == 0) fin = stdin;
+  else if ((fin = fopen(argv[1],"rb")) == NULL) {
     printf("Error opening input file: %s\n",argv[1]);
     exit(0);
   }
 
-  if ((fres = fopen(argv[2],"wb")) == NULL) {
+  if (strcmp(argv[2], "-") == 0) fres = stdout;
+  else if ((fres = fopen(argv[2],"wb")) == NULL) {
     printf("Error opening output residual file: %s\n",argv[2]);
     exit(0);
   }
@@ -82,6 +84,11 @@ int main(int argc, char *argv[])
     for(i=0; i<N; i++)
       buf[i] = (short)res[i];
     fwrite(buf,sizeof(short),N,fres);
+
+    /* update filter memory */
+
+    for(i=0; i<P; i++)
+        Sn[i] = Sn[i+N]; 
   }
 
   fclose(fin);