#include #include#include
void dct(float **DCTMatrix, float **Matrix, int N, intM);void write_mat(FILE *fp, float **testRes, int N, intM);void idct(float **Matrix, float **DCTMatrix, int N, intM);float **calloc_mat(int dimX, intdimY);void free_mat(float **p);float **calloc_mat(int dimX, intdimY){float **m = calloc(dimX, sizeof(float*));float *p = calloc(dimX*dimY, sizeof(float));inti;for(i=0; i
m[i]= &p[i*dimY];
}returnm;
}void free_mat(float **m){free(m[0]);free(m);
}void write_mat(FILE *fp, float **m, int N, intM){inti, j;for(i =0; i< N; i++){
fprintf(fp,"%f", m[i][0]);for(j = 1; j < M; j++){
fprintf(fp,"\t%f", m[i][j]);
}
fprintf(fp,"\n");
}
fprintf(fp,"\n");
}void dct(float **DCTMatrix, float **Matrix, int N, intM){inti, j, u, v;for (u = 0;