diff options
author | Jamie Bullock <jamie@postlude.co.uk> | 2007-03-20 07:35:30 +0000 |
---|---|---|
committer | Jamie Bullock <jamie@postlude.co.uk> | 2007-03-20 07:35:30 +0000 |
commit | 112745d26988cc86ebf2577dba029d03211a22e8 (patch) | |
tree | 85ddd95d9f3f1263ad1d1dc8ed770320193386e5 /src/vector.c | |
parent | 0f01e44455d7e70fd64e88c8e410cd40fbd2a2d0 (diff) | |
download | LibXtract-112745d26988cc86ebf2577dba029d03211a22e8.tar.gz LibXtract-112745d26988cc86ebf2577dba029d03211a22e8.tar.bz2 LibXtract-112745d26988cc86ebf2577dba029d03211a22e8.zip |
Removed spurious mallocs and frees in xtract_mfcc and xtract_dct
Diffstat (limited to 'src/vector.c')
-rw-r--r-- | src/vector.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/vector.c b/src/vector.c index 404f414..acbf5a2 100644 --- a/src/vector.c +++ b/src/vector.c @@ -182,19 +182,15 @@ int xtract_autocorrelation_fft(const float *data, const int N, const void *argv, int xtract_mfcc(const float *data, const int N, const void *argv, float *result){ xtract_mel_filter *f; - float *input; size_t bytes; int n, filter; f = (xtract_mel_filter *)argv; - input = (float *)malloc(bytes = N * sizeof(float)); - input = memcpy(input, data, bytes); - for(filter = 0; filter < f->n_filters; filter++){ result[filter] = 0.f; for(n = 0; n < N; n++){ - result[filter] += input[n] * f->filters[filter][n]; + result[filter] += data[n] * f->filters[filter][n]; } result[filter] = log(result[filter] < XTRACT_LOG_LIMIT ? XTRACT_LOG_LIMIT : result[filter]); } @@ -202,8 +198,6 @@ int xtract_mfcc(const float *data, const int N, const void *argv, float *result) for(n = filter + 1; n < N; n++) result[n] = 0; xtract_dct(result, f->n_filters, NULL, result); - - free(input); return XTRACT_SUCCESS; } @@ -211,18 +205,13 @@ int xtract_mfcc(const float *data, const int N, const void *argv, float *result) int xtract_dct(const float *data, const int N, const void *argv, float *result){ fftwf_plan plan; - float *input; size_t bytes; - - input = (float *)malloc(bytes = N * sizeof(float)); - input = memcpy(input, data, bytes); plan = - fftwf_plan_r2r_1d(N, input, result, FFTW_REDFT00, FFTW_ESTIMATE); + fftwf_plan_r2r_1d(N, data, result, FFTW_REDFT00, FFTW_ESTIMATE); fftwf_execute(plan); fftwf_destroy_plan(plan); - free(input); return XTRACT_SUCCESS; } |