summaryrefslogtreecommitdiff
path: root/src/c/signalProcessing
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/signalProcessing')
-rw-r--r--src/c/signalProcessing/includes/dct.h2
-rw-r--r--src/c/signalProcessing/interfaces/int_dct.h4
-rw-r--r--src/c/signalProcessing/transforms/dct/cdcta.c8
-rw-r--r--src/c/signalProcessing/transforms/idct/cidcta.c2
4 files changed, 10 insertions, 6 deletions
diff --git a/src/c/signalProcessing/includes/dct.h b/src/c/signalProcessing/includes/dct.h
index 80668ffa..db95274b 100644
--- a/src/c/signalProcessing/includes/dct.h
+++ b/src/c/signalProcessing/includes/dct.h
@@ -29,7 +29,7 @@ void sdcta(float *in,int row,int col,int sign,float *out);
void zdcta(doubleComplex *in,int row,int col,int sign,doubleComplex *out);
-void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out);
+//void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out);
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/signalProcessing/interfaces/int_dct.h b/src/c/signalProcessing/interfaces/int_dct.h
index 3481c4d5..ef58b48e 100644
--- a/src/c/signalProcessing/interfaces/int_dct.h
+++ b/src/c/signalProcessing/interfaces/int_dct.h
@@ -29,8 +29,8 @@
#define z2d0dctz2(in,size,sign,out) zdcta(in,size[0],size[1],sign,out)
-#define c2dctc2(in,size,out) cdcta(in,size[0],size[1],-1,out)
+//#define c2dctc2(in,size,out) cdcta(in,size[0],size[1],-1,out)
-#define c2s0dctc2(in,size,sign,out) cdcta(in,size[0],size[1],sign,out)
+//#define c2s0dctc2(in,size,sign,out) cdcta(in,size[0],size[1],sign,out)
#endif
diff --git a/src/c/signalProcessing/transforms/dct/cdcta.c b/src/c/signalProcessing/transforms/dct/cdcta.c
index 5bc27929..7a006a0e 100644
--- a/src/c/signalProcessing/transforms/dct/cdcta.c
+++ b/src/c/signalProcessing/transforms/dct/cdcta.c
@@ -15,6 +15,7 @@
#include "addition.h"
#include "types.h"
#include "floatComplex.h"
+#include "multiplication.h"
/*#include "matrixMultiplication"*/
/*#include <fftw3.h>*/
#include <math.h>
@@ -26,7 +27,7 @@ void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out)
int x,y;
float res,ress;
float re,z,q,m;
- floatComplex accu = DoubleComplex(0, 0);
+ floatComplex accu = FloatComplex(0, 0);
floatComplex temp,mm;
if(sign==-1)
{
@@ -44,7 +45,10 @@ void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out)
for(j=0;j<col;j++)
{
y=row*j+i;
- temp=in[y]*(cos(((M_PI)*(y+1-1./2.)*(x))/n));
+ float a;
+ a=(cos(((M_PI)*(y+1-1./2.)*(x))/n));
+ floatComplex b=FloatComplex(a,0);
+ temp=cmuls(in[y],b);
out[x]=cadds(out[x],temp);
}
}
diff --git a/src/c/signalProcessing/transforms/idct/cidcta.c b/src/c/signalProcessing/transforms/idct/cidcta.c
index ec0df0c7..e6c746ce 100644
--- a/src/c/signalProcessing/transforms/idct/cidcta.c
+++ b/src/c/signalProcessing/transforms/idct/cidcta.c
@@ -26,7 +26,7 @@ void cidcta(floatComplex *in,int row,int col,floatComplex *out)
int x,y;
float res,ress;
float re,z,q,m;
- floatComplex accu = DoubleComplex(0, 0);
+ floatComplex accu = FloatComplex(0, 0);
floatComplex temp,mm;
if(row==1)
{