|
@@ -118,8 +118,8 @@ getDataFromSplitBinary (FILE *f, Matrix *ret)
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
-static float*
|
|
|
-readFilterFromFile (int isSmooth, int n, int *filterlength)
|
|
|
+static int
|
|
|
+readFilterFromFile (int isSmooth, int n, float *filter, int *filterlength)
|
|
|
{
|
|
|
char filtname[64];
|
|
|
if (n != 0)
|
|
@@ -136,10 +136,10 @@ readFilterFromFile (int isSmooth, int n, int *filterlength)
|
|
|
}
|
|
|
|
|
|
fseek (f, 0L, SEEK_END);
|
|
|
- int size = ftell (f) / sizeof(float);
|
|
|
+ size_t size = ftell (f) / sizeof(float);
|
|
|
rewind (f);
|
|
|
|
|
|
- float filter[size];
|
|
|
+ filter = malloc (size * sizeof (float));
|
|
|
|
|
|
fread (filter, sizeof(float), size, f);
|
|
|
|
|
@@ -147,7 +147,7 @@ readFilterFromFile (int isSmooth, int n, int *filterlength)
|
|
|
|
|
|
*filterlength = size;
|
|
|
|
|
|
- return filter;
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
static void
|
|
@@ -392,7 +392,7 @@ filterData (int decimFactor, int isSmooth, Matrix * const input, Matrix *decimOu
|
|
|
|
|
|
float *filter;
|
|
|
int filterlength = 0;
|
|
|
- filter = readFilterFromFile (isSmooth, decimFactor, &filterlength);
|
|
|
+ readFilterFromFile (isSmooth, decimFactor, filter, &filterlength);
|
|
|
printf("%f\n", filter[0]);
|
|
|
|
|
|
int length = input->width * input->height;
|