From: Dirk Lemstra Date: Sat, 2 Dec 2017 18:11:23 +0000 (+0100) Subject: Added missing attenuate argument to `ComputeAddNoiseImage`. X-Git-Tag: 7.0.7-14~13 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4367f4ebd2ea188b3b85476e210f657a81ce2db3;p=imagemagick Added missing attenuate argument to `ComputeAddNoiseImage`. --- diff --git a/MagickCore/accelerate-private.h b/MagickCore/accelerate-private.h index 7aaaeebef..4a42374c4 100644 --- a/MagickCore/accelerate-private.h +++ b/MagickCore/accelerate-private.h @@ -32,7 +32,8 @@ extern "C" { #if defined(MAGICKCORE_OPENCL_SUPPORT) extern MagickPrivate Image - *AccelerateAddNoiseImage(const Image*,const NoiseType,ExceptionInfo *), + *AccelerateAddNoiseImage(const Image*,const NoiseType,const double attenuate, + ExceptionInfo *), *AccelerateBlurImage(const Image *,const double,const double,ExceptionInfo *), *AccelerateConvolveImage(const Image *,const KernelInfo *,ExceptionInfo *), *AccelerateDespeckleImage(const Image *,ExceptionInfo *), diff --git a/MagickCore/accelerate.c b/MagickCore/accelerate.c index 53d3c290e..eae2b3bfe 100644 --- a/MagickCore/accelerate.c +++ b/MagickCore/accelerate.c @@ -392,13 +392,13 @@ cleanup: */ static Image *ComputeAddNoiseImage(const Image *image,MagickCLEnv clEnv, - const NoiseType noise_type,ExceptionInfo *exception) + const NoiseType noise_type,const double attenuate,ExceptionInfo *exception) { cl_command_queue queue; cl_float - attenuate; + cl_attenuate; cl_int status; @@ -420,9 +420,6 @@ static Image *ComputeAddNoiseImage(const Image *image,MagickCLEnv clEnv, seed1, workItemCount; - const char - *option; - const unsigned long *s; @@ -518,10 +515,7 @@ static Image *ComputeAddNoiseImage(const Image *image,MagickCLEnv clEnv, number_channels=(cl_uint) image->number_channels; bufferLength=(cl_uint) (image->columns*image->rows*image->number_channels); - attenuate=1.0f; - option=GetImageArtifact(image,"attenuate"); - if (option != (char *) NULL) - attenuate=(float)StringToDouble(option,(char **) NULL); + cl_attenuate=(cl_float) attenuate; i=0; status =SetOpenCLKernelArg(addNoiseKernel,i++,sizeof(cl_mem),(void *)&imageBuffer); @@ -530,7 +524,7 @@ static Image *ComputeAddNoiseImage(const Image *image,MagickCLEnv clEnv, status|=SetOpenCLKernelArg(addNoiseKernel,i++,sizeof(cl_uint),(void *)&bufferLength); status|=SetOpenCLKernelArg(addNoiseKernel,i++,sizeof(cl_uint),(void *)&pixelsPerWorkitem); status|=SetOpenCLKernelArg(addNoiseKernel,i++,sizeof(NoiseType),(void *)&noise_type); - status|=SetOpenCLKernelArg(addNoiseKernel,i++,sizeof(cl_float),(void *)&attenuate); + status|=SetOpenCLKernelArg(addNoiseKernel,i++,sizeof(cl_float),(void *)&cl_attenuate); status|=SetOpenCLKernelArg(addNoiseKernel,i++,sizeof(cl_uint),(void *)&seed0); status|=SetOpenCLKernelArg(addNoiseKernel,i++,sizeof(cl_uint),(void *)&seed1); status|=SetOpenCLKernelArg(addNoiseKernel,i++,sizeof(cl_uint),(void *)&numRandomNumberPerPixel); @@ -564,7 +558,7 @@ cleanup: } MagickPrivate Image *AccelerateAddNoiseImage(const Image *image, - const NoiseType noise_type,ExceptionInfo *exception) + const NoiseType noise_type,const double attenuate,ExceptionInfo *exception) { Image *filteredImage; @@ -582,7 +576,8 @@ MagickPrivate Image *AccelerateAddNoiseImage(const Image *image, if (clEnv == (MagickCLEnv) NULL) return((Image *) NULL); - filteredImage=ComputeAddNoiseImage(image,clEnv,noise_type,exception); + filteredImage=ComputeAddNoiseImage(image,clEnv,noise_type,attenuate, + exception); return(filteredImage); } diff --git a/MagickCore/fx.c b/MagickCore/fx.c index 6560cb54a..8745ae766 100644 --- a/MagickCore/fx.c +++ b/MagickCore/fx.c @@ -301,7 +301,7 @@ MagickExport Image *AddNoiseImage(const Image *image,const NoiseType noise_type, assert(exception != (ExceptionInfo *) NULL); assert(exception->signature == MagickCoreSignature); #if defined(MAGICKCORE_OPENCL_SUPPORT) - noise_image=AccelerateAddNoiseImage(image,noise_type,exception); + noise_image=AccelerateAddNoiseImage(image,noise_type,attenuate,exception); if (noise_image != (Image *) NULL) return(noise_image); #endif