From bbc9a95a7875c8c9b4a8e0b87491aa52e56ec849 Mon Sep 17 00:00:00 2001 From: Cristy Date: Sat, 2 Apr 2016 20:20:43 -0400 Subject: [PATCH] ... --- MagickCore/fourier.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/MagickCore/fourier.c b/MagickCore/fourier.c index a7fefda91..b6c4a423e 100644 --- a/MagickCore/fourier.c +++ b/MagickCore/fourier.c @@ -766,8 +766,8 @@ static MagickBooleanType ForwardFourierTransform(FourierInfo *fourier_info, } } image_view=DestroyCacheView(image_view); - forward_info=AcquireVirtualMemory((size_t) fourier_info->height, - fourier_info->center*sizeof(*forward_pixels)); + forward_info=AcquireVirtualMemory((size_t) fourier_info->width, + 2*(fourier_info->height/2+1)*sizeof(*forward_pixels)); if (forward_info == (MemoryInfo *) NULL) { (void) ThrowMagickException(exception,GetMagickModule(), @@ -781,7 +781,7 @@ static MagickBooleanType ForwardFourierTransform(FourierInfo *fourier_info, #endif fftw_r2c_plan=fftw_plan_dft_r2c_2d(fourier_info->width,fourier_info->height, source_pixels,forward_pixels,FFTW_ESTIMATE); - fftw_execute(fftw_r2c_plan); + fftw_execute_dft_r2c(fftw_r2c_plan,source_pixels,forward_pixels); fftw_destroy_plan(fftw_r2c_plan); source_info=(MemoryInfo *) RelinquishVirtualMemory(source_info); value=GetImageArtifact(image,"fourier:normalize"); @@ -1359,12 +1359,10 @@ static MagickBooleanType InverseFourierTransform(FourierInfo *fourier_info, #if defined(MAGICKCORE_OPENMP_SUPPORT) #pragma omp critical (MagickCore_InverseFourierTransform) #endif - { - fftw_c2r_plan=fftw_plan_dft_c2r_2d(fourier_info->width,fourier_info->height, - fourier_pixels,source_pixels,FFTW_ESTIMATE); - fftw_execute(fftw_c2r_plan); - fftw_destroy_plan(fftw_c2r_plan); - } + fftw_c2r_plan=fftw_plan_dft_c2r_2d(fourier_info->width,fourier_info->height, + fourier_pixels,source_pixels,FFTW_ESTIMATE); + fftw_execute_dft_c2r(fftw_c2r_plan,fourier_pixels,source_pixels); + fftw_destroy_plan(fftw_c2r_plan); i=0L; image_view=AcquireAuthenticCacheView(image,exception); for (y=0L; y < (ssize_t) fourier_info->height; y++) -- 2.40.0