From: Cristy Date: Sun, 3 Apr 2016 00:20:43 +0000 (-0400) Subject: ... X-Git-Tag: 7.0.1-0~71 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bbc9a95a7875c8c9b4a8e0b87491aa52e56ec849;p=imagemagick ... --- 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++)