diff options
Diffstat (limited to 'src/c/signalProcessing')
-rw-r--r-- | src/c/signalProcessing/includes/dct.h | 2 | ||||
-rw-r--r-- | src/c/signalProcessing/interfaces/int_dct.h | 4 | ||||
-rw-r--r-- | src/c/signalProcessing/transforms/dct/cdcta.c | 8 | ||||
-rw-r--r-- | src/c/signalProcessing/transforms/idct/cidcta.c | 2 |
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) { |